2017-08-10 1 views
0

Also, ich dieses Skript bekam:Powershell ändert sich die Ausgabe des Skripts

$userName = Read-Host -Prompt 'Input User ID' 
echo "[$userName]" 

$Properties = 
@(
'DisplayName', 
'SamAccountName', 
'Enabled', 
'Created', 
'EmailAddress', 
'title', 
'manager', 
'AccountLockoutTime', 
'Department', 
'Description', 
'Division', 
'LastLogonDate', 
'LockedOut', 
'PasswordLastSet' 
) 

Get-ADUser $userName -Properties $Properties | select $Properties 
Get-ADPrincipalGroupMembership $userName | select name 

Wenn ich nur den letzten Befehl ausführen:

Get-ADPrincipalGroupMembership $userName | select name 

Die Ausgabe lautet:

name   
----   
Domain Users 
blabla 
blabla Users 
IT.BG   
blabla users 

Aber wenn ich das Skript ausführen, wird die Ausgabe geändert in:

name : Domain Users 

name : blabla 

name : blabla Users 

name : blabla 

name : blabla 

name : blabla users 

Kann mir jemand sagen, warum das passiert und wie kann ich das beheben?

+0

nicht sicher, warum dies als Duplikat markiert wurde. Das Duplikat ist das genaue Gegenteil dessen, worum es in der Frage geht. Die Antwort erwähnt nicht einmal "Format-Table", welches das erforderliche Cmdlet ist, um diese Frage zu beantworten! –

+0

@BaconBits Ich habe es als Duplikat markiert, weil das zugrunde liegende Problem dasselbe ist (PowerShell-Standardausgabeformatierung), und ich glaube, meine Antwort auf die andere Frage erklärt, warum es passiert und wie es gemildert werden kann. –

+0

@AnsgarWiechers Ja, und ich denke, das macht es zu einer guten Referenz für die Erläuterung der PowerShell-Standardausgabeverarbeitung, aber keine doppelte Frage. Immerhin [diese Frage] (https://stackoverflow.com/questions/2249619/how-to-format-a-datetime-in-powershell) und [diese Frage] (https://stackoverflow.com/questions/ 9904352/how-to-create-printf-effect-in-powershell) sind keine Duplikate, obwohl sie beide effektiv fragen: "Wie verwende ich den Formatoperator?". Es sollte nur ein Duplikat sein, wenn es die Antwort in der verknüpften Frage vollständig beantwortet, oder? –

Antwort

1

Es sieht so aus, als ob das Ausgabesystem es als Liste anstatt als Tabelle formatiert. Wahrscheinlich liegt es daran, dass die vorherige Zeile die Ausgabe als Liste und nicht als Tabelle formatiert.

Versuchen Sie zwingt ihn, eine Tabelle zu sein:

Get-ADPrincipalGroupMembership $userName | Format-Table -Property name -Autosize 
+0

Es hat funktioniert. Vielen Dank! –

Verwandte Themen