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 `

ただし、出力を format-table ではなく export-csv にパイプしようとすると、各ドメイン オブジェクトのすべてのプロパティが取得されます。

次のようなことをすると:

    | 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の代わりに コマンドレットを使用しますFormat-Table。これは機能するはずです:

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

関連情報