Exportieren bestimmter Felder mit Powershells „export-csv“

Exportieren bestimmter Felder mit Powershells „export-csv“

Ich versuche, mithilfe von Powershell eine Liste mit einigen Benutzerinformationen aus Active Directory 2003 zu exportieren.

Bisher kann ich die spezifische Liste der Eigenschaften etwa folgendermaßen anzeigen:

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 `

Wenn ich jedoch versuche, die Ausgabe an „export-csv“ statt an „format-table“ weiterzuleiten, erhalte ich alle Eigenschaften jedes Domänenobjekts.

Wenn ich so etwas mache wie das Folgende:

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

Ich erhalte eine korrekte Zeilenanzahl ohne Daten, außer einer Kennung (was Sinn macht, da das Objekt nicht an den Export-CSV übergeben wird, sondern nur eine Textzeile).

Wie kann ich die spezifischen Felder in eine Datei exportieren?

Ich verwende Quests ActiveDirectory Powershell CMDLETs (http://www.quest.com/powershell/activeroles-server.aspx), um die Daten aus AD abzurufen.

Antwort1

Sie möchten das Select-ObjectCmdlet anstelle von verwenden Format-Table. Das Folgende sollte für Sie funktionieren:

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

verwandte Informationen