Я пытаюсь экспортировать список некоторых данных пользователей из Active Directory 2003 с помощью Powershell.
На данный момент мне удается отобразить конкретный список свойств, используя что-то вроде этого:
if ( (Get-PSSnapin -Name Quest.ActiveRoles.ADManagement -ErrorAction SilentlyContinue) -eq $null )
{
Add-PsSnapin Quest.ActiveRoles.ADManagement
}
get-qaduser -company "Company","Consultant" `
-enabled -DontUseDefaultIncludedProperties -IncludedProperties 'givenName','sn','telephoneNumber','mail','company' `
| sort-object `
| format-table givenname,sn,company,telephonenumber,mail `
Однако если я попытаюсь передать вывод в export-csv вместо format-table, я получу все свойства каждого объекта домена.
Если я сделаю что-то вроде следующего:
| format-table givenname,sn,company,telephonenumber,mail `
| export-csv -Delimiter `t -NoTypeInformation -Path c:\scripts\adexport.csv
Я получаю правильное количество строк без данных, за исключением некоторого идентификатора (что имеет смысл, поскольку объект не передается в export-csv, а просто строка текста).
Как экспортировать определенные поля в файл?
Я использую CMDLET-команды PowerShell ActiveDirectory от Quest (http://www.quest.com/powershell/activeroles-server.aspx) для получения данных из AD.
решение1
Вы хотите использовать Select-Object
командлет вместо Format-Table
. Это должно сработать для вас:
| select-object givenname,sn,company,telephonenumber,mail `
| export-csv -Delimiter `t -NoTypeInformation -Path c:\scripts\adexport.csv