使用 powershell 的 export-csv 导出特定字段

使用 powershell 的 export-csv 导出特定字段

我正在尝试使用 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-Objectcmdlet 代替Format-Table。这应该适合您:

| select-object givenname,sn,company,telephonenumber,mail `
| export-csv -Delimiter `t -NoTypeInformation -Path c:\scripts\adexport.csv

相关内容