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
Ermitteln der Pfade der SQL-Datenbanken
Um den lokalen Speicherpfad einer SQL-Instanz zu ermitteln, gibt es unterschiedliche Herangehensweisen: Möglichkeit 1: mittels
mount-diskimage unter Windows Server 2012 und Alternativen
Mit folgenden Powershell-Befehlen kann man seit Windows 8 / Windows Server 2012 iso-Files mounten und
Fenster schließen anhand des Fenstertitels
Ziel ist es ein Fenster zu schließen anhand des Fenstertitels. Man muss dabei zwischen Programmen
mehrere virtuelle Maschinen auf unterschiedlichen Hyper-V-Hosts starten
Manchmal brauche ich zur Entwicklung mehrere virtuelle Maschinen, die erst zusammen ein brauchbares Entwicklungssystem ergeben,
verstärkte Internetsicherheit für Administrator deaktivieren
Beim Windows 2008 Server R2 ist standardmäßig die verstärkte Internetsicherheit aktiviert. Aber gerade nach der