Выгрузка данных о пользователях из AD
Прошу прощения за такую задачу, но нужно срочно (так бы сам разобрался), а с PS я не особенно дружу.
Нужно следующее:
выгрузить пользователей из Active Directory с указанием логина; ФИО; даты создания; статуса учетной записи (включен/отключен); даты последней смены пароля; даты последнего логина.
Выгрузить нужно в csv.
Сколь мне известно в PS это делается едва ли не в один командлет, впрочем если решение будет на другом языке - ни разу не обижусь.
|
пока получилось как-то так
Код:
PROCESS
{
$csvreportfile = "d:\ADUsers.csv"
Import-Module ActiveDirectory
Get-ADUser -server DCname -Properties * -Filter * |
Select-Object @{Label = "Logon Name";Expression = {$_.sAMAccountName}},
@{Label = "Display Name";Expression = {$_.DisplayName}},
@{Label = "Created";Expression = {$_.whenCreated}},
@{Label = "Account Status";Expression = {if (($_.Enabled -eq 'TRUE') ) {'Enabled'} Else {'Disabled'}}},
@{Label = "Last Changed";Expression = {$_.whenChanged}},
@{Label = "Last LogOn Date";Expression = {$_.lastlogondate}} |
Export-Csv -Path $csvreportfile -NoTypeInformation -Encoding utf8
}
Скажите, whenChanged можно считать датой последней смены пароля?
|
whenChanged - нет нельзя, воспользоваться pwdLastSet.
Код:
[datetime]::FromFileTime($_.pwdLastSet)
|
Iska, пробовал, но почему-то они выводились не в том порядке, который я задавал, а в каком-то своем.
Kazun, спасибо, самое то.
конечный вариант:
Код:
PROCESS
{
$csvreportfile = "d:\ADUsers.csv"
Import-Module ActiveDirectory
Get-ADUser -server DCname -Properties * -Filter * |
Select-Object @{Label = "Logon Name";Expression = {$_.sAMAccountName}},
@{Label = "Display Name";Expression = {$_.DisplayName}},
@{Label = "Created";Expression = {$_.whenCreated}},
@{Label = "Account Status";Expression = {if (($_.Enabled -eq 'TRUE') ) {'Enabled'} Else {'Disabled'}}},
@{Label = "Last Changed Password";Expression = {[datetime]::FromFileTime($_.pwdLastSet)}},
@{Label = "Last LogOn Date";Expression = {$_.lastlogondate}} |
Export-Csv -Path $csvreportfile -NoTypeInformation -Encoding utf8
}
|
Цитата:
Цитата Elven
Iska, пробовал, но почему-то они выводились не в том порядке, который я задавал, а в каком-то своем. »
|
Разумеется. См. ниже.
Вы меня не поняли. В:
Цитата:
Цитата Elven
Get-ADUser -server DCname -Properties * »
|
укажите получать не весь огромный перечень свойств. а только потребные. А дальше — всё по Вашему коду.
P.S. Зачем нужен «-Filter *» так же не понял.
|
Время: 02:48.
© OSzone.net 2001-