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-Object
Cmdlet 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