我正在尝试使用 Powershell 从 Active Directory 2003 导出一些用户信息列表。
到目前为止,我能够使用类似如下的方法显示特定的属性列表:
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中,只是一行文本)。
如何将特定字段导出到文件?
我正在使用 Quest 的 ActiveDirectory powershell CMDLET(http://www.quest.com/powershell/activeroles-server.aspx)从 AD 获取数据。
答案1
您想使用Select-Object
cmdlet 代替Format-Table
。这应该适合您:
| select-object givenname,sn,company,telephonenumber,mail `
| export-csv -Delimiter `t -NoTypeInformation -Path c:\scripts\adexport.csv