
Dmitry Nikolaev - stock.adobe.co
Die wichtigsten PowerShell-Befehle fürs Windows-Management
Sie haben mit PowerShell angefangen oder brauchen eine Auffrischung? In diesem Tipp finden Sie eine Liste der gängigsten PowerShell-Befehle mit Angaben zu deren Verwendung.
Obwohl es Windows PowerShell schon seit einiger Zeit gibt, sind einige Administratoren möglicherweise nicht mit einem PowerShell-Cmdlet vertraut sind. Da Microsoft jedoch den Funktionsumfang der PowerShell erweitert, sollten Administratoren ein Interesse daran haben, die grundlegenden Funktionen der PowerShell zu verstehen.
Sehen wir uns 25 grundlegende PowerShell-Befehle an, mit denen Sie Aufgaben ausführen können. Es sind nicht nur die Aufgaben selbst, sondern auch die Strukturen der Befehle, die die Syntax und Struktur anderer PowerShell-Befehle veranschaulichen. Mit diesen grundlegenden PowerShell-Befehlen sollten Sie auf dem Weg zum Meister sein.
Allgemeine Einträge für den Start mit PowerShell
1.
CD HKCU:
Mit PowerShell können Sie in der Windows-Registrierung wie in einem Dateisystem navigieren.
Der Befehl CD ist ein Überbleibsel aus den Tagen der Diskettenbetriebssysteme (DOS) und steht für Change Directory(Verzeichnis ändern). Obwohl der CD-Befehl in PowerShell funktioniert, ist er kein echter PowerShell-Befehl. Er ist ein Alias oder eine Abkürzung für das Cmdlet Set-Location. HKCU ist eine Abkürzung für HKEY_CURRENT_USER.
2.
Dir -r | Select-String “searchforthis”
Mit diesem Befehl können Sie rekursiv nach Text innerhalb der Dateistruktur suchen, da er die Dateinamen und nicht die Dateiinhalte durchsucht. Durch das -r wird die Suche rekursiv, das heisst PowerShell durchsucht sowohl das aktuelle Verzeichnis als auch Unterverzeichnisse.
Wie der I-Befehl ist auch der Dir-Befehl ein DOS-Überbleibsel. In den Tagen von DOS zeigte der Befehl Dir den Inhalt des aktuellen Ordners an. In PowerShell ist Dir ein Alias für das Cmdlet Get-ChildItem.
3.
Get-Process | Sort-Object -p ws | Select-Object -last 5
Mit diesem Befehl werden die fünf Prozesse ermittelt, die den meisten Arbeitsspeicher verwenden. Mit dem Cmdlet Get-Process wird eine Liste von Prozessen abgerufen, während der Sort-Object-Teil des Befehls PowerShell anweist, die Ergebnisse nach Arbeits-Set-Memory (ws) zu sortieren. Der Select-Object-Teil des Befehls zeigt die fünf besten Ergebnisse an.
4.
Restart-Service DHCP
Mit dem Befehl Restart-Service wird ein Dienst durch Anhalten und anschließendes Neustarten ausgeführt. In diesem Fall wird der Befehl Restart-Service verwendet, um den Dienst Dynamic Host Configuration Protocol (DHCP) neu zu starten.
5.
Get-ChildItem
Das Cmdlet Get-ChildItem listet bei alleiniger Verwendung alle Elemente innerhalb eines Ordners auf.
6.
Get-ChildItem c:\directory -Recurse
Sie können einen Pfad an das Cmdlet Get-ChildItem anhängen, damit PowerShell den Inhalt des angegebenen Ordners anzeigt. Durch Anhängen des Parameters -Recurse zeigt PowerShell auch den Inhalt aller Unterordner an.
7.
Remove-Item C:\ToBeDeleted
Das Cmdlet Remove-Item wird verwendet, um eine Datei oder einen Ordner zu löschen. Beim Löschen eines Ordners können Sie den Parameter -Recurse anhängen, um die Dateien innerhalb des Ordners zu löschen.
8.
Restart Computer
Das Cmdlet Restart-Computer führt einen Neustart des Systems durch. Sie können auch den Parameter -ComputerNameanhängen, um ein entferntes System neu zu starten.
Sammeln von Informationen
9.
Get-WmiObject -Class Win32_ComputerSystem
Dieser Befehl ruft die Marke und das Modell eines Computers ab.
10.
Get-WmiObject -Class Win32_BIOS
Mit diesem Befehl werden Informationen über das BIOS des aktuellen Computers angezeigt, zum Beispiel die Seriennummer und die Version.
11.
Get-Hotfix
Mit dem Befehl Get-Hotfix wird eine Liste der installierten Hotfixes oder technischen Quickfix-Updates angezeigt.
12.
Get-WmiObject -Class Win32_ComputerSystem -Property UserName | Select-Object Username
Mit diesem Befehl wird der Benutzername der Person angezeigt, die an einem Computer angemeldet ist.
13.
Get-WmiObject -Class Win32_Product | Select-Object Name, Vendor
Mit diesem Befehl werden die Namen aller auf dem Computer installierten Anwendungen sowie der Hersteller angezeigt, der jede Anwendung veröffentlicht hat.
14.
Get-NetIPAddress | Select-Object IPAddress
Mit dem Cmdlet Get-NetIPAddress kann eine Liste aller dem Computer zugewiesenen IP-Adressen angezeigt werden.
15.
Get-NetIPAddress
Wenn Sie das Cmdlet Get-NetIPAddress allein verwenden, wird eine detailliertere Zusammenfassung der IP-Adressverwendung des Computers angezeigt. Sie können zu diesem Zweck auch den Befehl IPConfig verwenden.
16.
Get-NetIPAddress | Where-Object {$_.PrefixOrigin -eq 'DHCP'}
Wenn Sie die Ausgabe des Cmdlets Get-NetIPAddress nach PrefixOrigin filtern, können Sie nur die Netzwerkadapter anzeigen, die eine IP-Adresse von einem DHCP-Server beziehen.
17.
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName . | ForEach-Object -Process {$_.EnableDHCP()}
Mit diesem Befehl können Sie DHCP für alle Netzwerkadapter auf dem aktuellen Computer aktivieren.
Befehle für die Software-Verwaltung
18.
Start-Process Setup.msi
Das Cmdlet Start-Process kann zum Starten einer MSI-Datei verwendet werden, die zur Installation einer Softwareanwendung verwendet wird. In diesem Fall wird der Dateiname Setup.msi verwendet, aber Sie können den gewünschten Pfad und Dateinamen ersetzen.
19.
(Get-WmiObject -Class Win32_Product -ComputerName . -Filter „Name=‚Name_der_zu_verbessernden_Anwendung‘“).Upgrade(\\MACHINEWHEREMSIRESIDES\path\upgrade_package.msi)
Mit diesem Befehl können Sie eine installierte Anwendung mit einem MSI-basierten Anwendungs-Upgrade-Paket aktualisieren.
20.
(Get-WmiObject -Class Win32_Product -Filter „Name=‚product_to_remove‘“ -ComputerName . ).Uninstall()
Dieser Befehl kann verwendet werden, um ein MSI-Paket vom aktuellen Computer zu entfernen.
VM-Verwaltung mittels PowerShell
21.
Start-Sleep 60; Restart-Computer -Force -ComputerName TARGETMACHINE
Durch die Kombination des Cmdlets Start-Sleep mit dem Cmdlet Restart-Computer können Sie einen anderen Computer nach einer Minute aus der Ferne herunterfahren.
22.
Add-Printer -ConnectionName \\PrintServer\Printer
Mit diesem Befehl können Sie einen Drucker installieren, indem Sie den Pfad der Universal Naming Convention für den freigegebenen Drucker mit dem Parameter -ConnectionName angeben.
23.
Remove-Printer -Name “printer name”
Mit diesem Befehl wird ein Drucker entfernt. Sie müssen den Ausdruck printer name durch den tatsächlichen Namen des Druckers ersetzen.
24.
Enter-PSSession TARGETMACHINE
Mit dem Befehl Enter-PSSession können Sie eine PowerShell-Sitzung mit einem entfernten Computer aufbauen. Sie müssen die Remote-Verwaltung auf dem externen System aktivieren und über gültige Anmeldeinformationen verfügen.
25.
Invoke-Command -ComputerName Machine1 -FilePath C:\Script\script.ps1
Sie können das Cmdlet Invoke-Command verwenden, um ein PowerShell-Skript oder ein beliebiges PowerShell-Cmdlet auf einem entfernten Computer auszuführen.
Gut zu wissen: Bonus-Befehl
26.
Stop-Process -Prozessname calc*
Mit dem Cmdlet Stop-Process können Sie einen auf Ihrem Computer laufenden Prozess beenden, indem Sie den Namen des Prozesses anhängen, der beendet werden soll. Wenn Sie den vollständigen Prozessnamen nicht kennen oder nicht eintippen möchten, können Sie Platzhalter verwenden.