Überprüfen, aktualisieren und wählen Sie eine PowerShell-Version
Oct 23, 2024
PowerShell hat sich von Windows-only (5.1) zu cross-platform PowerShell 7 entwickelt, basierend auf .NET für Windows, macOS und Linux. Die Kenntnis Ihrer Version ist entscheidend für Kompatibilität, Sicherheit und Zugang zu modernen Funktionen wie paralleler Verarbeitung. Überprüfen Sie Ihre Version mit $PSVersionTable.PSVersion oder Registrierungsabfragen. Windows PowerShell 5.1 bleibt vorinstalliert, aber PowerShell 7 muss manuell über Microsoft Store, Winget oder MSI installiert werden. Das parallele Betreiben beider Versionen hilft dabei, sowohl alte als auch moderne Arbeitsabläufe zu pflegen.
Sie möchten vielleicht wissen, welche PowerShell-Version auf Ihrem Rechner installiert ist. Während Anfänger vielleicht in der Systemsteuerung unter Programme nach der PowerShell-Version suchen, ist es oft eine Enttäuschung, wenn sie PowerShell dort nicht als Programm finden. Stattdessen müssen Sie auf andere Methoden zurückgreifen, um die PowerShell-Version zu ermitteln.
Dieser Artikel bietet eine umfassende Anleitung zum Überprüfen der PowerShell-Version, die Sie verwenden.
Windows PowerShell-Skripting-Tutorial (PDF) für Anfänger
Erfahren Sie mehrEinführung in PowerShell-Versionen
PowerShell hat sich von einem Windows-Verwaltungstool zu einer vielseitigen Shell entwickelt, die plattformübergreifend eingesetzt werden kann. Insbesondere PowerShell Core 6.x und PowerShell 7.x haben es zu einem leistungsfähigen, plattformübergreifenden Automatisierungs- und Skript-Framework gemacht.
Entwicklung der PowerShell-Versionen von 1.0 bis 7.x
Im Jahr 2006 startete Microsoft PowerShell 1.0 als Teil des .NET-Frameworks für das Windows-Betriebssystem, einschließlich Windows XP (SP2), Windows Server 2003 (r2 SP1) und Windows Vista. Es führte Cmdlets wie Get-Process und Get-Service ein und wurde entworfen, um Aufgaben in Windows-Umgebungen zu automatisieren.
Version | Beschreibung |
|---|---|
|
PowerShell 2.0 |
PowerShell 2.0 erschien im Jahr 2009. Unter anderem führte es Remoting (über WinRM) ein, um Befehle auf entfernten Maschinen auszuführen, sowie die Integrated Scripting Environment (ISE)-Anwendung. |
|
PowerShell 3.0 |
PowerShell 3.0, veröffentlicht im Jahr 2012, führte Workflows, neue Cmdlets und geplante Aufgaben für die Automatisierung von Tasks ein. |
|
PowerShell 4.0 |
PowerShell 4.0 (2013), 5.0 (2016) und 5.1 (2016) brachten Verbesserungen bei Cmdlets, Leistung und DSC. Klassen und Enums wurden der Skriptsprache hinzugefügt. Mit PowerShell 5.1 gab es eine Hinwendung zu Open-Source und PowerShell Core. |
|
PowerShell Core 6.x |
Dann wurde PowerShell Core 6.x (2018) quelloffen gemacht und auf GitHub verschoben. Es war plattformübergreifend und lief auf Windows, macOS und Linux. Nicht nur das, es wurde auch für heterogene Umgebungen und die Hybrid-Cloud entwickelt. |
|
PowerShell 7.x |
PowerShell 7.x (2020) ist die aktuellste Version. Sie vereint Windows PowerShell und PowerShell Core in einem einzigen Versionsstrom, unterstützt Pipeline-Parallelisierung und verbessert unter anderem die Fehlerbehandlung. |
Warum die korrekte PowerShell-Version identifizieren
Bevor Sie PowerShell für Ihre alltäglichen Aufgaben verwenden, stellen Sie sich vielleicht die Frage, welche Version von PowerShell habe ich? Eine Antwort auf diese Frage zu haben ist wichtig, denn Ihre PowerShell-Version bestimmt, welche Cmdlets und Funktionen Sie verwenden können. Aus diesem und vielen anderen Gründen müssen Sie erkennen, welche PowerShell-Version Sie benötigen, um Ihre Aufgaben zu verwalten.
- Kompatibilität. Einige Skripte oder Module benötigen spezifische Cmdlets oder Funktionen, die nur in der neuesten PowerShell-Version verfügbar sind. Moderne PowerShell-Versionen unterstützen ältere Skripte, jedoch mit Veraltenswarnungen für überholte Funktionen.
- Genauigkeit in den Ergebnissen. Einige PowerShell-Versionen liefern möglicherweise nicht die genauen Ergebnisse, die Sie suchen, wie zum Beispiel, wenn Sie eine bestimmte Anforderung oder Voraussetzung erfüllen müssen, um einen Befehl auszuführen oder ein Modul zu laden.
- Plattformübergreifende Unterstützung. Für Linux oder macOS benötigen Sie PowerShell Core oder PowerShell 7.x.
- Erweiterte Funktionen. Ältere Versionen unterstützen nicht die neuesten Funktionen, wie Pipeline-Parallelität, ?? (Null-Coalescing-Operator) und ForEach-Object -Parallel, die in PowerShell 7.x verfügbar sind.
- Cloud- und DevOps-Integration. Neuere PowerShell-Versionen bieten verbesserte Integrationsmöglichkeiten mit Cloud-Plattformen wie Azure, AWS, DevOps-Tools und CI/CD-Pipelines, die das Cloud-basierte Management erleichtern.
- Sicherheitsanforderungen. Die neuesten PowerShell-Versionen werden aus Sicherheits- und Compliance-Gründen empfohlen.
- Einrichtung der Umgebung. Um Werkzeuge oder Automatisierungen in der gesamten Umgebung zu verwenden, hilft die Kenntnis der Version dabei, Kompatibilität über Systeme hinweg sicherzustellen.
Weitere PowerShell-Inhalte, die Ihnen gefallen könnten:
Unterschiede zwischen Windows PowerShell und PowerShell Core
Wesentliche Unterschiede zwischen Windows PowerShell und PowerShell Core sind:
Feature | Windows PowerShell | PowerShell Core |
|---|---|---|
|
Platform |
Nur für Windows |
Plattformübergreifend (Windows, macOS, Linux) |
|
Version |
Letzte Hauptversion: 5.1 |
Laufende Veröffentlichungen (7.x und darüber hinaus) |
|
Framework |
Basierend auf .NET Framework |
Basierend auf .NET Core (jetzt .NET) |
|
Release-Modell |
Nur Fehler-/Sicherheitskorrekturen |
Aktive Entwicklung mit neuen Funktionen |
|
Installation |
Ist vorinstalliert mit Windows OS |
Muss separat von GitHub oder Paketmanagern heruntergeladen werden |
|
Abwärtskompatibilität |
Enge Integration mit Windows (z. B. WMI, COM) |
Könnte über begrenzte, spezifische Funktionen für Windows verfügen |
|
Leistung |
Schneller in einigen Windows-nativen Szenarien |
Bessere Leistung auf mehreren Plattformen |
|
Modulkompatibilität |
Unterstützt viele Legacy-Module |
Einige ältere Module sind möglicherweise nicht kompatibel |
|
Cloud-/Container-Unterstützung |
Begrenzte Unterstützung für Container und Cloud-Umgebungen |
Bessere Unterstützung für Container und Cloud |
|
Open Source |
Proprietär |
Open-Source (MIT-Lizenz) |
Wenn Sie veraltete, spezifisch für Windows entwickelte Funktionen oder Module verwenden, ist Windows PowerShell die bessere Wahl. Für plattformübergreifende Entwicklung und cloud-basierte Workflows eignet sich PowerShell Core am besten.
So überprüfen Sie die PowerShell-Version
Es ist aus verschiedenen praktischen Gründen wichtig, die installierte Version von PowerShell zu kennen, da Ihre Version bestimmt, welche Cmdlets und Funktionen zur Verfügung stehen. Unterschiedliche Versionen können unterschiedliche Unterstützung für verschiedene Skripte, Module und Plattformen bieten. Für reibungslose PowerShell-Operationen müssen Sie die von Ihnen verwendete PowerShell-Version, ihre Einschränkungen und ihre Kernfunktionen kennen.
Wie man die PowerShell-Version überprüft, ist eine einfache Aufgabe. Der einfachste Weg, die PowerShell-Version zu überprüfen, ist über PowerShell selbst. Sie können beispielsweise die verwendete PowerShell-Version über die PSVersionTable.PSVersion oder das Get-Host-Cmdlet anzeigen.
PowerShell-Version-Befehl: $PSVersionTable.PSVersion
Dies ist die zuverlässigste Methode, um Ihre PowerShell-Version zu ermitteln, da sie speziell Informationen über die Version der PowerShell-Engine zurückgibt.
$PSVersionTable.PSVersion
Dieses Cmdlet zeigt die Haupt-, Neben- und Build-Version (Patch) der installierten PowerShell an. Die Revisionsnummer wird angezeigt, falls zutreffend.
Wenn Sie mehr Details als nur die Version anzeigen möchten, versuchen Sie das folgende Cmdlet:
$PSVersionTable
$PSVersionTable zeigt neben der Version auch mehrere umgebungsspezifische Eigenschaften.
- PSVersion – Zeigt die PowerShell-Version an
- PSEdition – Zeigt an, ob es sich um Desktop (Windows PowerShell) oder Core (PowerShell Core / PowerShell 7+) handelt
- WSManStackVersion – Zeigt die Version von WS-Management (verwendet für Remoting)
- PSRemotingProtocolVersion – Version des Remoting-Protokolls
- SerializationVersion – Wird verwendet, um die Kompatibilität mit älteren Versionen für Remote-Sitzungen zu gewährleisten
So ermitteln Sie die PowerShell-Version mit dem Get-Host-Befehl
Ein Host ist ein Programm, das die PowerShell-Engine hostet. Und Sie können einen Host mit einer Version haben, die unabhängig von PowerShell ist.
Das folgende Cmdlet gibt die PowerShell-Version aus, die Sie verwenden, aber diese Version kann ungenau sein, da sie die Host-Version und nicht die Engine-Version widerspiegelt.
Get-Host
Häufig entspricht die PowerShell-Version der des Hosts. Zusätzlich zur Hostversion zeigt dieses Cmdlet auch den Namen des Hosts, die aktuelle Kultur und die UI-Kultur an.
Der Befehl Get-Host funktioniert nicht remote und gibt immer die Version 1.0.0.0 zurück.
$Host und $Host.Version Befehle
$host ist eine automatische Variable, die dieselben Informationen wie das Get-Host-Cmdlet anzeigt.
$host
Wenn Sie nach der PowerShell-Version suchen, wird $host aus denselben Gründen wie Get-Host nicht empfohlen. Das Gleiche gilt für $host.Version.
$host.Version
Es zeigt die Version der Host-Anwendung an, die die aktuelle PowerShell-Sitzung ausführt, allerdings in einem anderen Format.
Registrierungseditor
Sie können die PowerShell-Version über den Registrierungseditor auf eine der folgenden Arten überprüfen:
- Verwenden Sie das Cmdlet Get-ItemProperty, um die Registrierung nach der installierten PowerShell-Version zu durchsuchen.
- Öffnen Sie den Registrierungseditor und lokalisieren Sie manuell die Pfade für die PowerShell-Versiondetails.
Über Cmdlets
Für PowerShell-Version 5
Sie können den PowerShellVersion-Registrierungsschlüssel mit dem Cmdlet ‘Get-ItemProperty’ anzeigen. Es ist wie folgt:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
Für PowerShell-Version 7
Wenn Sie PowerShell 7 oder höher installiert haben, verwenden Sie das folgende Cmdlet:
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\PowerShellCore' | Select-Object -Property PSVersion
Ausgewählte verwandte Inhalte:
Manuelle Methode
Sie können die PowerShell-Konfiguration und Versionsinformationen im Registrierungseditor erhalten.
Für PowerShell-Version 5
Im Registrierungseditor erweitern Sie Computer > HKEY-LOCAL-MACHINE > SOFTWARE > Microsoft > PowerShell >3 > PowerShellEngine. Im angrenzenden Bereich finden Sie Informationen einschließlich der PowerShell-Versionnummer.
Für PowerShell-Version 7
Wenn Sie PowerShell 7 installiert haben, gehen Sie im Registrierungseditor zum folgenden Pfad, um die Version zu überprüfen:
Computer > HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > PowerShellCore > InstalledVersions > 31ab5147-9a97-4452-8443-d9709f0516e1
Fortgeschrittene Techniken zur Versionsidentifikation
PowerShell-Version auf Remote-Systemen finden
Voraussetzungen
Die folgenden Voraussetzungen müssen erfüllt sein, bevor Sie die PowerShell-Version auf einem entfernten Rechner überprüfen können.
- Windows Management Framework (WMF) ist auf dem entfernten Rechner installiert und aktiviert.
- WinRM (Windows Remote Management) ist sowohl auf dem lokalen als auch auf dem entfernten Rechner konfiguriert und in Betrieb.
Führen Sie 'winrm quickconfig' aus, um einen Rechner für den Fernzugriff über PowerShell vorzubereiten. - Sie haben die erforderlichen Berechtigungen auf dem entfernten Rechner.
Überprüfen Sie die PowerShell-Version auf einem entfernten Rechner
Verwenden Sie das Invoke-Command-Cmdlet mit $PSVersionTable, um die auf einem entfernten Computer installierte PowerShell-Version zu überprüfen.
Invoke-Command `
-ComputerName WS16-DC1 `
-ScriptBlock { $PSVersionTable.PSVersion } `
-Credential $cred
Hinweis:
- In diesem Befehl ersetzen Sie den ComputerNamen (WS16-DC1) durch Ihren spezifischen Computernamen und die unten stehenden Anmeldeinformationen $cred durch einen gültigen Benutzernamen und ein gültiges Passwort.
- Durch die Verwendung von Kommas zur Trennung von Werten können Sie mehrere Remote-Computer gleichzeitig effektiv verwalten.
In dem oben genannten Cmdlet:
- Invoke-Command wird verwendet, um Befehle auf einem entfernten Computer auszuführen.
- ComputerName WS16-DC1 gibt den Namen des entfernten Computers an (in diesem Fall WS16-DC1).
- ScriptBlock {$PSVersionTable.PSVersion} ist der Skriptblock, der auf dem entfernten Computer ausgeführt wird, um die PowerShell-Versioninformationen abzurufen.
- Credential $cred gibt die Anmeldeinformationen an, um sich auf dem entfernten Computer zu authentifizieren, wobei $cred ein Objekt ist, das gültige Anmeldeinformationen enthält (wie Benutzername und Passwort).
Vergleich der PowerShell-Versionen über Windows-Betriebssysteme hinweg
Diese Tabelle listet die vorinstallierten PowerShell-Versionen verschiedener Windows-Betriebssysteme auf:
PowerShell-Version | Veröffentlichungsdatum | Windows OS Standardmäßig unterstützt |
|---|---|---|
|
PowerShell 1.0 |
November 2006 |
Windows Server 2003 SP1 |
|
PowerShell 2.0 |
Oktober 2009 |
Windows Server 2008 R2 |
|
PowerShell 3.0 |
September 2012 |
Windows Server 2012 |
|
PowerShell 4.0 |
Oktober 2013 |
Windows Server 2012 R2 |
|
PowerShell 5.0 |
Februar 2016 |
Windows Server 2016 |
|
PowerShell 5.1 |
August 2016 |
Windows Server 2016 |
|
PowerShell Core 6.0 |
Januar 2018 |
Windows Server 2012 R2 |
Quelle: https://superops.com/powershell-version
PowerShell 5.1 ist die letzte Version, die standardmäßig auf Windows-Clients und -Servern installiert ist. Sie wurde von PowerShell Core (jetzt PowerShell 7) abgelöst, welches ein separates Produkt ist. Es ist nicht vorinstalliert, sondern muss manuell installiert werden.
Die Installation einer neueren Version ersetzt nicht die standardmäßig vorinstallierte Version. Zum Beispiel können PowerShell 7.x und Windows PowerShell 5.1 nebeneinander existieren.
Ausgewählte verwandte Inhalte:
Aktualisieren oder installieren Sie neuere PowerShell-Versionen
Um bei Windows PowerShell 5.1 in Windows 10 und 11 auf dem neuesten Stand zu bleiben, führen Sie immer Systemupdates durch, um Ihren PC aktuell zu halten.
PowerShell Core (Version 7) ist ein anderes Produkt als Windows PowerShell und muss manuell über eine der folgenden Methoden installiert werden:
- Laden Sie die Installationsdatei herunter und führen Sie sie aus
- Führen Sie einen Befehl über PowerShell auf Ihrem Computer aus
Als Empfehlung sollten Sie sowohl Windows PowerShell als auch PowerShell Core auf Ihrem Computer behalten, um das Beste aus PowerShell herauszuholen. Beachten Sie, dass ältere Skripte möglicherweise nicht in neueren Versionen funktionieren und aktuelle Skripte möglicherweise nicht in älteren Versionen laufen.
Sie können eine neuere Version von PowerShell auf eine dieser Arten herunterladen und installieren.
Installieren Sie PowerShell über den Microsoft Store
Öffnen Sie auf Windows 10 und Windows 11 den Microsoft Store und suchen Sie nach PowerShell.
Die neueste Version der PowerShell-App wird in den Suchergebnissen als PowerShell (veröffentlicht von Microsoft Corporation) aufgeführt. Klicken Sie darauf, um die Details zu sehen, wo Sie auch auf Get klicken können, um sie herunterzuladen und zu installieren.
Installieren Sie PowerShell mit Winget
Der WinGet-Paketmanager installiert die neueste PowerShell-Version über die Kommandozeile.
Suchen Sie nach PowerShell mit Winget
Um eine Liste von Paketen anzuzeigen, die mit PowerShell zusammenhängen, einschließlich ihrer Versionsnummern und IDs, verwenden Sie das folgende Cmdlet:
winget search PowerShell
Installieren Sie PowerShell
Finden Sie das benötigte PowerShell-Paket und installieren Sie es anhand seiner ID. Die ID für PowerShell ist Microsoft.PowerShell.
Um die neueste PowerShell-Version zu installieren, verwenden Sie das folgende Cmdlet:
winget install Microsoft.PowerShell
Installieren Sie PowerShell mit dem MSI-Paket
Eine weitere Methode ist das Herunterladen von PowerShell von GitHub und die Verwendung des MSI für die Installation. Besuchen Sie die offizielle PowerShell GitHub release page, um die neueste PowerShell-Version (wie PowerShell 7.x) zu finden. Scrollen Sie in diesem Release nach unten zum Abschnitt Assets und laden Sie das MSI-Paket herunter.
Das Paket benötigt etwas Zeit zum Herunterladen. Nach dem Download führen Sie das Installationsprogramm aus, um PowerShell zu installieren.
Verwaltung mehrerer PowerShell-Versionen
Sie können die klassische Windows PowerShell (normalerweise Version 5.1) und die moderne PowerShell Core (Versionen 6.x und 7.x) auf demselben Rechner ohne Konflikte verwenden.
Ein häufiger Anwendungsfall für die Verwaltung mehrerer PowerShell-Versionen ist, wenn verschiedene Umgebungen oder Skripte bestimmte Versionen erfordern.
So können Sie mehrere Versionen von PowerShell auf Ihrem System verwalten.
Führen Sie eine bestimmte Version über das Ausführen-Dialogfeld oder die Kommandozeile aus
Öffnen Sie das Ausführen-Dialogfeld und geben Sie den Pfad zur exe-Datei einer PowerShell-Version an, um sie zu starten (siehe das Beispiel unten).
Sie können auch eine bestimmte PowerShell-Version ausführen, indem Sie ihren Pfad in PowerShell angeben, wie im folgenden Beispiel dargestellt. Beachten Sie, dass diese Methode nur für PowerShell 7 gültig ist, wo Sie zwischen Versionen wechseln können.
Beispiel:
- PowerShell 5.1
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
- PowerShell 7
C:\Program Files\PowerShell\7\pwsh.exe
PowerShell-Profile und Konfiguration
Ein PowerShell-Profil ist ein PowerShell-Skript, das jedes Mal ausgeführt wird, wenn Sie PowerShell starten, außer wenn Sie den -NoProfile-Flag verwenden.
Jede PowerShell-Version hat ihre eigene Profildatei. Wenn Sie bestimmte Einstellungen oder Konfigurationen in einer Version verfügbar haben möchten und in der anderen nicht, haben Sie die Möglichkeit, das Profil separat für jede Version zu konfigurieren.
Suchen Sie die Profildatei manuell
- Das PowerShell 5.1-Profil könnte sich befinden unter: C:\Users\<username>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
- Das PowerShell 7+ Profil könnte sich befinden unter: C:\Users\<username>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
Lokalisieren Sie die Profildatei über PowerShell
Sie können auch PowerShell selbst verwenden, um das PowerShell-Profil abzurufen. Verwenden Sie einfach $Profile, um den Profilpfad zu finden, da die Variable $Profile den Pfad speichert.
$Profile
Dies zeigt den Pfad zum Profil der PowerShell-Hostanwendung des aktuellen Benutzers an. Sie können die $Profile-Variable an das Cmdlet Get-Member weiterleiten, um zusätzliche Pfade zu erhalten.
$Profile | Get-Member -MemberType NoteProperty
Ausgewählte verwandte Inhalte:
Test für Kompatibilität mit älteren Skripten und Modulen
Es ist wichtig, die Kompatibilität mit älteren Skripten und Modulen in PowerShell zu testen, wenn auf neuere Versionen aktualisiert oder älterer Code integriert wird.
Im Folgenden finden Sie einige Methoden, um die Kompatibilität mit älteren Skripten und Modulen zu testen.
Verwenden Sie Windows PowerShell und PowerShell Core parallel
Sie können sowohl Windows PowerShell als auch PowerShell Core auf demselben Rechner ausführen. Testen Sie Ihr Skript oder Modul in beiden Umgebungen auf Kompatibilität. Beachten Sie, dass 5.1 die letzte Hauptversion von Windows PowerShell ist, während Version 7 die aktuelle Version von PowerShell Core ist.
Ein Beispiel ist wie folgt:
./your_script.ps1
./ gibt an, dass sich das Skript im aktuellen Verzeichnis befindet, während your_script.ps1 das Skript ist, das Sie ausführen möchten. .ps1 ist die Standarderweiterung für PowerShell-Skriptdateien.
Überprüfen Sie die PowerShell-Version
Es ist eine gute Idee zu wissen, für welche Version von PowerShell Ihr Skript ursprünglich geschrieben wurde und in welcher Version Sie versuchen, es auszuführen.
Verwenden Sie das Cmdlet Test-ModuleManifest
Das Cmdlet Test-ModuleManifest wird verwendet, um zu überprüfen, ob ein PowerShell-Modulmanifest (.psd1-Datei) gültig und korrekt konfiguriert ist. Es überprüft die Datei auch auf Abhängigkeiten und Kompatibilitätsprobleme.
Test-ModuleManifest -Path "C:\Path\To\YourModule.psd1"
Der -Path-Parameter gibt den Pfad zur .psd1-Datei an.
Verwenden Sie das Get-Command Cmdlet, um die Verfügbarkeit von Cmdlets zu überprüfen
Einige Cmdlets und Parameter werden möglicherweise in einer PowerShell-Version unterstützt und in einer anderen nicht. Verwenden Sie das Cmdlet Get-Command, um die Verfügbarkeit und Syntax der Cmdlets, die Sie verwenden, zu überprüfen. Hier ist ein Beispiel:
Get-Command -Name Invoke-RestMethod -Module Microsoft.PowerShell.Utility
PSScriptAnalyzer für statische Codeanalyse
PSScriptAnalyzer ist ein Tool, das auf Best Practices prüft und Kompatibilitätsprobleme identifiziert. Verwenden Sie das folgende Cmdlet, um es zu installieren und auszuführen:
Install-Module -Name PSScriptAnalyzer
Invoke-ScriptAnalyzer -Path "C:\Path\To\YourScript.ps1"
Dies ist eine gute Methode, um Probleme mit Ihren Skripten oder veralteten Cmdlets vor der Laufzeit zu erkennen.
Überprüfen Sie die .NET-Kompatibilität
Windows PowerShell (5.1) basiert auf dem .NET Framework, während PowerShell Core (6+) und PowerShell 7+ auf .NET Core/.NET aufbauen. Falls Ihr Skript oder Modul von .NET-Assemblies abhängig ist, stellen Sie sicher, dass sie sowohl mit .NET Core/.NET als auch mit dem .NET Framework kompatibel sind.
Sie können die in Ihrem Skript verwendeten .NET-Assemblies mit dem folgenden Cmdlet testen:
[System.Reflection.Assembly]::LoadFile("C:\Path\To\YourAssembly.dll")
Fazit
Es ist aus mehreren Gründen wichtig zu wissen, welche Version von PowerShell auf Ihrem Computer installiert ist. Verschiedene Versionen bringen neue Cmdlets, Funktionen und Syntax mit sich, daher stellt die Kenntnis der Version sicher, dass Ihre Skripte mit der Version, in der sie ausgeführt werden, kompatibel sind. PowerShell Core führte die plattformübergreifende Kompatibilität ein, daher ist das Wissen über die installierte Version entscheidend für die Verwendung der richtigen plattformspezifischen Funktionen und Module.
Von allen verfügbaren Methoden zur Bestimmung der auf Ihrem Computer ausgeführten PowerShell-Version wird $PSVersionTable besonders empfohlen. Es ist nicht nur die zuverlässigste Methode, sondern auch die genaueste zur Versionsidentifikation. Sie bietet einen umfassenden Überblick über die PowerShell-Umgebung und hilft Ihnen sicherzustellen, dass Skripte mit der spezifischen Version und Umgebung kompatibel sind.
Sie müssen PowerShell regelmäßig aktualisieren, um sicherzustellen, dass kritische Sicherheitspatches, die vor Schwachstellen in früheren Versionen schützen, installiert sind. Darüber hinaus gewährleistet eine regelmäßige Aktualisierung den Zugang zu den neuesten Funktionen, wie neuen Cmdlets und plattformübergreifenden Verbesserungen. Es garantiert auch eine verbesserte Leistung, robuste Ausführungsrichtlinien und erweiterte Unterstützung für parallele und asynchrone Ausführung. Kurz gesagt, ein Upgrade auf die neueste PowerShell-Version hilft dabei, sicherere, effizientere und skalierbarere Automatisierungslösungen zu erstellen und gleichzeitig Risiken zu reduzieren, die mit veralteten oder nicht unterstützten Versionen verbunden sind.
Netwrix Directory Manager
FAQ
Wie überprüft man die Powershell-Version?
The easiest way to check the PowerShell version is through PowerShell itself. You can show the PowerShell version you’re using, for example, via the PSVersionTable.PSVersion or the Get-Host cmdlet.
Teilen auf
Erfahren Sie mehr
Über den Autor
Tyler Reese
VP of Product Management, CISSP
Mit mehr als zwei Jahrzehnten in der Software-Sicherheitsbranche ist Tyler Reese bestens vertraut mit den sich schnell entwickelnden Identitäts- und Sicherheitsherausforderungen, denen Unternehmen heute gegenüberstehen. Derzeit ist er als Produktleiter für das Netwrix Identity and Access Management Portfolio tätig, wo seine Aufgaben die Bewertung von Markttrends, die Festlegung der Richtung für die IAM-Produktlinie und letztendlich die Erfüllung der Bedürfnisse der Endanwender umfassen. Seine berufliche Erfahrung reicht von IAM-Beratung für Fortune-500-Unternehmen bis hin zur Arbeit als Unternehmensarchitekt eines großen Direkt-an-Verbraucher-Unternehmens. Derzeit hält er die CISSP-Zertifizierung.
Erfahren Sie mehr zu diesem Thema
Powershell Delete File If Exists
PowerShell Write to File: "Out-File" und Dateiausgabetechniken
So erstellen Sie neue Active Directory-Benutzer mit PowerShell
So führen Sie ein PowerShell-Skript aus
Was ist PowerShell? Ein kompletter Leitfaden zu seinen Funktionen & Anwendungen