Windows Management Framework (WMF) 5.x — informacje o wersji

Zmiany w programie WMF 5.0

  • Program PowerShell 5.0 dodaje nowy strumień informacji ustrukturyzowanych
  • 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 w celu uwzględnienia klas zdefiniowanych przez użytkownika i wyliczeń
  • Ulepszone funkcje debugowania w środowisku 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)
  • W odpowiedzi na żądania i problemy użytkowników należy uruchomić nowe polecenia cmdlet lub je zaktualizować

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 z 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ń programu WMF 5.0, w tym:

  • Nowe polecenia cmdlet
  • Ulepszenia rozwiązania PowerShellGet obejmują wymuszanie podpisanych modułów i instalowanie modułów JEA
  • Dodano obsługę funkcji PackageManagement na potrzeby kontenerów, instalacji CBS, instalacji opartej na plikach EXE i pakietów CAB
  • Ulepszenia debugowania dla klas konfiguracji DSC i programu PowerShell
  • Ulepszenia zabezpieczeń obejmują wymuszanie modułów podpisanych w wykazie pochodzących z serwera ściągania oraz w przypadku korzystania z poleceń cmdlet PowerShellGet
  • Odpowiedzi na wiele problemów i żądań użytkowników

Ważne

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 Wymagania wstępne programu WMF 5.1 dla systemu Windows Server 2008 R2 z dodatkiem SP1 i Windows 7 z dodatkiem SP1.

Wersje programu PowerShell

Począwszy od wersji 5.1, program PowerShell jest dostępny w różnych wersjach, które określają różne zestawy funkcji i zgodność platformy.

  • Wersja Desktop: jest oparta na programie .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 instalacja Podstawowe funkcje serwera i system Windows dla komputerów stacjonarnych.
  • Wersja Core: jest oparta na module .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 system Nano Server i Windows IoT.

Dowiedz się więcej o korzystaniu z wersji 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 $env:PSModuleAnalysisCachePath zmienną środowiskową 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), do którego 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ąć niepotrzebnie 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łami 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żesz użyć konstruktora ModuleSpecification (hashtable).

    Ta tabela skrótów ma taki sam format jak 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 rozpoznawania , co Import-Module i nie zwraca błędu — takie samo zachowanie jak Import-Module i Import-DscResource.

Ulepszenia programu Pester

W programie WMF 5.1 wersja Pester, która jest 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.

Zmiany w pest można przejrzeć, sprawdzając DZIENNIK ZMIAN w repozytorium GitHub.