我正尝试使用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 `
但是,如果我尝试将输出pipe道输出到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 CMDLETs( http://www.quest.com/powershell/activeroles-server.aspx )从AD获取数据。
您想要使用Select-Object cmdletreplaceFormat-Table 。 这应该为你工作:
| select-object givenname,sn,company,telephonenumber,mail ` | export-csv -Delimiter `t -NoTypeInformation -Path c:\scripts\adexport.csv