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


Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.