PowerShell ist längst mehr als nur ein Tool für Nerds. Wer Windows-Systeme oder Microsoft Intune verwaltet, kommt um Automatisierung und Skripting nicht herum. Mit den richtigen Befehlen sparst du Stunden an Arbeit, kannst Probleme schneller lösen und Prozesse standardisieren.
In diesem Artikel findest du 100 praktische PowerShell-Skripte, die ich für dich zusammengestellt habe – vom einfachen Anzeigen von Systeminformationen über Benutzerverwaltung bis hin zu Intune-Szenarien.
⸻
Systeminformationen (1–10)
1. Systeminformationen abrufen – Get-ComputerInfo
2. Betriebssystem-Version anzeigen – (Get-CimInstance Win32_OperatingSystem).Caption
3. Installierte Updates anzeigen – Get-HotFix
4. Windows-Aktivierungsstatus prüfen – slmgr /xpr
5. Hardware-Infos (CPU, RAM, BIOS) – Get-CimInstance Win32_ComputerSystem; Get-CimInstance Win32_BIOS
6. Festplattenübersicht – Get-PSDrive -PSProvider FileSystem
7. Netzwerkkarten & IPs anzeigen – Get-NetIPAddress
8. IP-Adresse manuell setzen – New-NetIPAddress -InterfaceAlias “Ethernet0” -IPAddress 192.168.1.50 …
9. Hostname abfragen – $env:COMPUTERNAME
10. Uptime ermitteln – (get-date) – (gcim Win32_OperatingSystem).LastBootUpTime
⸻
Prozesse & Dienste (11–30)
11. Laufende Prozesse anzeigen – Get-Process
12. Prozess beenden – Stop-Process -Name “notepad” -Force
13. Prozess starten – Start-Process “notepad.exe”
14. Prozessdetails mit CPU & RAM – Get-Process | Select-Object Name,Id,CPU,WS
15. Dienste anzeigen – Get-Service
16. Dienst starten – Start-Service -Name “Spooler”
17. Dienst stoppen – Stop-Service -Name “Spooler”
18. Dienst neu starten – Restart-Service -Name “Spooler”
19. Dienst auf Automatisch stellen – Set-Service -Name “Spooler” -StartupType Automatic
20. Dienste nach Status sortieren – Get-Service | Sort-Object Status
21. Remote Dienststatus prüfen – Get-Service -Name “wuauserv” -ComputerName PC123
22. Alle deaktivierten Dienste – Get-Service | Where-Object {$_.StartType -eq “Disabled”}
23. Top-10 Prozesse nach RAM – Get-Process | Sort-Object WS -Descending | Select-Object -First 10
24. Prozess via PID beenden – Stop-Process -Id 1234
25. Offene Ports mit Prozessen – Get-NetTCPConnection | Select LocalAddress,LocalPort,OwningProcess
26. Dienste im Fehlerzustand – Get-Service | Where-Object {…}
27. Ereignisprotokolle ansehen – Get-EventLog -LogName System -Newest 50
28. Fehler im Eventlog suchen – Get-EventLog -LogName Application | Where-Object {$_.EntryType -eq “Error”}
29. Eventlog exportieren – Get-EventLog -LogName System -Newest 200 | Export-Csv C:Logssystem.csv
30. Geplanten Task anlegen – schtasks /create /sc daily /tn “Backup” /tr “C:Scriptsbackup.ps1” /st 23:00
⸻
Benutzer & Active Directory (31–50)
31. Aktuellen Benutzer anzeigen – whoami
32. Lokale Benutzer auflisten – Get-LocalUser
33. Neuen lokalen Benutzer anlegen – New-LocalUser -Name “TestUser” …
34. Benutzer in Gruppe aufnehmen – Add-LocalGroupMember -Group “Administrators” -Member “TestUser”
35. Benutzer aus Gruppe entfernen – Remove-LocalGroupMember …
36. Benutzer deaktivieren – Disable-LocalUser -Name “TestUser”
37. Benutzer aktivieren – Enable-LocalUser -Name “TestUser”
38. Passwort ändern – Set-LocalUser -Name “TestUser” -Password …
39. Gruppen anzeigen – Get-LocalGroup
40. Gruppenmitglieder auflisten – Get-LocalGroupMember -Group “Administrators”
41. Alle AD-Benutzer – Get-ADUser -Filter *
42. Alle AD-Gruppen – Get-ADGroup -Filter *
43. Neuen AD-User anlegen – New-ADUser -Name “Max Mustermann” …
44. AD-User deaktivieren – Disable-ADAccount -Identity “mmustermann”
45. AD-User aktivieren – Enable-ADAccount -Identity “mmustermann”
46. Inaktive AD-User finden – Search-ADAccount -AccountInactive -UsersOnly -TimeSpan 90.00:00:00
47. Gruppenmitgliedschaften abfragen – Get-ADUser -Identity “mmustermann” -Property memberOf
48. Neue AD-Gruppe anlegen – New-ADGroup -Name “IT-Support” …
49. User in Gruppe hinzufügen – Add-ADGroupMember -Identity “IT-Support” -Members “mmustermann”
50. Passwort zurücksetzen – Set-ADAccountPassword -Identity “mmustermann” -Reset -NewPassword …
⸻
Dateien, Ordner & Registry (51–70)
51. Datei kopieren – Copy-Item
52. Datei verschieben – Move-Item
53. Datei löschen – Remove-Item
54. Ordner erstellen – New-Item -ItemType Directory
55. Leere Datei erstellen – New-Item -ItemType File
56. Dateien auflisten – Get-ChildItem
57. Rekursiv durchsuchen – Get-ChildItem -Recurse
58. Nach Endung filtern – Get-ChildItem -Filter *.log
59. Nach Größe sortieren – Get-ChildItem | Sort-Object Length -Descending
60. Alte Logs löschen – Get-ChildItem -File | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item
61. Dateiinhalt anzeigen – Get-Content log.txt
62. Dateiinhalt in neue Datei – Get-Content log.txt | Out-File copy.txt
63. Text in Datei schreiben – “Hallo Welt” | Out-File test.txt
64. Text anhängen – “Neue Zeile” | Add-Content test.txt
65. Registry lesen – Get-ItemProperty HKLM:SOFTWARE…
66. Registry-Eintrag erstellen – New-ItemProperty HKCU:SoftwareTest -Name “Demo” -Value “123”
67. Registry-Eintrag ändern – Set-ItemProperty HKCU:SoftwareTest -Name “Demo” -Value “456”
68. Registry-Eintrag löschen – Remove-ItemProperty HKCU:SoftwareTest -Name “Demo”
69. Ordnerrechte anzeigen – Get-Acl C:Temp
70. Ordnerrechte ändern – Set-Acl mit FileSystemAccessRule
⸻
Netzwerk & Sicherheit (71–85)
71. IP-Konfiguration – ipconfig /all
72. Netzwerkadapter anzeigen – Get-NetAdapter
73. Adapter aktivieren – Enable-NetAdapter -Name “Ethernet0”
74. Adapter deaktivieren – Disable-NetAdapter -Name “Ethernet0”
75. Firewall-Profile – Get-NetFirewallProfile
76. Firewall aktivieren – Set-NetFirewallProfile -Enabled True
77. Firewall-Regeln anzeigen – Get-NetFirewallRule
78. Neue Regel hinzufügen – New-NetFirewallRule -DisplayName “Allow_HTTP” -LocalPort 80 -Action Allow
79. Regel löschen – Remove-NetFirewallRule -DisplayName “Allow_HTTP”
80. Offene Ports anzeigen – Get-NetTCPConnection | Where-Object {$_.State -eq “Listen”}
81. Routen anzeigen – Get-NetRoute
82. Ping-Test – Test-Connection google.com -Count 4
83. Traceroute – Test-NetConnection google.com -TraceRoute
84. DNS-Cache leeren – Clear-DnsClientCache
85. BitLocker-Status – Get-BitLockerVolume
⸻
Intune, Updates & Automatisierung (86–100)
86. Updates suchen – Get-WindowsUpdate
87. Updates installieren – Install-WindowsUpdate -AcceptAll -AutoReboot
88. Update-Historie – Get-WUHistory
89. Defender-Status – Get-MpComputerStatus
90. Defender-Schnellscan – Start-MpScan -ScanType QuickScan
91. Intune: Geräteinfos – Get-IntuneManagedDevice
92. Intune: Compliance-Status – Get-IntuneDeviceCompliancePolicyStatus
93. Intune: Config-Profile – Get-IntuneDeviceConfigurationPolicy
94. Intune: Gerät synchronisieren – Invoke-IntuneManagedDeviceSyncDevice -managedDeviceId
95. Intune: App-Liste – Get-IntuneManagedDeviceApp
96. Geplanter Task per PowerShell – Register-ScheduledTask …
97. Logging starten – Start-Transcript -Path C:Logsscriptlog.txt -Append
98. Logging beenden – Stop-Transcript
99. Dateien komprimieren – Compress-Archive -Path C:Temp* -DestinationPath archive.zip
100. Dateien entpacken – Expand-Archive -Path archive.zip -DestinationPath C:Restore
Fazit
Mit diesen 100 PowerShell-Skripten hast du ein umfassendes Toolkit für den Alltag als Admin:
• Windows-Administration von Prozessen, Diensten und Benutzern
• Active Directory & Intune für modernes Endpoint-Management
• Datei- und Registry-Aufgaben für schnelle Konfiguration
• Netzwerk & Sicherheit für Troubleshooting und Policies
• Automatisierung durch Tasks, Logging und Updates
Speichere dir diese Sammlung als Spickzettel, passe die Skripte auf deine Umgebung an und du wirst schnell merken: PowerShell ist dein bester Admin-Kolleg