Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
Überprüfen, aktualisieren und wählen Sie eine PowerShell-Version

Ü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 mehr

Einfü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.

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
      
Image

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
      
Image

$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
      
Image

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
      
Image

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
      
Image

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
      
Image
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
      

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.

Image
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:

  1. 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.
  2. 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
Windows XP SP2
Windows Vista

PowerShell 2.0

Oktober 2009

Windows Server 2008 R2
Windows 7

PowerShell 3.0

September 2012

Windows Server 2012
Windows 8

PowerShell 4.0

Oktober 2013

Windows Server 2012 R2
Windows 8.1

PowerShell 5.0

Februar 2016

Windows Server 2016
Windows 10

PowerShell 5.1

August 2016

Windows Server 2016
Windows 10-Jubiläumsupdate

PowerShell Core 6.0

Januar 2018

Windows Server 2012 R2
Windows Server 2012
Windows Server 2016
Windows 10
Windows 8.1
Windows 7 mit Service Pack 1

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.

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.

Image

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
      
Image
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
      
Image

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
      
Image

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
      
Image

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

Asset Not Found

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.