about_Windows_PowerShell_5.0

KRÓTKI OPIS

Opisuje nowe funkcje uwzględnione w Windows PowerShell 5.0.

DŁUGI OPIS

Windows PowerShell 5.0 zawiera znaczące nowe funkcje, które rozszerzają jego użycie, zwiększają użyteczność i umożliwiają łatwiejsze i kompleksowe zarządzanie środowiskami opartymi na systemie Windows oraz zarządzanie nimi.

Windows PowerShell 5.0 jest zgodny z poprzednimi wersjami. Polecenia cmdlet, dostawcy, moduły, przystawki, skrypty, funkcje i profile, które zostały zaprojektowane dla Windows PowerShell 4.0, Windows PowerShell 3.0 i Windows PowerShell 2.0 zazwyczaj działają w Windows PowerShell 5.0 bez zmian.

Windows PowerShell 5.0 jest instalowany domyślnie w Windows Server Technical Preview i Windows Technical Preview. Aby zainstalować Windows PowerShell 5.0 w Windows Server 2012 R2, Windows 8.1 Enterprise lub Windows 8.1 Pro, pobierz i zainstaluj Windows Management Framework 5.0. Przed zainstalowaniem wersji zapoznawczej Windows Management Framework 5.0 (wersja zapoznawcza) pamiętaj, aby przeczytać szczegóły pobierania i spełnić wszystkie wymagania systemowe.

Możesz również przeczytać o zmianach w Windows PowerShell 5.0 w temacie Co nowego w Windows PowerShell.

NOWE FUNKCJE

Nowe funkcje w Windows PowerShell

  • Począwszy od Windows PowerShell 5.0, można opracowywać przy użyciu klas, używając składni formalnej i semantyki, które są podobne do innych języków programowania obiektowego. Klasy, wyliczenia i inne słowa kluczowe zostały dodane do języka Windows PowerShell w celu obsługi nowej funkcji. Aby uzyskać więcej informacji na temat pracy z klasami, zobacz about_Classes.

  • We współpracy z Microsoft Research dodano nowe polecenie cmdlet ConvertFrom-String. ConvertFrom-String umożliwia wyodrębnianie i analizowanie obiektów strukturalnych z zawartości ciągów tekstowych. Aby uzyskać więcej informacji, zobacz ConvertFrom-String.

  • Nowy moduł, Microsoft. Program PowerShell.Archive zawiera polecenia cmdlet, które umożliwiają kompresowanie plików i folderów do plików archiwum (znanych również jako ZIP), wyodrębnianie plików z istniejących plików ZIP i aktualizowanie plików ZIP przy użyciu nowszych wersji plików skompresowanych w nich.

  • Nowy moduł, OneGet, umożliwia odnajdywanie i instalowanie pakietów oprogramowania w Internecie. Moduł OneGet jest menedżerem lub multiplekserem istniejących menedżerów pakietów (nazywanych również dostawcami pakietów) w celu ujednolicenia zarządzania pakietami systemu Windows za pomocą jednego interfejsu Windows PowerShell.

  • Nowy moduł, PowerShellGet, umożliwia znajdowanie, instalowanie, publikowanie i aktualizowanie modułów oraz zasobów DSC w galerii zasobów programu PowerShell lub w wewnętrznym repozytorium modułów, które można skonfigurować, uruchamiając polecenie cmdlet Register-PSRepository.

  • Ulepszono funkcje New-Item, Remove-Item i Get-ChildItem w celu obsługi tworzenia linków symbolicznych i zarządzania nimi. Parametr ItemType dla New-Item akceptuje nową wartość, SymbolicLink. Teraz możesz utworzyć linki symboliczne w jednym wierszu, uruchamiając polecenie cmdlet New-Item.

  • Windows PowerShell transkrypcja została ulepszona w celu zastosowania do wszystkich aplikacji hostingowych (takich jak Windows PowerShell ISE) oprócz hosta konsoli (powershell.exe). Opcje transkrypcji (w tym włączenie transkrypcji dla całego systemu) można skonfigurować, włączając ustawienie Włącz transkrypcję programu PowerShell zasady grupy, które można znaleźć w temacie Szablony administracyjne/Składniki systemu Windows/Windows PowerShell.

  • Nowa funkcja szczegółowego śledzenia skryptów umożliwia włączenie szczegółowego śledzenia i analizy Windows PowerShell użycia skryptów w systemie. Po włączeniu szczegółowego śledzenia skryptów Windows PowerShell rejestruje wszystkie bloki skryptów w dzienniku zdarzeń śledzenia zdarzeń systemu Windows (ETW), Microsoft-Windows-PowerShell/Operational.

  • Począwszy od Windows PowerShell 5.0, nowe polecenia cmdlet Składnia komunikatów kryptograficznych obsługują szyfrowanie i odszyfrowywanie zawartości przy użyciu standardowego formatu IETF do kryptograficznego ochrony komunikatów, jak opisano w dokumencie RFC5652. Polecenia cmdlet Get-CmsMessage, Protect-CmsMessage i Unprotect-CmsMessage zostały dodane do Microsoft. Moduł PowerShell.Security.

  • Nowe polecenia cmdlet w Microsoft. Moduł PowerShell.Utility, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug i Disable-RunspaceDebug, umożliwia ustawianie opcji debugowania w przestrzeni uruchomieniowej oraz uruchamianie i zatrzymywanie debugowania w przestrzeni uruchomieniowej. W przypadku debugowania dowolnych przestrzeni uruchamiania — czyli przestrzenie uruchomieniowe, które nie są domyślnymi przestrzeniami run dla konsoli Windows PowerShell lub sesji Windows PowerShell ISE — Windows PowerShell umożliwia ustawianie punktów przerwania w skrycie i dodanie punktów przerwania zatrzymaj działanie skryptu, dopóki nie będzie można dołączyć debugera do debugowania skryptu przestrzeni uruchomieniowej. Obsługa debugowania zagnieżdżonego dla dowolnych przestrzeni runspace została dodana do debugera skryptów Windows PowerShell dla przestrzeni uruchomieniowych.

  • Nowe polecenia cmdlet Enter-PSHostProcess i Exit-PSHostProcess umożliwiają debugowanie skryptów Windows PowerShell w procesach niezależnie od bieżącego procesu uruchomionego w konsoli Windows PowerShell. Uruchom Enter-PSHostProcess, aby wprowadzić lub dołączyć określony identyfikator procesu, a następnie uruchom Get-Runspace, aby zwrócić aktywne przestrzenie uruchomieniowe w ramach procesu. Uruchom Exit-PSHostProcess, aby odłączyć się od procesu po zakończeniu debugowania skryptu w procesie.

  • Nowe polecenie cmdlet Wait-Debugger zostało dodane do Microsoft. Moduł PowerShell.Utility. Możesz uruchomić Wait-Debugger, aby zatrzymać skrypt w debugerze przed uruchomieniem następnej instrukcji w skrycie.

  • Debuger przepływu pracy Windows PowerShell obsługuje teraz uzupełnianie poleceń lub kart i można debugować zagnieżdżone funkcje przepływu pracy. Teraz możesz nacisnąć klawisze Ctrl+Break, aby wprowadzić debuger w uruchomionym skrytecie, zarówno w sesjach lokalnych, jak i zdalnych oraz w skrycie przepływu pracy.

  • Do Microsoft dodano polecenie cmdlet Debug-Job. Moduł PowerShell.Core do debugowania uruchomionych skryptów zadań dla Windows PowerShell Przepływ pracy, tło i zadania uruchomione w sesjach zdalnych.

  • Dodano nowy stan AtBreakpoint dla zadań Windows PowerShell. Stan atBreakpoint ma zastosowanie, gdy zadanie uruchamia skrypt zawierający ustawione punkty przerwania, a skrypt uderzył w punkt przerwania. Po zatrzymaniu zadania w punkcie przerwania debugowania należy debugować zadanie, uruchamiając polecenie cmdlet Debug-Job.

  • Windows PowerShell 5.0 implementuje obsługę wielu wersji pojedynczego modułu Windows PowerShell w tym samym folderze w $PSModulePath. Właściwość RequiredVersion została dodana do klasy ModuleSpecification, aby ułatwić uzyskanie żądanej wersji modułu; ta właściwość jest wzajemnie wykluczana z właściwością ModuleVersion. Parametr RequiredVersion jest teraz obsługiwany jako część wartości parametru FullyQualifiedName poleceń cmdlet Get-Module, Import-Module i Remove-Module.

  • Teraz możesz przeprowadzić walidację wersji modułu, uruchamiając polecenie cmdlet Test-ModuleManifest.

  • Wyniki polecenia cmdlet Get-Command teraz wyświetlają kolumnę Wersja; Nowa właściwość Version została dodana do klasy CommandInfo. Get-Command pokazuje polecenia z wielu wersji tego samego modułu. Właściwość Version jest również częścią klas pochodnych cmdletInfo: CmdletInfo i ApplicationInfo.

  • Nowe polecenie cmdlet Get-ItemPropertyValue umożliwia uzyskanie wartości właściwości bez użycia notacji kropkowej. Na przykład w starszych wersjach Windows PowerShell można uruchomić następujące polecenie, aby uzyskać wartość właściwości Application Base klucza rejestru PowerShellEngine:

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    (Get-ItemProperty -Path $keypath -Name  ApplicationBase).ApplicationBase
    

    Począwszy od Windows PowerShell 5.0, można uruchomić polecenie

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    Get-ItemPropertyValue -Path $keypath -Name ApplicationBase
    
  • Nowy moduł NetworkSwitch zawiera polecenia cmdlet umożliwiające stosowanie przełącznika, wirtualnej sieci LAN (VLAN) oraz podstawową konfigurację portu przełącznika sieciowego warstwy 2 w celu Windows Server 2012 R2 (i nowszych wersji) certyfikowanych przełączników sieciowych.

  • Parametr FullyQualifiedName został dodany do poleceń cmdlet Import-Module i Remove-Module w celu obsługi przechowywania wielu wersji jednego modułu.

  • Save-Help, Update-Help, Import-PSSession, Export-PSSession i Get-Command mają nowy parametr, FullyQualifiedModule, typu ModuleSpecification. Dodaj ten parametr, aby określić moduł według jego w pełni kwalifikowanej nazwy.

  • Wartość $PSVersionTable.PSVersion została zaktualizowana do wersji 5.0.

Nowe funkcje w Windows PowerShell Desired State Configuration

  • Windows PowerShell ulepszenia języka umożliwiają definiowanie zasobów Windows PowerShell Desired State Configuration (DSC) przy użyciu klas. Import-DscResource jest teraz prawdziwym dynamicznym słowem kluczowym; Windows PowerShell analizuje moduł główny określonego modułu, wyszukując klasy zawierające atrybut DscResource. Teraz można użyć klas do zdefiniowania zasobów DSC, w których nie jest wymagany podfolder MOF ani podfolder DSCResource w folderze modułu. Plik modułu Windows PowerShell może zawierać wiele klas zasobów DSC.

  • Nowy parametr ThrottleLimit został dodany do następujących poleceń cmdlet w module PSDesiredStateConfiguration. Dodaj parametr ThrottleLimit, aby określić liczbę komputerów docelowych lub urządzeń, na których polecenie ma działać jednocześnie.

    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • W przypadku scentralizowanego raportowania błędów DSC zaawansowane informacje o błędach nie tylko są rejestrowane w dzienniku zdarzeń, ale mogą być wysyłane do centralnej lokalizacji na potrzeby późniejszej analizy. Możesz użyć tej centralnej lokalizacji do przechowywania błędów konfiguracji DSC, które wystąpiły dla dowolnego serwera w ich środowisku. Po zdefiniowaniu serwera raportów w meta-konfiguracji wszystkie błędy są wysyłane do serwera raportów, a następnie przechowywane w bazie danych. Tę funkcję można skonfigurować niezależnie od tego, czy węzeł docelowy jest skonfigurowany do ściągania konfiguracji z serwera ściągania.

  • Ulepszenia Windows PowerShell ISE ułatwiają tworzenie zasobów DSC. Teraz możesz wykonać następujące czynności.

    • Wyświetl listę wszystkich zasobów DSC w bloku konfiguracji lub węzła, wprowadzając klawisze Ctrl+Spacja w pustym wierszu w bloku.
    • Automatyczne uzupełnianie we właściwościach zasobu typu wyliczenia.
    • Automatyczne uzupełnianie właściwości DependsOn zasobów DSC na podstawie innych wystąpień zasobów w konfiguracji.
    • Ulepszone uzupełnianie kart wartości właściwości zasobu.
  • Nowy atrybut DscLocalConfigurationManager wyznacza blok konfiguracji jako metakonfigurację, która służy do konfigurowania Configuration Manager lokalnej DSC. Ten atrybut ogranicza konfigurację do przechowywania tylko elementów, które konfigurują Configuration Manager lokalne DSC. Podczas przetwarzania ta konfiguracja generuje plik *.meta.mof, który następnie jest wysyłany do odpowiednich węzłów docelowych, uruchamiając polecenie cmdlet Set-DscLocalConfigurationManager.

  • Konfiguracje częściowe są teraz dozwolone w Windows PowerShell 5.0. Dokumenty konfiguracyjne można dostarczać do węzła we fragmentach. Aby węzeł odbierał wiele fragmentów dokumentu konfiguracji, należy najpierw ustawić Configuration Manager lokalne węzła w celu określenia oczekiwanych fragmentów.

  • Synchronizacja między komputerami jest nowa w usłudze DSC w wersji Windows PowerShell 5.0. Korzystając z wbudowanych zasobów WaitFor* (WaitForAll, WaitForAny i WaitForSome), można teraz określić zależności między komputerami podczas uruchamiania konfiguracji bez orkiestracji zewnętrznych. Te zasoby zapewniają synchronizację węzła do węzła przy użyciu połączeń CIM za pośrednictwem protokołu WS-Man. Konfiguracja może czekać na zmianę określonego stanu zasobu innego komputera.

  • Just Enough Administration (JEA), nowa funkcja zabezpieczeń delegowania, korzysta z rozszerzenia DSC i Windows PowerShell ograniczonych przestrzeni uruchomieniowych w celu zabezpieczenia przedsiębiorstw przed utratą danych lub naruszeniem zabezpieczeń przez pracowników, niezależnie od tego, czy jest to celowe, czy niezamierzone. Aby uzyskać więcej informacji o narzędziu JEA, w tym o tym, gdzie można pobrać zasób xJEA DSC, zobacz Just Enough Administration (Just Enough Administration).

  • Następujące nowe polecenia cmdlet zostały dodane do modułu PSDesiredStateConfiguration.

    • Nowe polecenie cmdlet Get-DscConfigurationStatus pobiera ogólne informacje o stanie konfiguracji z węzła docelowego. Możesz uzyskać stan ostatniego lub wszystkich konfiguracji.
    • Nowe polecenie cmdlet Compare-DscConfiguration porównuje określoną konfigurację z rzeczywistym stanem co najmniej jednego węzła docelowego.
    • Nowe polecenie cmdlet Publish-DscConfiguration kopiuje plik MOF konfiguracji do węzła docelowego, ale nie stosuje konfiguracji. Konfiguracja jest stosowana podczas następnego przebiegu spójności lub podczas uruchamiania polecenia cmdlet Update-DscConfiguration.
    • Nowe polecenie cmdlet Test-DscConfiguration umożliwia sprawdzenie, czy wynikowa konfiguracja jest zgodna z żądaną konfiguracją, zwracając wartość True, jeśli konfiguracja jest zgodna z żądaną konfiguracją, lub Wartość False, jeśli rzeczywista konfiguracja jest niezgodna z żądaną konfiguracją.
    • Nowe polecenie cmdlet Update-DscConfiguration wymusza przetworzenie konfiguracji. Jeśli Configuration Manager lokalna jest w trybie ściągania, polecenie cmdlet pobiera konfigurację z serwera ściągania przed jego zastosowaniem.

Nowe funkcje w środowisku Windows PowerShell ISE

  • Teraz można edytować zdalne skrypty i pliki Windows PowerShell w lokalnej kopii Windows PowerShell ISE, uruchamiając Enter-PSSession, aby uruchomić sesję zdalną na komputerze przechowującym pliki, które chcesz edytować, a następnie uruchamiając polecenie PSEdit <path and file name on the remote computer>. Ta funkcja ułatwia edytowanie plików Windows PowerShell przechowywanych w opcji instalacji Server Core systemu Windows Server, w której nie można uruchomić programu Windows PowerShell ISE.
  • Polecenie cmdlet Start-Transcript jest teraz obsługiwane w środowisku Windows PowerShell ISE.
  • Teraz można debugować skrypty zdalne w środowisku Windows PowerShell ISE.
  • Nowe polecenie menu, Break All (Ctrl+B), dzieli debuger zarówno dla skryptów lokalnych, jak i zdalnych.

Nowe funkcje w usługach sieci Web Windows PowerShell (zarządzanie rozszerzeniem OData IIS)

  • Począwszy od Windows PowerShell 5.0, można wygenerować zestaw poleceń cmdlet Windows PowerShell na podstawie funkcji uwidocznionych przez dany punkt końcowy OData, uruchamiając polecenie cmdlet Export-ODataEndpointProxy.

Istotne poprawki błędów w Windows PowerShell 5.0

  • Windows PowerShell 5.0 zawiera nową implementację modelu COM, która oferuje znaczną poprawę wydajności podczas pracy z obiektami COM.

Aby uzyskać więcej informacji na temat Windows PowerShell 5.0, odwiedź następujące witryny sieci Web:

ZOBACZ TEŻ

about_Classes

about_Debuggers

about_Desired_State_Configuration

about_Updatable_Help

Save-Help

Get-Module

Debug-Job

Update-Help

Get-Process

Remove-Computer

Set-ExecutionPolicy

Add-Computer

ConvertFrom-String

Invoke-RestMethod

Set-JobTrigger

Set-ScheduledJob

New-JobTrigger

Register-ScheduledJob

Enable-JobTrigger

Disable-JobTrigger

SŁOWA KLUCZOWE

Co nowego w programie Windows PowerShell 5.0