Powershell Befehle in der Konsole

 

Zu Beginn muss für PowerShell nicht immer gleich ein Skript geschrieben werden. Gerade für Administratoren bietet die PowerShell-Konsole eine Möglichkeit bestimmte Tasks über Befehle auszuführen.

Pipe

Befehle die mit "get-" beginnen liefern meist ein oder mehrere Objekte. Als Beispiel liefert der Befehl "get-service" alle Dienste des Computers. "get-service" kann mit dem zusätzlichen Parameter -name zudem auf ein oder mehrere Services eingeschränkt werden. Das Ergebnis der Abfrage kann mit dem Pipe-Symbol "|" an einen anderen Befehl übergeben werden, z.B. start-service:

 get-service -name defragsvc | start-service

get-service übergibt das Ergebnis an den Befehl start-service welcher den Dienst dann startet.

von-bis

PS C:\Users> 1..3
1
2
3

Powershell Pipe von bis Nummer mehrstellig

In PowerShell ist es möglich Foreach-Schleifen für einfache Befehle über eine Pipeline (Pipe) umzusetzen.

Einfache Schleife von-bis mittels Pipe

Mit folgender Schreibweise kann eine einfache Schleife von 1-xx gebildet werden:

PS C:\temp> 1..4 | %{ $_ }
1
2
3
4

"%" ist ein Alias für "foreach", $_ ist die Variable für Werte die über die Pipe "|" übergeben werden.

von-bis mit vorangestellten Nullen (0):

Für das Anlegen mehrere Objekte kann mit -f das Format vorgegeben werden. 

PS C:\temp> 9..11 | %{ write-output $('{0:0000}' -f $_)}
0009
0010
0011

Anstelle von "write-output" können innerhalb der Foreach-Schleife: {} natürlich auch andere Befehle ausgeführt werden. Als konkretes Beispiel könnten eine bestimmte Anzahl an Computer-Objekten in Active-Directory angelegt werden:

PS C:\temp> 1..100 | % { New-ADComputer -Name "TESTPC$('{0:0000}' -f $_)" -SamAccountName "TESTPC$('{0:0000}' -f $_)" -path "OU=Computers,DC=domain,DC=local" }

Der Befehl würde die Computerkonten TESTPC0001 bis TESTPC0100 anlegen.

PS C:\temp> 9..11 | %{ write-output $('{0:0000}' -f $_)}
0009
0010
0011
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare