Einführung in Powershell
Was ist Powershell?
Geschichte und Versionen
Unterschied zwischen PowerShell und anderen Skriptsprachen
Grundlagen der PowerShell-Syntax
- Zusammenfassung: Grundlagen der Powershell-Syntax
Variablen und Datentypen
- Variablen
- Umgebungsvariablen | Umgebungsvariablen in Powershell und Python
- Array – HashTable – Object – List (Comparison)
- Arrays
- HashTables
Powershell Objekte
- Powershell Objekte
- PowerShell: Objekte, Objekteigenschaften und –Methoden, Objektverarbeitung
- Powershell Pipeline zB Get-Process | Where-Object { $_.name -eq “iexplore” } | Format-Table ProcessName, WorkingSet
- Filtern von Objekten: Where-Object
- Sortieren von Objekten: Sort-Object
- Custom Object – PSCUSTOMOBJECT
Operatoren
- Arithmetische Operatoren
- Vergleichsoperatoren
- Logische Operatoren
- Bitweise Operatoren
Kontrollstrukturen
- Bedingte Anweisungen (if, elseif, else)
- Schleifen (for, foreach, while, do-while)
Funktionen und Skriptblöcke
- Funktionen erstellen und aufrufen
- Parameter in Funktionen
- Rückgabewerte und Ausgabewerte
- Skriptblöcke und Closure
Fehlerbehandlung und Debugging
- Fehlerbehandlung mit try, catch und finally
- Fehleraktionen und $ErrorActionPreference
- Debugging-Techniken (Breakpoints, Write-Debug, Write-Verbose)
Module und Skripte
- Module erstellen und importieren
- Skripte erstellen und ausführen
- Skriptparameter und Argumente
- Skript und Rückgabeparameter
Ausführung
Scheduling of PowerShell Scripts
Sonstige interessante Themen
Umgang mit Uhrzeiten
Zeitspanne / Zeitdifferenz
Dateien / Ordner – Filesystem
Best Practices und Sicherheitsaspekte
- Code-Organisation und -Struktur
- Kommentare und Dokumentation
- Sicherheitsaspekte (Ausführungsrichtlinien, Signierung von Skripten)
Spezialgebiete
Gebiet | Standard | Modul (falls notwendig) | Integrierte Version | Details |
---|---|---|---|---|
Active Directory | Nein | ActiveDirectory | N/A | |
DHCP | Nein | DhcpServer | N/A | |
SQL Server | Nein | SqlServer | N/A | |
Hyper-V | Nein | Hyper-V | N/A | |
Exchange Server | Nein | Exchange | N/A | |
SharePoint | Nein | SharePoint | N/A | |
Office 365 | Nein | MSOnline | N/A | |
Azure | Nein | Az | N/A | |
IIS (Internet Information Services) | Nein | WebAdministration | N/A | |
File Server | Ja | N/A | Windows Server 2008 R2 | |
DNS Server | Nein | DnsServer | N/A | |
Failover Clustering | Ja | N/A | Windows Server 2008 R2 | |
Windows Event Logs | Ja | N/A | PowerShell v2.0 | 1| |
Registry | Ja | N/A | PowerShell v2.0 | |
System Center | Nein | SystemCenter | N/A | |
Configuration Manager | Nein | ConfigurationManager | N/A | |
VMware vSphere | Nein | VMware.PowerCLI | N/A | |
Amazon Web Services (AWS) | Nein | AWSPowerShell | N/A | |
DSC (Desired State Configuration) | Ja | N/A | PowerShell v4.0 | |
Windows Storage Spaces | Ja | N/A | Windows Server 2012 | |
WMI (Windows Management Instrumentation) | Ja | N/A | PowerShell v2.0 | |
Office 365-Reporting | Nein | Office365DSC | N/A | |
Windows Server Backup | Nein | WindowsServerBackup | N/A | |
NFS (Network File System) | Ja | N/A | Windows Server 2012 R2 | |
DirectAccess | Nein | DirectAccessClientComponents | N/A | |
Windows Updates | Nein | PSWindowsUpdate | N/A | |
Remote Desktop Services | Nein | RemoteDesktopServices | N/A | |
Terminal Services | Nein | TerminalServices | N/A | |
SCOM (System Center Operations Manager) | Nein | OperationsManager | N/A | |
SMB (Server Message Block) | Ja | N/A | Windows Server 2012 | |
Windows Firewall | Ja | N/A | PowerShell v2.0 | |
SSIS (SQL Server Integration Services) | Nein | SqlServer | N/A | |
SSAS (SQL Server Analysis Services) | Nein | SqlServer | N/A | |
SSRS (SQL Server Reporting Services) | Nein | ReportingServicesTools | N/A | |
Power BI Server (On-Premises) | Nein | PowerBIRestApi | N/A | |
Power BI Cloud | Nein | MicrosoftPowerBIMgmt | N/A | |
Azure Form Recognizer | Nein | Az.CognitiveServices | N/A | |
Power Apps | Nein | Microsoft.PowerApps.PowerShell | N/A | |
Microsoft Flow (Power Automate) | Nein | Microsoft.PowerPlatform.Dataverse.Client | N/A |
Blog Posts
Monitoring of Software-Raid “Raid-5” with powershell
In einem meiner Server verwende ich eine Software RAID-5 von Windows, welches ich überwachen möchte
Windows Disk ‘CanPool” = False/True
Mir ist nach dem Austausch einer Festplatte aufgefallen, dass eine Festplatte bei “get-physicaldisk” als CanPool
PSCustomObject
Was ist ein Custom Object Ein Custom Object erlaubt es Benutzern Daten zu organisieren und
XML FÜR SETTINGS IN POWERSHELL SKRIPTEN NUTZEN
Gewisse Einstellungen möchte man nicht immer beim Start eines Skripte eingeben müssen, aber auch nicht
EMAIL SENDEN MIT DER POWERSHELL UND GMAIL
Ein Mail mit der Powershell zu versenden ist, nicht so einfach, wie man glauben möchte.
HYPER-V RESTART IF NOT RUNNING
Ich hatte heute mal wieder das Problem, dass eine VM, die recht wichtig für ein