Dateien ansehen, kopieren, löschen und mehr
Unter Windows verwenden die meisten Programme die Registry als Konfigurationsspeicher. Textdateien kommen nur selten zum Einsatz. Wer schnell einen Blick in eine Konfigurationsdatei werfen möchte, verwendet beispielsweise
Get-Content C:\Windows\System32\drivers\etc\hosts |
Die Alias sind cat und type, wie bei Bash beziehungsweise der Eingabeaufforderung. Einen Texteditor für das Terminal gibt es für Windows bisher nicht. Man kann aber WSL nutzen:
wsl nano /mnt/c/Windows/System32/drivers/etc/hosts |
Eine Alternative ist nano aus dem Paket Msys2:
C:\msys64Sr\bin\nano.exe C:\ Windows\System32\drivers\etc\hosts |
Bei diesem Beispiel lässt sich die Datei nur ändern, wenn die Powershell mit administrativen Rechten gestartet wurde.
Mit Copy-Item lassen sich Dateien kopieren (Alias: copy und cp).
Copy-Item [Quelle] [Ziel] |
"[Quelle]" enthält den kompletten Pfad zu einer Datei, für "[Ziel]" reicht ein Ordner aus. Gibt man hier den Pfad plus einen neuen Dateinamen an, wird die Datei mit dem neuen Namen angelegt. Eine in "[Ziel]" bereits vorhandene Datei gleichen Namens wird ohne Rückfrage überschrieben. Die zusätzliche Option "-confirm" ändert daran auch nichts, weil man zwar die Kopieraktion bestätigen muss, aber nichts über vorhandene Dateien erfährt. Besser geht's mit einer etwas komplexeren Konstruktion:
(Test-Path [Quelle]) ? "Datei vorhanden" : (Copy-Item [Quelle] [Ziel]) |
"Test-Path" prüft, ob "[Quelle]" vorhanden ist. Wenn ja, wird der Hinweistext ausgegeben, andernfalls wird die Datei kopiert.
Dateien suchen: Get-ChildItem kennt einige Optionen, die sich für die Suche nutzen lassen.
Der Befehl durchsucht das angegebene Verzeichnis und gibt Dateien aus, deren Namen "Brief" an beliebiger Stelle enthält. "Brief" zeigt Dateien, die mit dem Suchbegriff beginnen, und "Brief" zeigt Dateien, die damit enden. Lassen Sie "-File" weg, damit der Befehl auch Verzeichnisse berücksichtigt. Der Klassiker für die Suche nach Dateinamen in der Eingabeaufforderung laute
dir /s C:\Users[Benutzername]\ Documents*Brief*
Die Option "/s" bewirkt eine rekursive Suche im Ordner nach dem angegebenen Suchmuster.
Get-ChildItem C:\Users[Benutzername]\Documents*.txt -Recurse | Select-String „dummy“ -List
sucht im Inhalt von Textdateien nach der hinter Select-String angegebenen Zeichenkette "dummy" und gibt den Text mit der Fundstelle aus.
Wenn Sie nur den Dateinamen alleine benötigen, hängen Sie " | -Select Path" an.
Powershell-Befehle für System und Hardware
Powershell bietet Cmdlets, mit denen sich Informationen zu System und Hardware ausgeben lassen. Am umfassendsten ist
Get-ComputerInfo
Sie erfahren beispielsweise, welche Windows-Version installiert ist, von wem das Bios stammt und wie die CPU heißt.
Die Ausgabe lässt sich auch filtern. Der Befehl
Get-ComputerInfo -Property "*version"
listet alle Eigenschaften auf, in denen "version" am Ende der Zeile vorkommt.
Einzelne Infos lassen sich gezielt ermitteln:
Get-CimInstance -ClassName Win32_OperatingSystem
Der Befehl gibt die Build-Nummer und Version des installierten Windows aus. Mit
Get-CimClass
können Sie sich alle Werte anzeigen lassen, die für "-ClassName" verfügbar sind. Die Liste ist sehr lang, weshalb ein Filter wie
Get-CimClass -ClassName disk
hilft, alle Einträge zu finden, die etwas mit Festplatten und Laufwerken zu tun haben.
Get-CimInstance -ClassName Win32_DiskDrive
beispielsweise zeigt alle Laufwerke, deren Bezeichnung und Kapazität an.
Winaudit liefert Analysen von System, Software und vielen Bereichen der Hardware. Es bietet eine grafische Oberfläche, lässt sich aber auch über die Kommandozeile steuern. Entpacken Sie das Programm beispielsweise nach "C:\Tools". Starten Sie das Tool zuerst in einer administrativen Powershell mit
C:\Tools\WinAudit.exe
In der grafischen Oberfläche gehen Sie auf "Hilfe -› Winaudit benutzen". Im Abschnitt "10) Command Line Usage" finden Sie eine Übersicht mit den möglichen Optionen. Beenden Sie das Programm. Erzeugen Sie einen Report in der Powershell:
C:\Tools\WinAudit.exe /r=gopm /l=log.txt /f=computer.html
Die Datei "computer.html" liegt danach im Ordner "C:\Tools" und lässt sich im Webbrowser öffnen. Durch die Option "/r =gopm" sind eine Systemübersicht und Infos zu Betriebssystem, Prozessor und Speicher enthalten.
Windows herunterfahren oder neu starten: In der Powershell kann man den PC mit
Stop-Computer
herunterfahren und mit
Restart-Computer
neu starten. Das Kommandozeilentool Shutdown bietet mehr Optionen:
shutdown /s /t 5
fährt den Computer in fünf Sekunden herunter. Der Standard ist 30 Sekunden.
shutdown /r
startet Windows nach 30 Sekunden neu. Nützlich kann
shutdown /r /fw
sein, was einen Neustart durchführt und in das Uefi-Firmware-Setup bootet.