2016-12-28 5 views
0

мне нужно, чтобы получить включенных и отключенных пользователей отдельно с этими свойствами:Экспорт Enabled и инвалидов AD пользователей (в двух разных файлах) в формате CSV с Powershell

  • Полное имя
  • отображаемое_имя
  • EmailAddress
  • Описание
  • AccountStatus

Но у меня есть проблема с вводом правильных свойств при извлечении отключенных пользователей. Можете ли вы проверить и исправить сценарий ниже? Кроме того, мне нужно получить разрешенных пользователей с теми же свойствами. только

Import-Module ActiveDirectory 
Search-ADAccount –AccountDisabled -UsersOnly | 
    Select -Property Name,SamAccountName,EmailAddress | 
    Export-Csv "C:\\DisabledADUsers.csv" -NoTypeInformation -Encoding UTF8 

ответ

0

Search-ADAccount возвращает подмножество свойств пользователей. Pipe результаты поиска через Get-ADUser, чтобы получить все свойства и ограничить вывод через `Select-Object:

$props = 'Name', 'DisplayName', 'EmailAddress', 'Description', 'Enabled' 

Search-ADAccount –AccountDisabled -UsersOnly | 
    Get-ADUser -Properties $props | 
    Select $props | 
    Export-Csv "C:\\DisabledADUsers.csv" -NoTypeInformation -Encoding UTF8 

Помните, что нет никаких свойств/атрибутов«Полное имя»или«AccountStatus». Если вы хотите создавать собственные свойства, вам необходимо создать их как calculated properties.

Search-ADAccount –AccountDisabled -UsersOnly | 
    Get-ADUser -Properties Name,DisplayName,EmailAddress,Description,Enabled | 
    Select-Object @{n='Full Name';e={$_.Name}}, 
     DisplayName, EmailAddress, Description, 
     @{n='AccountStatus';e={@('Disabled','Enabled')[([int]$_.Enabled)]}} | 
    ... 

Однако, так как вы хотите, включенных и отключенных пользователей (только в отдельных файлах), нет никакого смысла в перечислении их по отдельности. Просто позвоните Get-ADUser и добавьте результаты в соответствующий файл.

Get-ADUser -Filter * -Properties Name,DisplayName,EmailAddress,Description,Enabled | 
    Select-Object @{n='Full Name';e={$_.Name}}, 
     DisplayName, EmailAddress, Description, 
     @{n='AccountStatus';e={@('Disabled','Enabled')[([int]$_.Enabled)]}} | 
    ForEach-Object { 
     $csv = '{0}ADUsers.csv' -f $_.AccountStatus 
     $_ | Export-Csv $csv -Append -NoType -Encoding UTF8 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^