Informacje o wersji programu Windows Management Framework (WMF) 5.x
Zmiany w programie WMF 5.0
- Program PowerShell 5.0 dodaje nowy strumień ze strukturą Information
- Ulepszenia rozszerzenia DSC, w tym cztery nowe zasoby DSC:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- ProcessSet
- Dodano funkcję Just Enough Administration w celu włączenia administracji opartej na rolach za pomocą komunikacji zdalnej programu PowerShell
- Program PowerShell 5.0 rozszerza język tak, aby zawierał klasy zdefiniowane przez użytkownika i wyliczenia
- Ulepszone funkcje debugowania w programie PowerShell ISE i dodano debugowanie zdalne
- Dodano moduły PowerShellGet i PackageManagement
- Ulepszone rejestrowanie i transkrypcje skryptów programu PowerShell
- Dodawanie poleceń cmdlet składni komunikatów kryptograficznych
- Program WMF 5.0 zawiera moduł NetworkSwitchManager dla systemu Windows
- Dodano moduł Microsoft.PowerShell.ODataUtils
- Dodano obsługę rejestrowania spisu oprogramowania (SIL)
- Rozłącz nowe lub aktualizuj polecenia cmdlet w odpowiedzi na żądania i problemy użytkowników
Zmiany w programie WMF 5.1
Program WMF 5.1 zawiera składniki powerShell, WMI, WinRM i Software Inventory Logging (SIL), które zostały wydane w systemie Windows Server 2016. Program WMF 5.1 można zainstalować w systemie Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 i 2012 R2 oraz oferuje kilka ulepszeń w programie WMF 5.0, w tym:
- Nowe polecenia cmdlet
- Ulepszenia modułów PowerShellGet obejmują wymuszanie podpisanych modułów i instalowanie modułów JEA
- PackageManagement dodano obsługę kontenerów, instalatora CBS, konfiguracji opartej na exe, pakietów CAB
- Ulepszenia debugowania dla klas DSC i PowerShell
- Ulepszenia zabezpieczeń, w tym wymuszanie modułów podpisanych w katalogu pochodzących z serwera ściągania i używanie poleceń cmdlet PowerShellGet
- Odpowiedzi na wiele żądań i problemów użytkowników
Ważny
Przed zainstalowaniem programu WMF 5.1 w systemie Windows Server 2008 lub Windows 7 upewnij się, że program WMF 3.0 nie jest zainstalowany. Aby uzyskać więcej informacji, zobacz WMF 5.1 Prerequisites for Windows Server 2008 R2 SP1 and Windows 7 SP1.
Wersje programu PowerShell
Począwszy od wersji 5.1, program PowerShell jest dostępny w różnych wersjach, które oznaczają różne zestawy funkcji i zgodność platformy.
- Desktop Edition: Zbudowany na platformie .NET Framework i zapewnia zgodność ze skryptami i modułami przeznaczonymi dla wersji programu PowerShell działających w pełnych wersjach systemu Windows, takich jak Server Core i Windows Desktop.
- Core Edition: zbudowany na platformie .NET Core i zapewnia zgodność ze skryptami i modułami przeznaczonymi dla wersji programu PowerShell działających w ograniczonych wersjach systemu Windows, takich jak Nano Server i Windows IoT.
Dowiedz się więcej o korzystaniu z wersji programu PowerShell
- Określanie uruchomionej wersji programu PowerShell przy użyciu $PSVersionTable
- wyniki filtrowania Get-Module według parametrów CompatiblePSEditions przy użyciu parametru PSEdition
- Zapobiegaj wykonywaniu skryptu, chyba że zostanie uruchomiona w zgodnej wersji programu PowerShell
- zadeklarować zgodność modułu z określonymi wersjami programu PowerShell
Pamięć podręczna analizy modułu
Począwszy od programu WMF 5.1, program PowerShell zapewnia kontrolę nad plikiem używanym do buforowania danych dotyczących modułu, takich jak polecenia, które eksportuje.
Domyślnie ta pamięć podręczna jest przechowywana w pliku ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache
. Pamięć podręczna jest zwykle odczytywana podczas uruchamiania podczas wyszukiwania polecenia i jest zapisywana w wątku w tle czasami po zaimportowaniu modułu.
Aby zmienić domyślną lokalizację pamięci podręcznej, ustaw zmienną środowiskową $env:PSModuleAnalysisCachePath
przed uruchomieniem programu PowerShell. Zmiany tej zmiennej środowiskowej będą dotyczyć tylko procesów podrzędnych. Wartość powinna nazwać pełną ścieżkę (w tym nazwę pliku), którą program PowerShell ma uprawnienia do tworzenia i zapisywania plików. Aby wyłączyć pamięć podręczną plików, ustaw tę wartość na nieprawidłową lokalizację, na przykład:
$env:PSModuleAnalysisCachePath = 'nul'
Spowoduje to ustawienie ścieżki do nieprawidłowego urządzenia. Jeśli program PowerShell nie może zapisać w ścieżce, nie zostanie zwrócony żaden błąd, ale możesz zobaczyć raportowanie błędów przy użyciu narzędzia tracer:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
Podczas zapisywania pamięci podręcznej program PowerShell sprawdzi moduły, które już nie istnieją, aby uniknąć niepotrzebnej dużej pamięci podręcznej. Czasami te kontrole nie są pożądane, w tym przypadku można je wyłączyć, ustawiając następujące ustawienia:
$env:PSDisableModuleAnalysisCacheCleanup = 1
Ustawienie tej zmiennej środowiskowej zostanie zastosowane natychmiast w bieżącym procesie.
Określanie wersji modułu
W programie WMF 5.1 using module
zachowuje się tak samo jak inne konstrukcje związane z modułem w programie PowerShell.
Wcześniej nie było możliwości określenia określonej wersji modułu; jeśli istnieje wiele wersji, spowodowało to błąd.
W PROGRAMIE WMF 5.1:
Można użyć ModuleSpecification Constructor (Hashtable).
Ta tabela skrótów ma ten sam format co
Get-Module -FullyQualifiedName
.przykład :
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}
Jeśli istnieje wiele wersji modułu, program PowerShell używa tej samej logiki rozwiązywania co
Import-Module
i nie zwraca błędu — takie samo zachowanie jakImport-Module
iImport-DscResource
.
Ulepszenia w Pester
W programie WMF 5.1 wersja Pester dostarczana z programem PowerShell została zaktualizowana z wersji 3.3.5 do 3.4.0. Ta aktualizacja umożliwia lepsze zachowanie oprogramowania Pester na serwerze Nano Server.
Możesz przejrzeć zmiany w narzędziu Pest, sprawdzając CHANGELOG w repozytorium GitHub.