Войти

Показать полную графическую версию : [решено] Помощь в скрипте, чистка лишней информации при выводе в csv


Fantastish
17-12-2018, 11:34
Доброго времени суток!
Прошу оказать помощь с такой вот задачей, тк огромными знаниями не обладаю.
Задача требуется вывести данные из AD с фильтрами, с этим проблем нет, но вот вывести их в удобочитаемом виде для дальнейшей передачи, не получается, а именно, это касается двух Атрибутов.
- whenCreated - из данного атрибута требуется, только дата с формате DD.MM.YYYY
- manager - из данного атрибута требуется, только значение Иванов Иван Иванович без доп. описания, "CN=Иванов Иван Иванович,OU=Руководство,OU=DomainUsers,OU=user,DC=exp,DC=local""



Import-Module ActiveDirectory
$prop = Write-Output whenCreated samaccountname mail displayname title department manager telephoneNumber streetAddress physicalDeliveryOfficeName l
Get-ADUser -Filter {(l -ne "null") -and (department -ne "null")-and (title -ne "null") -and (displayname -ne "null") -and (mail -ne "null") -and (Enabled -eq "True")} -SearchBase "DC=expertiza,DC=ru" -Properties $prop | Select $prop |
Export-Csv D:\users_filters.csv -NoTypeInformation -Encoding UTF8

Kazun
17-12-2018, 11:49
Добавить строку
$props = Write-Output @{n="whencreated";e={$_.whenCreated.ToString("dd.MM.yyyy")}} samaccountname mail displayname title department @{n="manager";e={(Get-ADUser $_.manager).Name}} telephoneNumber streetAddress physicalDeliveryOfficeName


Select $prop изменить на Select $props

Fantastish
17-12-2018, 12:07
Благодарю!
Еще консультационный вопрос, можно ли в фильтре, сразу указать, чтобы он исключал целый список исключений в одном параметре?
примерно такого вида (title -notlike "Оператор ВКС")

Elven
17-12-2018, 12:30
почему нет?
-Filter 'title -notlike "Оператор ВКС" -and title -notlike "не Оператор ВКС"'

Kazun
17-12-2018, 12:31
Можно:
title -notlike "*Оператор ВКС*"

Fantastish
17-12-2018, 12:50
понятно, те просто перебором не нужных, а если например в начале логина, есть цифра, какая нибудь от 0 до 9, можно такие логины отфильтровать?

Kazun
17-12-2018, 14:13
Такие запросы лучше фильтровать с помощью командлета Where-Object:
.... | Where-Object {$_.SamAccountName -notmatch "^[0-9]"} | ...

Fantastish
17-12-2018, 15:04
Прошу подсказать неграмотному, в каком именно месте требуется его добавить =(




© OSzone.net 2001-2012