2016-12-29 1 views
0

Ich habe die härteste Zeit, die folgende Ausgabe von Powershell zu erhalten. Die Konsole stoppt nur an dem blinkenden Cursor wie der Befehl ausgeführt wird, aber ich warte 20 Minuten oder so, und ich habe immer noch keine Ausgabe, sowohl in der Powershell-Konsole, als auch wenn ich versuche, als CSV zu exportieren. Ich verwende den folgenden Befehl:Powershell-Befehl, um Benutzer mit abgelaufenen Passwörtern im nächsten Monat oder 30 Tagen zu erhalten?

Search-ADAccount -AccountExpiring -DateTime "01/29/2017" | where {$_.ObjectClass -eq 'user'} | FT Name,ObjectClass -A | Export-Csv C:\temp 

Könnte jemand helfen? Ich habe das Internet ohne Erfolg durchforstet.

+2

Versuchen Sie es erneut ohne 'FT-Name, Object -A |' – restless1987

+1

Sie sollten nicht nur die 'Format-table' beseitigen, haben Sie nicht die angegebene Dateiname, den Sie denken, dass Sie haben. – alroc

Antwort

1

Sie verwenden format-table unangemessen. Verwenden Sie keineFormat-* Cmdlets, wenn Sie die Daten nach diesem Punkt verarbeiten müssen - Formatierung macht das unmöglich. Speichern Sie immer die Formatierung für das Ende und nur für die Benutzerpräsentation.

Auch Sie gehen mit einer Datei in Ihrem C:\ Stammverzeichnis am Ende genannt temp, die als CSV-Datei nicht vollständig nutzbar ist, zumindest von Excel und anderen Lesern, da zusätzliche Informationen von Export-CSV eingefügt werden werden . Dies wird durch den Schalter -notypeinformation beseitigt.

Zusätzlich können Sie dies beschleunigen, indem Sie den -UsersOnly Schalter für Search-ADAccount spezifizieren und Überspringen der where-object Schleife - die Pipeline ist wirklich nützlich, aber Konstrukte wie diese kann es verlangsamen. Filtern Sie Ihre Daten so weit wie möglich nach links, und wenn Sie dies innerhalb eines Cmdlets tun können, das einen Filter anbietet, tun Sie es dort.

Korrigierte Skript, das sollte funktionieren wie erwartet:

Search-ADAccount -AccountExpiring -DateTime "01/29/2017" -UsersOnly | select-object -Property Name,ObjectClass | Export-Csv C:\temp\expiring.csv -NoTypeInformation; 
Verwandte Themen