Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
WMF 5.0 Änderungen
- PowerShell 5.0 fügt einen neuen strukturierten Informationsstrom hinzu
- Verbesserungen an DSC einschließlich vier neuer DSC-Ressourcen:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- ProcessSet
- Just Enough Administration hinzugefügt, um die rollenbasierte Verwaltung über PowerShell-Remoting zu aktivieren
- PowerShell 5.0 erweitert die Sprache um benutzerdefinierte Klassen und Enumerationen.
- Verbesserte Debugfeatures in PowerShell ISE und hinzufügen Remotedebugging
- PowerShellGet- und PackageManagement-Module hinzugefügt
- Erweiterte PowerShell-Skriptprotokollierung und Transkriptionen
- Hinzufügen von Cmdlets für kryptografische Nachrichtensyntax
- WMF 5.0 enthält das NetworkSwitchManager-Modul für Windows
- Das Modul "Microsoft.PowerShell.ODataUtils" wurde hinzugefügt.
- Unterstützung für die Softwareinventurprotokollierung (SOFTWARE Inventory Logging, SIL) hinzugefügt
- Neue Cmdlets abtrennen oder aktualisieren als Reaktion auf Benutzeranforderungen und Probleme
WMF 5.1 Änderungen
WMF 5.1 enthält die Komponenten PowerShell, WMI, WinRM und Software Inventory Logging (SIL), die mit Windows Server 2016 veröffentlicht wurden. WMF 5.1 kann unter Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 und 2012 R2 installiert werden und bietet verschiedene Verbesserungen gegenüber WMF 5.0, darunter:
- Neue Cmdlets
- PowerShellGet-Verbesserungen umfassen das Erzwingen signierter Module und das Installieren von JEA-Modulen
- PackageManagement hat Unterstützung für Container, CBS Setup, EXE-basiertes Setup, CAB-Pakete hinzugefügt
- Debuggingverbesserungen für DSC- und PowerShell-Klassen
- Sicherheitsverbesserungen, einschließlich der Erzwingung von katalogsignierten Modulen, die vom Pullserver stammen, und bei Verwendung von PowerShellGet-Cmdlets
- Antworten auf eine Reihe von Benutzeranforderungen und Problemen
Wichtig
Vergewissern Sie sich vor der Installation von WMF 5.1 unter Windows Server 2008 oder Windows 7, dass WMF 3.0 nicht installiert ist. Weitere Informationen finden Sie unter WMF 5.1 Voraussetzungen für Windows Server 2008 R2 SP1 und Windows 7 SP1.
PowerShell-Editionen
Ab Version 5.1 ist PowerShell in verschiedenen Editionen verfügbar, die unterschiedliche Featuresätze und Plattformkompatibilität angeben.
- Desktop Edition: Basiert auf .NET Framework und bietet Kompatibilität mit Skripts und Modulen für Versionen von PowerShell, die auf vollständigen Fußabdruckeditionen von Windows wie Server Core und Windows Desktop ausgeführt werden.
- Core Edition: Basiert auf .NET Core und bietet Kompatibilität mit Skripts und Modulen für Versionen von PowerShell, die auf reduzierten Speicherbedarfseditionen von Windows wie Nano Server und Windows IoT ausgeführt werden.
Weitere Informationen zur Verwendung von PowerShell-Editionen
- Determine running edition of PowerShell using $PSVersionTable (Bestimmen der ausgeführten Edition von PowerShell mit $PSVersionTable)
- Filter Get-Module results by CompatiblePSEditions using PSEdition parameter (Filtern von Get-Module-Ergebnissen nach CompatiblePSEditions mithilfe des PSEdition-Parameters)
- Verhindern der Ausführung von Skripts außer bei Ausführung in einer kompatiblen Edition von PowerShell
- Deklarieren der Kompatibilität eines Moduls mit bestimmten Versionen von PowerShell
Modulanalysecache
Ab WMF 5.1 bietet PowerShell die Kontrolle über die Datei, die zum Zwischenspeichern von Daten über ein Modul verwendet wird, z. B. die exportierten Befehle.
Standardmäßig wird dieser Cache in der Datei ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache gespeichert. Der Cache wird normalerweise beim Start gelesen, während er nach einem Befehl sucht und irgendwann nach dem Importieren eines Moduls in einen Hintergrundthread geschrieben wird.
Um den Standardspeicherort des Caches zu ändern, legen Sie die Umgebungsvariable $env:PSModuleAnalysisCachePath vor dem Starten von PowerShell fest. Änderungen an dieser Umgebungsvariable wirken sich nur auf untergeordnete Prozesse aus. Der Wert sollte einen vollständigen Pfad (einschließlich Dateinamen) benennen, den PowerShell zum Erstellen und Schreiben von Dateien besitzt. Um den Dateicache zu deaktivieren, legen Sie diesen Wert auf einen ungültigen Speicherort fest, z. B.:
$env:PSModuleAnalysisCachePath = 'nul'
Dadurch wird der Pfad zu einem ungültigen Gerät festgelegt. Wenn PowerShell nicht in den Pfad schreiben kann, wird kein Fehler zurückgegeben, aber Sie können die Fehlerberichterstattung mithilfe eines Ablaufverfolgungselements anzeigen:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
Beim Schreiben des Caches sucht PowerShell nach Modulen, die nicht mehr vorhanden sind, um einen unnötig großen Cache zu vermeiden. Manchmal sind diese Prüfungen nicht wünschenswert, in diesem Fall können Sie sie deaktivieren, indem Sie Folgendes festlegen:
$env:PSDisableModuleAnalysisCacheCleanup = 1
Das Festlegen dieser Umgebungsvariable wird sofort im aktuellen Prozess wirksam.
Angeben der Modulversion
In WMF 5.1 verhält sich using module genauso wie andere modulbezogene Konstruktionen in PowerShell.
Zuvor hatten Sie keine Möglichkeit, eine bestimmte Modulversion anzugeben; wenn mehrere Versionen vorhanden waren, hat dies zu einem Fehler geführt.
In WMF 5.1:
Sie können den Konstruktor „ModuleSpecification“ (Hashtabelle) verwenden.
Diese Hashtabelle hat das gleiche Format wie
Get-Module -FullyQualifiedName.Beispiel:
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}Wenn es mehrere Versionen des Moduls gibt, verwendet PowerShell dieselbe Auflösungslogik wie
Import-Moduleund liefert keinen Fehler – dasselbe Verhalten wieImport-ModuleundImport-DscResource.
Verbesserungen an Pester
In WMF 5.1 wurde die Version von Pester, die mit PowerShell ausgeliefert wird, von 3.3.5 auf 3.4.0 aktualisiert. Dieses Update ermöglicht ein besseres Verhalten für Pester auf Nano Server.
Sie können die Änderungen in Pest überprüfen, indem Sie das CHANGELOG im GitHub-Repository überprüfen.