Novinky ve verzi Windows PowerShell 5.0

Windows PowerShell 5.0 zahrnuje významné nové funkce, které rozšiřují jeho používání, zlepšují její použitelnost a umožňují řídit a spravovat prostředí založená na Windows snadněji a komplexněji.

Windows PowerShell 5.0 je zpětně kompatibilní. Rutiny, poskytovatelé, moduly, moduly, moduly, skripty, funkce a profily navržené pro Windows PowerShell 4.0, Windows PowerShell 3.0 a Windows PowerShell 2.0 obecně fungují v Windows PowerShell 5.0 beze změn.

Instalace Windows PowerShellu

Windows PowerShell verze 5.0 se ve výchozím nastavení instaluje ve verzi Windows Server 2016 Technical Preview a Windows 10.

Pokud chcete nainstalovat Windows PowerShell 5.0 na Windows Server 2012 R2, Windows 8.1 Enterprise nebo Windows 8.1 Pro, stáhněte a nainstalujte Windows Management Framework 5.0. Než nainstalujete Windows Management Framework 5.0, nezapomeňte si přečíst podrobnosti o stažení a splnit všechny požadavky na systém.

V tomto tématu

Windows PowerShell aktualizace 4.0 v kumulativní aktualizaci z listopadu 2014 (KB 3000850)

Řada aktualizací a vylepšení Windows PowerShell Desired State Configuration (DSC) v Windows PowerShell 4.0 jsou k dispozici v kumulativní aktualizaci [z listopadu 2014 pro Windows RT 8.1, Windows 8.1 a Windows Server 2012 R2][KB3000850] (KB 3000850). Spuštěním Get-Hotfix -Id KB3000850 Windows PowerShell můžete zjistit, jestli je v systému nainstalovaná 3000850 KB.

  • Aktualizace k existujícím rutinám v modulu PSDesiredStateConfiguration

  • Nové rutiny v modulu PSDesiredStateConfiguration

  • Vylepšení jazyka

    • Funkce DependsOn teď podporuje složené prostředky.
    • DependsOn teď podporuje čísla v názvech instancí prostředků.
    • Výrazy uzlů, které se vyhodnotí jako prázdné, už nevyvolají chyby.
    • Byla opravena chyba, ke které dochází v případě, že se výraz uzlu vyhodnotí jako prázdný.
    • Konfigurace volající konfigurace teď fungují v konzole Windows PowerShell.
  • Vylepšení režimu vyžádání obsahu

    • Režim vyžádání obsahu teď podporuje všechny soubory ZIP.
    • AllowModuleOverwrite teď funguje správně.
  • Vylepšení odolnosti

    • Nový DebugMode umožňuje znovu načíst moduly prostředků.
    • Pokud dojde k selhání konfigurace, soubor pending.mof se neodstraní.
    • Místní Configuration Manager (LCM) je nyní odolnější, když se nastavení metakonfigurace poškodí.
  • Vylepšení diagnostiky

    • Když LCM nastaví časovač na jiná nastavení, než jste zadali, zobrazí se upozornění.
    • Soubory protokolu chyb teď obsahují zásobník volání pro Windows PowerShell prostředky.
  • Vylepšení flexibility

    • Prostředek LocalConfigurationManager má novou vlastnost ActionAfterReboot.
      • ContinueConfiguration (výchozí hodnota): Automaticky obnoví konfiguraci po restartování cílového uzlu.
      • StopConfiguration: Po restartování uzlu automaticky neobnovujte konfiguraci.
    • Ke spuštění konzistence teď může dojít častěji než k operaci PULL nebo naopak.
    • Podpora správy verzí: DSC teď dokáže rozpoznat dokument, který byl vygenerován v novějším klientovi (součástí WMF 5.0).
  • Vylepšení prevence chyb

    • Verze modulu se teď vynucuje před uplatněním konfigurace.
    • Funkce DebugPreference je teď správně nastavená pro volání Get-, Set nebo Test-TargetResource.
  • Vylepšení zpracování přihlašovacích údajů

    • Certifikát se teď používá, pokud jsou zadány certifikáty i PSDscAllowPlainTextPassword .
    • Přihlašovací údaje se dešifrují, a to i pro Get-TargetResource.
    • Přihlašovací údaje metakonfigurace se šifrují a dešifrují.
    • PSCredentials se teď dešifrují, když jsou ve vloženého objektu.
  • Integrovaná vylepšení prostředků

    • Prostředek balíčku
      • Už neinstaluje nesprávný balíček (buď z místních nebo webových zdrojů).
      • Teď podporuje HTTPS.
    • V prostředku balíčku je teď podpora protokolu HTTPS.
    • Archivní prostředek teď podporuje přihlašovací údaje.

Nové funkce ve Windows PowerShell 5.0

Nové funkce v Windows PowerShell

  • Počínaje verzí Windows PowerShell 5.0 můžete vyvíjet pomocí tříd pomocí formální syntaxe a sémantiky, které jsou podobné jiným objektově orientovaným programovacím jazykům. Třída, výčet a další klíčová slova byly přidány do jazyka Windows PowerShell pro podporu nové funkce. Další informace o práci s třídami najdete v tématu about_Classes.

  • Windows PowerShell 5.0 představuje nový strukturovaný informační proud, který můžete použít k přenosu strukturovaných dat mezi skriptem a jeho volajícími (nebo hostitelským prostředím). K vygenerování výstupu do informačního streamu teď můžete použít Write-Host. Informační streamy fungují také pro PowerShell.Streams, úlohy, naplánované úlohy a pracovní postupy. Následující funkce podporují informační stream.

    • Nová rutina Write-Information, která umožňuje určit, jak Windows PowerShell zpracovává data datového proudu informací pro příkaz. Write-Host je obálka pro informace o zápisu. Write-Information je také podporovaná aktivita pracovního postupu.
    • Dva nové společné parametry InformationVariable a InformationAction umožňují určit, jak se zobrazují informační proudy z příkazu. Platné hodnoty pro InformationAction jsou SilentlyContinue, Stop, Continue, Inquire, Ignore nebo Suspend, with SilentlyContinue je výchozí. InformationVariable určuje řetězec jako název proměnné, do které chcete Write-Host data z uloženého příkazu.
    • Nová proměnná předvoleb InformationPreference určuje výchozí předvolbu pro data datového proudu informací v relaci Windows PowerShell. Výchozí hodnota je SilentlyContinue.
    • Byly přidány dva nové společné parametry pracovního postupu PSInformation a InformationAction.
    • Když použijete příkaz Format-Table, sloupce tabulky se teď automaticky naformátují vyhodnocením prvních 300ms dat procházejících datovým proudem.
  • Ve spolupráci s Microsoft Research byla přidána nová rutina ConvertFrom-String. ConvertFrom-String umožňuje extrahovat a analyzovat strukturované objekty z obsahu textových řetězců. Další informace naleznete v tématu ConvertFrom-String.

  • Nová rutina Convert-String automaticky formátuje text na základě příkladu, který zadáte v parametru -Example.

  • Nový modul Microsoft.PowerShell.Archive obsahuje rutiny, které umožňují komprimovat soubory a složky do archivních souborů (označovaných také jako ZIP), extrahovat soubory z existujících souborů ZIP a aktualizovat soubory ZIP s novějšími verzemi souborů komprimovaných v nich.

  • Nový modul PackageManagement umožňuje zjišťovat a instalovat softwarové balíčky na internetu. Modul PackageManagement (dříve označovaný jako OneGet) je správce nebo multiplexer existujících správců balíčků (označovaný také jako poskytovatelé balíčků) ke sjednocení správy balíčků Systému Windows s jedním rozhraním Windows PowerShell.

  • Nový modul PowerShellGet umožňuje najít, nainstalovat, publikovat a aktualizovat moduly a prostředky DSC v Galerie prostředí PowerShell nebo v interním úložišti modulů, které můžete nastavit spuštěním rutiny Register-PSRepository.

  • Bylo přidáno nové klíčové slovo jazyka Hidden, které určuje, že člen (vlastnost nebo metoda) se ve výchozím nastavení nezobrazuje ve výsledcích Get-Member (pokud nepřidáte parametr -Force). Vlastnosti nebo metody, které byly označeny jako skryté, se ve výsledcích IntelliSense nezobrazují, pokud nejste v kontextu, kde by měl být člen viditelný; Například automatická proměnná $This by měla zobrazovat skryté členy v metodě třídy.

  • Nové položky, odebrání položky a Get-ChildItem byly vylepšeny tak, aby podporovaly vytváření a správu symbolických odkazů. Parametr -ItemType pro New-Item přijímá novou hodnotu SymbolIckýLink. Teď můžete vytvořit symbolické odkazy na jednom řádku spuštěním rutiny New-Item.

  • Get-ChildItem má také nový parametr -Depth, který použijete s parametrem -Recurse k omezení rekurze. Například Get-ChildItem -Recurse -Depth 2 vrátí výsledky z aktuální složky, všech podřízených složek v aktuální složce a všech složek v podřízených složkách.

  • Copy-Item teď umožňuje kopírovat soubory nebo složky z jedné relace Windows PowerShell do jiného, což znamená, že můžete kopírovat soubory do relací připojených ke vzdáleným počítačům (včetně počítačů, na kterých běží Nano Server, a proto nemáte žádné jiné rozhraní). Chcete-li kopírovat soubory, zadejte ID PSSession jako hodnotu nových parametrů -FromSession a -ToSession, a přidejte -Path a -Destination pro určení cesty původu a cíle. Například Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • Windows PowerShell přepis byl vylepšen tak, aby se použil pro všechny hostitelské aplikace (například Windows PowerShell ISE) kromě hostitele konzoly (powershell.exe). Možnosti přepisu (včetně povolení přepisu pro celý systém) se dají nakonfigurovat povolením nastavení zapnout Zásady skupiny přepisu PowerShellu, které najdete v šablonách pro správu, součástech systému Windows nebo Windows PowerShell.

  • Nová podrobná funkce trasování skriptů umožňuje povolit podrobné sledování a analýzu Windows PowerShell skriptování v systému. Po povolení podrobného trasování skriptů Windows PowerShell protokoluje všechny bloky skriptů do protokolu událostí Trasování událostí pro Windows (ETW), Microsoft-Windows-PowerShell/Operational.

  • Počínaje Windows PowerShell 5.0 podporují nové rutiny syntaxe kryptografických zpráv šifrování a dešifrování obsahu pomocí standardního formátu IETF pro kryptograficky chráněné zprávy, jak je dokumentováno dokumentem RFC5652. Rutiny Get-CmsMessage, Protect-CmsMessage a Unprotect-CmsMessage byly přidány do modulu Microsoft.PowerShell.Security .

  • Nové rutiny v modulu Microsoft.PowerShell.Utility , Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug a Disable-RunspaceDebug, umožňují nastavit možnosti ladění v prostředí Runspace a spustit a zastavit ladění v prostředí Runspace. Pro ladění libovolných prostředí runspace (to znamená runspaces, které nejsou výchozím prostředím runspace pro Windows PowerShell konzolu nebo Windows PowerShell relaci ISE) Windows PowerShell umožňuje nastavit zarážky ve skriptu a přidat zarážky zastavit spuštění skriptu, dokud nebudete moct připojit ladicí program k ladění skriptu runspace. Podpora vnořeného ladění pro libovolné prostředí runspaces byla přidána do ladicího programu skriptu Windows PowerShell pro runspaces.

  • Do modulu Microsoft.PowerShell.Utility byla přidána nová rutina Format-Hex. Format-Hex umožňuje zobrazit textová nebo binární data v šestnáctkovém formátu.

  • Get-Clipboard a Set-Clipboard rutiny byly přidány do modulu Microsoft.PowerShell.Utility; usnadňují přenos obsahu do a z relace Windows PowerShell. Rutiny schránky podporují obrázky, zvukové soubory, seznamy souborů a text.

  • Do modulu Microsoft.PowerShell.Management byla přidána nová rutina Clear-RecycleBin; Tato rutina vyprázdní koš pro pevnou jednotku, která zahrnuje externí jednotky. Ve výchozím nastavení se zobrazí výzva k potvrzení příkazu Clear-RecycleBin, protože vlastnost ConfirmImpact rutiny je nastavená na ConfirmImpact.High.

  • Nová rutina New-TemporaryFile umožňuje vytvořit dočasný soubor jako součást skriptování. Ve výchozím nastavení je nový dočasný soubor vytvořen v C:\Users\<user name>\AppData\Local\Temp.

  • Rutiny Out-File, Add-Content a Set-Content teď mají nový parametr -NoNewline, který za výstupem vynechá nový řádek.

  • Rutina New-Guid využívá třídu GUID rozhraní .NET Framework k vygenerování identifikátoru GUID, která je užitečná při psaní skriptů nebo prostředků DSC.

  • Vzhledem k tomu, že informace o verzi souboru mohou být zavádějící, zejména po opravě souboru, jsou pro objekty FileInfo k dispozici nové vlastnosti skriptu FileVersionRaw a ProductVersionRaw. Spuštěním následujícího příkazu můžete například zobrazit hodnoty těchto vlastností pro powershell.exe, kde $pid obsahuje ID procesu pro spuštěnou relaci Windows PowerShell:Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • Nové rutiny Enter-PSHostProcess a Exit-PSHostProcess umožňují ladit Windows PowerShell skripty v procesech odděleně od aktuálního procesu spuštěného v konzole Windows PowerShell. Spuštěním Enter-PSHostProcess zadejte nebo připojte konkrétní ID procesu a spusťte Get-Runspace, aby se vrátily aktivní prostory runspace v rámci procesu. Po dokončení ladění skriptu v rámci procesu spusťte Exit-PSHostProcess odpojit od procesu.

  • Do modulu Microsoft.PowerShell.Utility byla přidána nová rutina Wait-Debugger. Před spuštěním dalšího příkazu ve skriptu můžete spustit Wait-Debugger zastavit skript v ladicím programu.

  • Ladicí program pracovního postupu Windows PowerShell teď podporuje dokončování příkazů nebo tabulátoru a můžete ladit vnořené funkce pracovního postupu. Teď můžete stisknutím kombinace kláves Ctrl+Break zadat ladicí program do spuštěného skriptu, v místních i vzdálených relacích a ve skriptu pracovního postupu.

  • Do modulu Microsoft.PowerShell.Core byla přidána rutina Debug-Job pro ladění spuštěných skriptů úloh pro Windows PowerShell Pracovní postup, pozadí a úlohy spuštěné ve vzdálených relacích.

  • Pro úlohy Windows PowerShell se přidal nový stav AtBreakpoint. Stav AtBreakpoint platí, když úloha spouští skript, který obsahuje nastavené zarážky, a skript se dostal na zarážku. Pokud je úloha zastavena na zarážce ladění, je nutné úlohu ladit spuštěním rutiny Debug-Job.

  • Windows PowerShell 5.0 implementuje podporu pro více verzí jednoho modulu Windows PowerShell ve stejné složce v $PSModulePath. Do třídy ModuleSpecification byla přidána vlastnost RequiredVersion, která vám pomůže získat požadovanou verzi modulu; tato vlastnost se vzájemně vylučují s ModuleVersion vlastnost. RequiredVersion se teď podporuje jako součást hodnoty parametru FullyQualifiedName rutin Get-Module, Import-Module a Remove-Module.

  • Teď můžete provést ověření verze modulu spuštěním rutiny Test-ModuleManifest.

  • Výsledky rutiny Get-Command teď zobrazují sloupec Verze; Do třídy CommandInfo byla přidána nová vlastnost Version. Get-Command zobrazuje příkazy z více verzí stejného modulu. Vlastnost Version je také součástí odvozených tříd RutinInfo: RutinInfo a ApplicationInfo.

  • Get-Command má nový parametr -ShowCommandInfo, který vrátí informace ShowCommand jako PSObjects. To je zvlášť užitečné, pokud Show-Command běží v Windows PowerShell ISE pomocí vzdálené komunikace Windows PowerShell. Parametr -ShowCommandInfo nahrazuje stávající funkci Get-SerializedCommand v modulu Microsoft.PowerShell.Utility, ale skript Get-SerializedCommand je stále dostupný pro podporu skriptování nižší úrovně.

  • Nová rutina Get-ItemPropertyValue umožňuje získat hodnotu vlastnosti bez použití zápisu tečky. Například ve starších verzích Windows PowerShell můžete spuštěním následujícího příkazu získat hodnotu základní vlastnosti aplikace klíče registru PowerShellEngine: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase). ApplicationBase. Počínaje Windows PowerShell 5.0 můžete spustit Rutinu Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • Konzola Windows PowerShell teď používá barevné barvy syntaxe, stejně jako v Windows PowerShell ISE.

  • Nový modul NetworkSwitch obsahuje rutiny, které umožňují použít přepínač, virtuální síť LAN (VLAN) a základní konfiguraci portů síťového přepínače vrstvy 2 pro Windows Server 2012 síťových přepínačů certifikovaných logem R2.

  • Parametr FullyQualifiedName byl přidán do rutin Import-Module a Remove-Module pro podporu ukládání více verzí jednoho modulu.

  • Save-Help, Update-Help, Import-PSSession, Export-PSSession a Get-Command mají nový parametr FullyQualifiedModule typu ModuleSpecification. Přidejte tento parametr pro zadání modulu podle jeho plně kvalifikovaného názvu.

  • Hodnota $PSVersionTable.PSVersion byla aktualizována na 5.0.

  • WMF 5.0 (PowerShell 5.0) obsahuje modul Pester . Pester je architektura testování jednotek pro PowerShell. Nabízí několik jednoduchých klíčových slov, která umožňují vytvářet testy pro skripty.

Nové funkce v Windows PowerShell Desired State Configuration

  • Windows PowerShell vylepšení jazyka umožňují definovat prostředky Windows PowerShell Desired State Configuration (DSC) pomocí tříd. Import-DscResource je nyní pravdivé dynamické klíčové slovo; Windows PowerShell parsuje kořenový modul zadaného modulu a vyhledá třídy, které obsahují atribut DscResource. Teď můžete pomocí tříd definovat prostředky DSC, ve kterých není vyžadován soubor MOF ani podsložka DSCResource ve složce modulu. Soubor modulu Windows PowerShell může obsahovat více tříd prostředků DSC.
  • Do následujících rutin modulu PSDesiredStateConfiguration byl přidán nový parametr ThrottleLimit. Přidejte parametr ThrottleLimit a určete počet cílových počítačů nebo zařízení, na kterých má příkaz pracovat současně.
    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • S centralizovaným zasíláním zpráv o chybách DSC se bohaté informace o chybách protokolují nejen v protokolu událostí, ale dají se odeslat do centrálního umístění pro pozdější analýzu. Toto centrální umístění můžete použít k ukládání chyb konfigurace DSC, ke kterým došlo u libovolného serveru v jejich prostředí. Po definování serveru sestav v meta-konfiguraci se všechny chyby odesílají na server sestav a uloží se do databáze. Tuto funkci můžete nastavit bez ohledu na to, jestli je cílový uzel nakonfigurovaný tak, aby načítá konfigurace ze serveru vyžádané replikace.
  • Vylepšení vytváření prostředků DSC Windows PowerShell ISE. Teď můžete provést následující akce.
    • Seznam všech prostředků DSC v rámci bloku konfigurace nebo uzlu zadáním ctrl+mezerník na prázdném řádku v bloku
    • Automatické dokončování vlastností prostředku typu výčtu .
    • Automatické dokončování u vlastností DependsOn prostředků DSC na základě jiných instancí prostředků v konfiguraci.
    • Vylepšené dokončování vlastností prostředků pomocí tabulátoru
  • Uživatel teď může spustit prostředek pod zadanou sadou přihlašovacích údajů přidáním atributu PSDscRunAsCredential do bloku uzlu. Například PSDscRunAsCredential = Get-Credential Contoso\DscUser. Tato funkce je užitečná pro vytváření konfigurací, na kterých běží Instalační služba systému Windows a spustitelné instalační programy, přístup k podregistru registru uživatele nebo provádění dalších úloh mimo aktuální kontext uživatele.
  • Pro klíčové slovo Konfigurace byla přidána podpora 32bitové verze (x86).
  • Windows PowerShell teď zahrnuje podporu vlastní nápovědy pro konfigurace DSC definované přidáním [RutinBinding()] do vygenerované konfigurační funkce.
  • Nový atribut DscLocalConfigurationManager označuje blok konfigurace jako metakonfiguraci, který slouží ke konfiguraci místního Configuration Manager DSC. Tento atribut omezuje konfiguraci pouze na položky, které konfigurují místní Configuration Manager DSC. Během zpracování tato konfigurace vygeneruje soubor *.meta.mof, který se pak odešle do příslušných cílových uzlů spuštěním rutiny Set-DscLocalConfigurationManager.
  • Částečné konfigurace jsou teď povolené v Windows PowerShell 5.0. Do uzlu můžete doručovat konfigurační dokumenty v fragmentech. Aby uzel přijímal více fragmentů konfiguračního dokumentu, musí být nejprve nastaven místní Configuration Manager uzlu, aby určil očekávané fragmenty.
  • Synchronizace mezi počítači je v DSC v Windows PowerShell 5.0 nová. Pomocí předdefinovaných prostředků WaitFor* (WaitForAll, WaitForAny a WaitForSome) teď můžete určit závislosti mezi počítači během spuštění konfigurace bez externích orchestrací. Tyto prostředky poskytují synchronizaci uzlů na uzel pomocí připojení CIM přes protokol WS-Man. Konfigurace může čekat, až se změní konkrétní stav prostředku jiného počítače.
  • Just Enough Administration (JEA), nová funkce zabezpečení delegování, využívá DSC a Windows PowerShell omezené runspaces k zabezpečení podniků před ztrátou dat nebo ohrožením zaměstnanců, ať už úmyslně nebo neúmyslně. Další informace o JEA, včetně místa, kde si můžete stáhnout prostředek xJEA DSC, najdete v tématu Just Enough Administration.
  • Do modulu PSDesiredStateConfiguration byly přidány následující nové rutiny.
    • Nová rutina Get-DscConfigurationStatus získá základní informace o stavu konfigurace z cílového uzlu. Můžete získat stav poslední nebo všech konfigurací.
    • Nová rutina Compare-DscConfiguration porovnává zadanou konfiguraci se skutečným stavem jednoho nebo více cílových uzlů.
    • Nová rutina Publish-DscConfiguration zkopíruje konfigurační soubor MOF do cílového uzlu, ale nepoužije konfiguraci. Konfigurace se použije během dalšího průchodu konzistence nebo při spuštění rutiny Update-DscConfiguration.
    • Nová rutina Test-DscConfiguration umožňuje ověřit, že výsledná konfigurace odpovídá požadované konfiguraci, a vrátí hodnotu True, pokud konfigurace odpovídá požadované konfiguraci, nebo nepravda, pokud skutečná konfigurace neodpovídá požadované konfiguraci.
    • Nová rutina Update-DscConfiguration vynutí zpracování konfigurace. Pokud je místní Configuration Manager v režimu vyžádání obsahu, rutina před použitím získá konfiguraci ze serveru vyžádané replikace.

Nové funkce v Windows PowerShell ISE

  • Teď můžete upravit vzdálené Windows PowerShell skripty a soubory v místní kopii Windows PowerShell ISE spuštěním Enter-PSSession spustit vzdálenou relaci na počítači, který ukládá soubory, které chcete upravit, a potom na vzdáleném počítači> spustit cestu a název souboru PSEdit<. Tato funkce usnadňuje úpravy Windows PowerShell souborů uložených v možnosti instalace jádra serveru systému Windows Server, kde Windows PowerShell ISE nelze spustit.
  • Rutina Start-Transcript je teď podporovaná v Windows PowerShell ISE.
  • Vzdálené skripty teď můžete ladit v Windows PowerShell ISE.
  • Nový příkaz nabídky Break All (Ctrl+B) se rozdělí do ladicího programu pro místní i vzdálené skripty.

Nové funkce ve webových službách Windows PowerShell (rozšíření OData IIS pro správu)

  • Počínaje verzí Windows PowerShell 5.0 můžete vygenerovat sadu rutin Windows PowerShell na základě funkcí vystavených daným koncovým bodem OData spuštěním rutiny Export-ODataEndpointProxy, kterou najdete v novém modulu Microsoft.PowerShell.OdataUtils.

Opravy chyb v Windows PowerShell 5.0

  • Windows PowerShell 5.0 zahrnuje novou implementaci modelu COM, která nabízí výrazné vylepšení výkonu při práci s objekty COM. Video s ukázkou efektu najdete v tématu Com_Perf_Improvements.
  • K prvnímu dokončení tabulátoru v relaci Windows PowerShell došlo k významným vylepšením výkonu, což zkracuje dobu dokončení tabulátoru téměř o 500 ms.

Nové funkce v Windows PowerShell 4.0

Windows PowerShell 4.0 je zpětně kompatibilní. Rutiny, poskytovatelé, moduly, moduly, moduly, skripty, funkce a profily navržené pro Windows PowerShell 3.0 a Windows PowerShell 2.0 fungují v Windows PowerShell 4.0 beze změn.

Windows PowerShell 4.0 je standardně nainstalován na Windows 8.1 a Windows Server 2012 R2. Pokud chcete nainstalovat Windows PowerShell 4.0 ve Windows 7 s aktualizací SP1 nebo Windows Server 2008 R2, stáhněte a nainstalujte Windows Management Framework 4.0. Než nainstalujete Windows Management Framework 4.0, nezapomeňte si přečíst podrobnosti o stažení a splnit všechny systémové požadavky.

Windows PowerShell 4.0 obsahuje následující nové funkce.

Nové funkce v Windows PowerShell

  • Windows PowerShell Desired State Configuration (DSC) je nový systém správy v Windows PowerShell 4.0, který umožňuje nasazení a správu konfiguračních dat pro softwarové služby a prostředí, ve kterém tyto služby běží. Další informace o DSC najdete v tématu Začínáme s Windows PowerShell Desired State Configuration.
  • Uložit nápovědu teď umožňuje uložit nápovědu pro moduly nainstalované na vzdálených počítačích. Pomocí Save-Help můžete stáhnout nápovědu modulu z klienta připojeného k internetu (na kterém nejsou všechny moduly, pro které chcete pomoc nutně nainstalovat), a potom zkopírovat uloženou nápovědu do vzdálené sdílené složky nebo vzdáleného počítače, který nemá přístup k internetu.
  • Ladicí program Windows PowerShell byl vylepšen tak, aby umožňoval ladění pracovních postupů Windows PowerShell a skriptů spuštěných na vzdálených počítačích. Windows PowerShell pracovní postupy je teď možné ladit na úrovni skriptu z příkazového řádku Windows PowerShell nebo Windows PowerShell ISE. Windows PowerShell skripty, včetně pracovních postupů skriptů, se teď dají ladit přes vzdálené relace. Relace vzdáleného ladění se zachovají přes Windows PowerShell vzdálené relace, které jsou odpojené a později se znovu připojí.
  • Parametr RunNow pro Register-ScheduledJob a Set-ScheduledJob eliminuje nutnost nastavit okamžité datum a čas pro úlohy pomocí parametru Trigger .
  • Invoke-RestMethod a Invoke-WebRequest teď umožňují nastavit všechna záhlaví pomocí parametru Headers. I když tento parametr vždy existoval, byl to jeden z několika parametrů webových rutin, které způsobily výjimky nebo chyby.
  • Get-Module má nový parametr FullyQualifiedName typu ModuleSpecification[]. Parametr FullyQualifiedName Get-Module teď umožňuje zadat modul pomocí názvu, verze a volitelně jeho identifikátoru GUID modulu.
  • Výchozí nastavení zásad spouštění pro Windows Server 2012 R2 je RemoteSigned. Na Windows 8.1 neexistuje žádná změna výchozího nastavení.
  • Od verze Windows PowerShell 4.0 se podporuje vyvolání metody pomocí dynamických názvů metod. Proměnnou můžete použít k uložení názvu metody a dynamické vyvolání metody voláním proměnné.
  • Asynchronní úlohy pracovního postupu už nejsou odstraněny, pokud uplynulo časové období určené běžným parametrem pracovního postupu PSElapsedTimeoutSec .
  • Nový parametr RepeatIndefinitely byl přidán do rutin New-JobTrigger a Set-JobTrigger . Tím se eliminuje nutnost zadat hodnotu TimeSpan.MaxValue pro parametr OpakováníDuration , aby se naplánovaná úloha spouštěla opakovaně po neomezenou dobu.
  • Parametr Passthru byl přidán do rutin Enable-JobTrigger a Disable-JobTrigger . Parametr Passthru zobrazí všechny objekty vytvořené nebo upravené příkazem.
  • Názvy parametrů pro zadání pracovní skupiny v rutinách Add-Computer a Remove-Computer jsou teď konzistentní. Obě rutiny teď používají parametr WorkgroupName.
  • Byl přidán nový společný parametr PipelineVariable. PipelineVariable umožňuje uložit výsledky příkazu s kanálem (nebo jeho část) jako proměnnou, která se dá předat zbývající částí kanálu.
  • Filtrování kolekcí pomocí syntaxe metody se teď podporuje. To znamená, že teď můžete filtrovat kolekci objektů pomocí zjednodušené syntaxe, podobně jako u Where() nebo Where-Object, formátované jako volání metody. Následuje příklad: (Get-Process).where({$_. Název -match 'powershell'})
  • Rutina Get-Process má nový parametr přepínače IncludeUserName.
  • Byla přidána nová rutina Get-FileHash, která vrací hodnotu hash souboru v jednom z několika formátů pro zadaný soubor.
  • V Windows PowerShell 4.0 modul používá v manifestu klíč DefaultCommandPrefix nebo pokud uživatel importuje modul s parametrem Předpony, vlastnost ExportedCommands modulu zobrazuje příkazy v modulu s předponou. Když příkazy spustíte pomocí syntaxe kvalifikované pro modul, ModuleName\CommandName, názvy příkazů musí obsahovat předponu.
  • Hodnota $PSVersionTable.PSVersion byla aktualizována na 4.0.
  • Chování operátoru Where() se změnilo. Collection.Where('property -match name') Přijetí řetězcového výrazu ve formátu "Property -CompareOperator Value" již není podporováno. Operátor Where() však přijímá řetězcové výrazy ve formátu scriptblock; to je stále podporováno.

Nové funkce v integrovaném skriptovacím prostředí (ISE) Windows PowerShell

  • Windows PowerShell ISE podporuje ladění pracovního postupu Windows PowerShell i ladění vzdáleného skriptu.
  • Byla přidána podpora Technologie IntelliSense pro poskytovatele a konfigurace Windows PowerShell Desired State Configuration.

Nové funkce v pracovním postupu Windows PowerShell

  • Byla přidána podpora pro nový společný parametr PipelineVariable v kontextu iterativních kanálů, jako jsou například kanály používané nástrojem System Center Orchestrator; to znamená, že kanály, které spouštějí příkazy jednoduše zleva doprava, na rozdíl od prokládání spuštěných pomocí streamování.
  • Vazba parametrů byla výrazně vylepšena tak, aby fungovala mimo scénáře dokončování tabulátoru, jako jsou příkazy, které v aktuálním prostředí runspace neexistují.
  • Podpora vlastních aktivit kontejneru byla přidána do pracovního postupu Windows PowerShell. Pokud je parametr aktivity typu Aktivita, Aktivita[] (nebo je obecnou kolekcí aktivit) a uživatel zadal blok skriptu jako argument, pak Windows PowerShell Pracovní postup převede blok skriptu na XAML, stejně jako u normální kompilace skriptu na pracovní postup Windows PowerShell.
  • Po chybovém ukončení se Windows PowerShell Workflow automaticky znovu připojí ke spravovaným uzlům.
  • Příkazy aktivity Foreach -Parallel teď můžete omezovat pomocí vlastnosti ThrottleLimit .
  • Běžný parametr ErrorAction má novou platnou hodnotu Suspend, která je výhradně určená pro pracovní postupy.
  • Koncový bod pracovního postupu se teď automaticky zavře, pokud neexistují žádné aktivní relace, žádné probíhající úlohy a žádné čekající úlohy. Tato funkce šetří prostředky na počítači, který funguje jako server pracovního postupu, když byly splněny podmínky automatického uzavření.

Nové funkce ve webových službách Windows PowerShell

  • Pokud dojde k chybě ve Windows PowerShell webových službách (PSWS, označované také jako rozšíření služby Management OData IIS), zatímco je spuštěná rutina, vrátí se volajícímu podrobnější chybové zprávy. Kromě toho kódy chyb dodržují pokyny k chybám rozhraní REST API pro Windows Azure.
  • Koncový bod teď může definovat verzi rozhraní API a také vynutit použití konkrétní verze rozhraní API. Kdykoli dojde k neshodě verzí mezi klientem a serverem, zobrazí se pro klienta i server chyby.
  • Správa schématu odeslání byla zjednodušena automatickým generováním hodnot pro všechna chybějící pole ve schématu. Generování se vyskytuje jako užitečný výchozí bod, i když schéma odeslání neexistuje.
  • Zpracování typů v PSWS bylo vylepšeno tak, aby podporovalo typy, které používají jiný konstruktor než výchozí konstruktor, tím, že se chová podobně jako PSTypeConverter v Windows PowerShell. To vám umožní používat složité typy s PSWS.
  • PSWS teď umožňuje rozbalení přidružené instance při spuštění dotazu. U většího binárního obsahu (například obrázků, zvuku nebo videa) jsou náklady na přenos významné a je lepší přenášet binární data bez kódování. PSWS používá pojmenované streamy prostředků pro přenos bez kódování. Pojmenovaný datový proud prostředků je vlastnost entity typu Edm.Stream . Každý pojmenovaný datový proud prostředků má samostatný identifikátor URI pro operace GET nebo UPDATE.
  • Akce OData teď poskytují mechanismus pro vyvolání metod bez CRUD (Create, Read, Update a Delete) u prostředku. Akci můžete vyvolat odesláním požadavku HTTP POST na identifikátor URI, který je definován pro akci. Parametry akce jsou definovány v textu požadavku POST.
  • Aby byly všechny adresy URL konzistentní s pokyny pro Windows Azure, měly by být zjednodušené. Změna zahrnutá v segmentu Klíč jako umožňuje, aby se jednotlivé klíče reprezentovaly jako segmenty. Všimněte si, že odkazy, které používají více hodnot klíče, vyžadují hodnoty oddělené čárkami v závorce jako předtím.
  • Před touto verzí PSWS bylo jediným způsobem, jak provádět operace Vytvoření, Aktualizace nebo Odstranění, vyvolat Post, Put nebo Delete v prostředku nejvyšší úrovně. Nové v této verzi PSWS umožňují uživatelům dosáhnout stejných výsledků a dosáhnout stejného prostředku méně přímo, jako kdyby byly tyto prostředky obsaženy.

Nové funkce ve webovém accessu Windows PowerShell

  • V konzole webového Windows PowerShell Web Accessu se můžete odpojit a znovu se připojit k existujícím relacím. Tlačítko Uložit v webové konzole umožňuje odpojit se od relace, aniž byste ji odstranili a znovu se připojili k relaci jindy.
  • Výchozí parametry se dají zobrazit na přihlašovací stránce. Pokud chcete zobrazit výchozí parametry, nakonfigurujte hodnoty pro všechna nastavení zobrazená v oblasti Volitelné nastavení připojení přihlašovací stránky v souboru s názvem web.config. Soubor web.config můžete použít ke konfiguraci všech volitelných nastavení připojení s výjimkou druhé nebo alternativní sady přihlašovacích údajů.
  • V Windows Server 2012 R2 můžete vzdáleně spravovat autorizační pravidla pro Windows PowerShell Web Access. Rutiny Add-PswaAuthorizationRule a Test-PswaAuthorizationRule teď obsahují parametr Credential, který správcům umožňuje spravovat autorizační pravidla ze vzdáleného počítače nebo v relaci webového accessu Windows PowerShell.
  • Teď můžete mít v jedné relaci prohlížeče více relací Windows PowerShell Web Accessu pomocí nové karty prohlížeče pro každou relaci. Už nemusíte otevírat novou relaci prohlížeče, abyste se mohli připojit k nové relaci ve webové konzole Windows PowerShell.

Opravy chyb v Windows PowerShell 4.0

  • Funkce Get-Counter teď může vracet čítače, které obsahují znak apostrofu ve francouzských edicích Windows.
  • Nyní můžete zobrazit metodu GetType u deserializovaných objektů.
  • #Requires příkazy teď umožňují uživatelům v případě potřeby vyžadovat přístupová práva správce.
  • Rutina Import-Csv teď ignoruje prázdné řádky.
  • Byl opraven problém, kdy Windows PowerShell ISE používá příliš mnoho paměti při spuštění příkazu Invoke-WebRequest.
  • Get-Module teď zobrazuje verze modulů ve sloupci Verze .
  • Remove-Item -Recurse teď odebere položky z podsložek podle očekávání.
  • Vlastnost UserName byla přidána do výstupních objektů Get-Process .
  • Rutina Invoke-RestMethod teď vrátí všechny dostupné výsledky.
  • Doplněk se teď projeví na hashtables, i když k hashtablem ještě nepřistupovaly.
  • Select-Object -Expand již selže nebo vygeneruje výjimku, pokud je hodnota vlastnosti null nebo prázdná.
  • Get-Process se teď dá použít v kanálu s dalšími příkazy, které z objektů získají vlastnost ComputerName .
  • ConvertTo-Json a ConvertFrom-Json teď můžou přijímat termíny v uvozovkách a její chybové zprávy jsou teď lokalizovatelné.
  • Funkce Get-Job teď vrací všechny dokončené naplánované úlohy, a to i v nových relacích.
  • Byly opraveny problémy s připojením a odpojením virtuálních pevných disků pomocí zprostředkovatele FileSystem v Windows PowerShell 4.0. Windows PowerShell teď dokáže rozpoznat nové jednotky, když jsou připojené ve stejné relaci.
  • Moduly ScheduledJob nebo Workflow už nemusíte explicitně načítat, aby fungovaly s jejich typy úloh.
  • Vylepšili jsme výkon procesu importu pracovních postupů, které definují vnořené pracovní postupy; tento proces je teď rychlejší.

Nové funkce v Windows PowerShell 3.0

Windows PowerShell 3.0 obsahuje následující nové funkce.

pracovní postup Windows PowerShell

pracovní postup Windows PowerShell přináší výkon služby Windows Workflow Foundation do Windows PowerShell. Pracovní postupy můžete psát v JAZYCE XAML nebo v jazyce Windows PowerShell a spouštět je stejně jako rutinu. Rutina Get-Command získá příkazy pracovního postupu a rutina získá nápovědu Get-Help pro pracovní postupy.

Pracovní postupy jsou posloupnosti aktivit správy multipočítačů, které jsou dlouhotrvající, opakovatelné, časté, paralelizovatelné, přerušovatelné, pozastavené a restartovatelné. Pracovní postupy je možné obnovit z úmyslného nebo náhodného přerušení, jako je výpadek sítě, restartování systému Windows nebo selhání napájení.

Pracovní postupy jsou také přenosné; je možné je exportovat jako nebo importovat ze souborů XAML. Můžete psát vlastní konfigurace relací, které umožňují spuštění pracovního postupu nebo aktivit v pracovním postupu delegovanými nebo podřízenými uživateli.

Níže jsou uvedené výhody pracovního postupu Windows PowerShell.

  • Automatizace sekvenčních dlouhotrvajících úloh
  • Vzdálené monitorování dlouhotrvajících úloh. Stav a průběh aktivit jsou kdykoli viditelné.
  • Správa multipočítačů. Současně spouštět úlohy jako pracovní postupy na stovkách spravovaných uzlů. Windows PowerShell Workflow obsahuje integrovanou knihovnu běžných parametrů správy, jako je PSComputerName, která umožňuje scénáře správy více počítačů.
  • Provádění složitých procesů s jedním úkolem Můžete kombinovat související skripty, které implementují celý kompletní scénář do jednoho pracovního postupu.
  • Trvalost.: Pracovní postup se uloží (nebo odkazuje na kontrolu) na konkrétní body definované jeho autorem, takže můžete pracovní postup obnovit z posledního trvalého úkolu (nebo kontrolního bodu) místo restartování pracovního postupu od začátku.
  • Robustnost. Automatizované obnovení selhání Pracovní postupy přetrží plánované a neplánované restartování. Spuštění pracovního postupu můžete pozastavit a pak pokračovat v pracovním postupu z posledního bodu trvalosti. Autoři pracovních postupů můžou určit konkrétní aktivity, které se mají znovu spustit v případě selhání na jednom nebo více spravovaných uzlech.
  • Možnost odpojení, opětovné připojení a spuštění v odpojených relacích Uživatelé se můžou připojit a odpojit od serveru pracovního postupu, ale pracovní postup běží nepřetržitě. Můžete se odhlásit z klientského počítače nebo restartovat klientský počítač a monitorovat provádění pracovního postupu z jiného počítače bez přerušení pracovního postupu.
  • Rozvrhování. Úlohy pracovního postupu je možné naplánovat jako libovolnou rutinu nebo skript Windows PowerShell.
  • Omezení pracovního postupu a připojení Spouštění pracovních postupů a připojení k uzlům je možné omezovat, což umožňuje scénáře škálovatelnosti a vysoké dostupnosti.

Windows PowerShell Web Access

Windows PowerShell Web Access je funkce Windows Server 2012, která umožňuje uživatelům spouštět Windows PowerShell příkazy a skripty ve webové konzole. Zařízení, která používají webovou konzolu, nevyžadují Windows PowerShell, software pro vzdálenou správu ani instalace modulů plug-in prohlížeče. Vše, co je potřeba, je správně nakonfigurovaná brána webového accessu Windows PowerShell a prohlížeč klientského zařízení, který podporuje JavaScript a přijímá soubory cookie.

Další informace najdete v tématu Nasazení Windows PowerShell Web Accessu.

Nové funkce Windows PowerShell ISE

Pro Windows PowerShell 3.0 má Windows PowerShell integrované skriptovací prostředí (ISE) řadu nových funkcí, včetně IntelliSense, okna Show-Command, sjednoceného podokna konzoly, fragmentů kódu, závorek, rozbalení sbalených oddílů, automatického ukládání, seznamu posledních položek, bohatého kopírování, kopírování a úplné podpory pro psaní Windows PowerShell skriptů. pracovních postupů. Další informace najdete v tématu about_Windows_PowerShell_ISE.

Podpora rozhraní Microsoft .NET Framework 4

Windows PowerShell je sestavena v modulu Common Language Runtime 4.0. Rutina, skript a autoři pracovních postupů můžou používat nové třídy Microsoft .NET Framework 4 v Windows PowerShell s funkcemi, které zahrnují kompatibilitu a nasazení aplikací, Managed Extensibility Framework, paralelní výpočty, sítě, Windows Communication Foundation a Windows Workflow Foundation.

Podpora prostředí předinstalace systému Windows

Windows PowerShell 3.0 je volitelná součást prostředí Windows Preinstallation Environment (Windows PE) 4.0 pro Windows 8. Prostředí Windows PE je minimální operační systém, který spouští počítač, který nemá žádný operační systém, a připraví ho na instalaci systému Windows. Prostředí Windows PE lze použít k dělení a formátování pevných disků, kopírování imagí disků do počítače a zahájení instalace systému Windows ze sdílené síťové složky. Windows PowerShell 3.0 lze ve Windows PE použít ke správě scénářů nasazení, diagnostiky a obnovení.

Odpojené relace

Počínaje Windows PowerShell 3.0 se na vzdáleném počítači ukládají trvalé relace spravované uživatelem (PSSessions), které vytvoříte pomocí rutiny New-PSSession. Už nejsou závislé na relaci, ve které byly vytvořeny.

Nyní se můžete odpojit od relace bez narušení příkazů spuštěných v relaci. Relaci můžete zavřít a vypnout počítač. Později se můžete k relaci znovu připojit z jiné relace na stejném nebo jiném počítači.

Parametr Get-PSSessionComputerName rutiny teď získá všechny relace uživatele, které se připojují k počítači, i když byly spuštěny v jiné relaci na jiném počítači. Můžete se připojit k relacím, získat výsledky příkazů, spustit nové příkazy a pak se odpojit od relace.

Byly přidány nové rutiny pro podporu funkce Odpojené relace, včetně Disconnect-PSSession, Connect-PSSessiona a Receive-PSSession, a nové parametry byly přidány do rutin, které spravují psSessions, jako je inDisconnectedSession parametr rutiny Invoke-Command .

Funkce Odpojené relace je podporována pouze v případech, kdy počítače na původních ("klient") i ukončení ("server") připojení běží Windows PowerShell 3.0.

Robustní připojení k relaci

Windows PowerShell 3.0 detekuje neočekávané ztráty připojení mezi klientem a serverem a pokusí se znovu vytvořit připojení a obnovit automatické spouštění. Pokud se připojení mezi klientem a serverem nedá znovu publikovat v přiděleném čase, zobrazí se uživateli oznámení a relace se odpojí. Během pokusu o opětovné připojení Windows PowerShell uživateli poskytuje nepřetržitou zpětnou vazbu.

Pokud byla odpojená relace spuštěna pomocí InvokeCommand, Windows PowerShell vytvoří úlohu pro odpojenou relaci, aby se usnadnilo opětovné připojení a obnovení spuštění.

Tyto funkce poskytují spolehlivější a obnovitelné prostředí vzdálené komunikace a umožňují uživatelům provádět dlouhotrvající úlohy, které vyžadují robustní relace, jako jsou pracovní postupy.

Aktualizovatelný systém nápovědy

Teď si můžete stáhnout aktualizované soubory nápovědy pro rutiny v modulech. Rutina Update-Help identifikuje nejnovější soubory nápovědy, stáhne je z internetu, rozbalí je, ověří je a nainstaluje do správného adresáře specifického pro jazyk pro modul.

Chcete-li použít aktualizované soubory nápovědy, stačí zadat Get-Help. Systém Windows ani Windows PowerShell není nutné restartovat. Pokud chcete aktualizovat nápovědu pro moduly v adresáři $pshome, spusťte Windows PowerShell s možností Spustit jako správce.

Pokud chcete podporovat uživatele, kteří nemají přístup k internetu a uživatelé za branami firewall, nová Save-Help rutina stáhne soubory nápovědy do adresáře systému souborů, jako je například sdílená složka. Uživatelé pak mohou pomocí rutiny Update-Help získat aktualizované soubory nápovědy ze sdílené složky.

Pomocí rutiny Update-Help můžete aktualizovat soubory nápovědy pro všechny nebo konkrétní moduly ve všech podporovaných jazykových verzích uživatelského rozhraní. Příkaz můžete dokonce vložit Update-Help do profilu Windows PowerShell. Ve výchozím nastavení Windows PowerShell stahovat soubory nápovědy pro modul maximálně jednou denně.

moduly Windows 8 a Windows Server 2012 neobsahují soubory nápovědy. Chcete-li stáhnout nejnovější soubory nápovědy, zadejte Update-Help. Další informace získáte zadáním Get-Help (bez parametrů) nebo about_Updatable_Help.

Pokud nejsou v počítači nainstalovány soubory nápovědy pro rutinu, Get-Help rutina teď zobrazí automaticky vygenerovanou nápovědu. Automaticky vygenerovaná nápověda obsahuje syntaxi příkazů a pokyny pro použití rutiny Update-Help ke stažení souborů nápovědy.

Každý autor modulu může podporovat aktualizovatelnou nápovědu pro svůj modul. Do modulu můžete zahrnout soubory nápovědy a pomocí aktualizovatelné nápovědy je aktualizovat nebo vynechat soubory nápovědy a pomocí aktualizovatelné nápovědy je nainstalovat. Další informace o podpoře aktualizovatelné nápovědy naleznete v tématu Podpora aktualizovatelné nápovědy.

Rozšířená online nápověda

Windows PowerShell online nápověda je cenným prostředkem pro všechny uživatele, ale je zvlášť důležité, aby uživatelé, kteří neinstalují nebo nemohou instalovat aktualizované soubory nápovědy.

Pokud chcete získat online nápovědu pro libovolnou rutinu Windows PowerShell, zadejte:

Get-Help <cmdlet-name> -Online

Windows PowerShell otevře online verzi tématu nápovědy ve výchozím internetovém prohlížeči.

Funkce Get-Help -Online v Windows PowerShell 3.0 je teď ještě výkonnější, protože funguje i v případě, že soubory nápovědy pro rutinu nejsou nainstalovány v počítači. Funkce Get-Help -Online získá identifikátor URI pro online téma nápovědy z vlastnosti HelpUri rutin a pokročilých funkcí.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923

Počínaje verzí Windows PowerShell 3.0 mohou autoři rutin jazyka C# vyplnit vlastnost HelpUri vytvořením atributu HelpUri ve třídě rutiny. Autoři pokročilých funkcí mohou definovat vlastnost HelpUri u atributu RutinBinding . Hodnota vlastnosti HelpUri musí začínat řetězcem http nebo https.

Hodnotu HelpUri můžete zahrnout také do prvního souvisejícího odkazu souboru nápovědy rutiny založeného na JAZYCE XML nebo souboru . Direktiva odkazu nápovědy založené na komentářích ve funkci

Další informace o podpoře online nápovědy najdete v tématu Podpora online nápovědy v Microsoft Docs.

Integrace CIM

Windows PowerShell 3.0 zahrnuje podporu modelu CIM (Common Information Model), který poskytuje společné definice informací o správě pro systémy, sítě, aplikace a služby, což jim umožňuje výměnu informací o správě mezi heterogenními systémy. Podpora CIM v Windows PowerShell 3.0, včetně možnosti vytvářet Windows PowerShell rutiny založené na nových nebo existujících třídách CIM, příkazech založených na souborech XML definice rutiny, podpora CIM .NET Framework. Rozhraní API, rutiny správy CIM a poskytovatelé rozhraní WMI 2.0

Konfigurační soubory relace

Počínaje Windows PowerShell 3.0 můžete navrhnout vlastní konfiguraci relace pomocí souboru. Nový konfigurační soubor relace umožňuje určit prostředí relací, které používají konfiguraci relace, včetně modulů, skriptů a formátovacích souborů, které se načítají do relací, které rutiny a jazykové prvky můžou uživatelé používat, které moduly a skripty můžou spustit a které proměnné uvidí.

Můžete navrhnout relaci, ve které uživatelé můžou rutiny spouštět jenom z jednoho konkrétního modulu, nebo relaci, ve které mají uživatelé plný jazyk, přístup ke všem modulům a přístup ke skriptům, které provádějí pokročilé úlohy.

V předchozích verzích Windows PowerShell byl ovládací prvek na této úrovni k dispozici pouze těm, kteří mohli napsat program jazyka C# nebo složitý spouštěcí skript. Teď může každý člen skupiny Administrators v počítači přizpůsobit konfiguraci relace pomocí konfiguračního souboru.

K vytvoření konfiguračního souboru relace použijte rutinu New-PSSessionConfigurationFile . Pokud chcete použít konfigurační soubor relace na konfiguraci relace, použijte Register-PSSessionConfiguration rutiny Set-PSSessionConfiguration.

Další informace najdete v tématu about_Session_Configuration_Files a New-PSSessionConfigurationFile.

Integrace naplánovaných úloh a plánovače úloh

Teď můžete naplánovat úlohy na pozadí Windows PowerShell a spravovat je v Windows PowerShell a v Plánovači úloh.

Windows PowerShell naplánované úlohy jsou užitečné hybridní úlohy Windows PowerShell úloh na pozadí a úkolů plánovače úloh.

Stejně jako Windows PowerShell úlohy na pozadí se naplánované úlohy spouští asynchronně na pozadí. Instance naplánovaných úloh, které byly dokončeny, je možné spravovat pomocí rutin úloh, například Start-Job a Get-Job.

Podobně jako úlohy plánovače úloh můžete spouštět naplánované úlohy na jednorázovém nebo opakujícím se plánu nebo v reakci na akci nebo událost. V Plánovači úloh můžete zobrazit a spravovat naplánované úlohy, podle potřeby je povolit a zakázat, spustit je nebo je používat jako šablony a nastavit podmínky, za kterých se úlohy spouští.

Kromě toho se naplánované úlohy dodávají s přizpůsobenou sadou rutin pro jejich správu. Rutiny umožňují vytvářet, upravovat, spravovat, zakázat a znovu povolit naplánované úlohy, vytvářet triggery naplánované úlohy a nastavit možnosti naplánované úlohy.

Další informace o naplánovaných úlohách najdete v tématu about_Scheduled_Jobs.

Vylepšení jazyka Windows PowerShell

Windows PowerShell 3.0 obsahuje řadu funkcí navržených tak, aby byl jeho jazyk jednodušší, snadněji použitelný a aby se předešlo běžným chybám. Mezi vylepšení patří výčet vlastností, počet a délka vlastností skalárních objektů, nové operátory přesměrování, modifikátor oboru $Using PSItem, automatické proměnné PSItem, formátování flexibilního skriptu, atributy proměnných, zjednodušené argumenty atributů, číselné názvy příkazů, operátor Stop-Parsing, vylepšené dělení polí, nové bitové operátory, seřazené slovníky, přetypování PSCustomObject a vylepšená nápověda založená na komentářích.

Nové základní rutiny

Do instalace Windows PowerShell byly přidány nové rutiny, včetně rutin pro správu naplánovaných úloh, odpojených relací, integrace CIM a updatable help system.

  • CimCmdlets
    • Get-CimAssociatedInstance
    • Get-CimClass
    • Get-CimInstance
    • Get-CimSession
    • Invoke-CimMethod
    • New-CimInstance
    • New-CimSession
    • New-CimSessionOption
    • Register-CimIndicationEvent
    • Remove-CimInstance
    • Remove-CimSession
    • Set-CimInstance
  • Microsoft.PowerShell.Core
    • Connect-PSSession
    • Disconnect-PSSession
    • New-PSSessionConfigurationFile
    • New-PSTransportOption
    • Receive-PSSession
    • Resume-Job
    • Save-Help
    • Suspend-Job
    • Test-PSSessionConfigurationFile
    • Update-Help
  • Microsoft.PowerShell.Diagnostics
    • New-WinEvent
  • Microsoft.PowerShell.Management
    • Get-ControlPanelItem
    • Rename-Computer
    • Show-ControlPanelItem
  • Microsoft.PowerShell.Utility
    • ConvertFrom-Json
    • ConvertTo-Json
    • Get-TypeData
    • Invoke-RestMethod
    • Invoke-WebRequest
    • Remove-TypeData
    • Show-Command
    • Unblock-File
  • PSScheduledJob
    • Add-JobTrigger
    • Disable-JobTrigger
    • Disable-ScheduledJob
    • Enable-JobTrigger
    • Enable-ScheduledJob
    • Get-JobTrigger
    • Get-ScheduledJob
    • Get-ScheduledJobOption
    • New-JobTrigger
    • New-ScheduledJobOption
    • Register-ScheduledJob
    • Set-JobTrigger
    • Set-ScheduledJob
    • Set-ScheduledJobOption
    • Unregister-ScheduledJob
  • PSWorkflow
    • New-PSWorkflowExecutionOption
    • New-PSWorkflowSession
  • PSWorkflowUtility
    • Invoke-AsWorkflow
  • ISE
    • Get-IseSnippet
    • Import-IseSnippet
    • New-IseSnippet

Vylepšení existujících základních rutin a poskytovatelů

Windows PowerShell 3.0 obsahuje nové funkce pro existující rutiny, včetně zjednodušené syntaxe a nových parametrů pro následující rutiny: Počítačové rutiny, rutiny CSV, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security rutiny, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member a WMI rutiny.

Poskytovatelé Windows PowerShell se také výrazně zlepšili, včetně podpory poskytovatele certifikátů pro správu certifikátů SSL (Secure Socket Layer) pro hostování webů, podporu přihlašovacích údajů, trvalých síťových jednotek a alternativních datových proudů v jednotkách systému souborů.

Import a zjišťování vzdáleného modulu

Windows PowerShell 3.0 rozšiřuje možnosti zjišťování, importu a implicitní vzdálené komunikace na vzdálených počítačích. Rutiny modulu získávají moduly na vzdálených počítačích a importují moduly do vzdáleného nebo místního počítače pomocí Windows PowerShell vzdálené komunikace. Nová podpora relace CIM umožňuje používat CIM a WMI ke správě počítačů, které nejsou windows, importováním příkazů do místního počítače, který běží implicitně na vzdáleném počítači.

Další informace najdete v tématech nápovědy k rutinám Get-Module a Import-Module rutinám.

Vylepšené dokončování tabulátoru

Dokončování tabulátoru v konzole Windows PowerShell nyní dokončí názvy rutin, parametrů, hodnot parametrů, výčtů, typů rozhraní .NET Framework, objektů COM, skrytých adresářů a dalších. Funkce dokončování tabulátoru se kompletně přepíše na základě nového analyzátoru a abstraktního stromu syntaxe, aby podporovala více scénářů, včetně parsování stromů v paměti a dokončení střední čáry tabulátoru.

Automatické načítání modulu

Rutina Get-Command teď získá všechny rutiny a funkce ze všech modulů nainstalovaných v počítači, i když se modul neimportuje do aktuální relace.

Jakmile získáte požadovanou rutinu, můžete ji okamžitě použít bez importu modulů. Windows PowerShell moduly se teď automaticky importují při použití jakékoli rutiny v modulu. Modul už nemusíte hledat a importovat ho, abyste mohli používat jeho rutiny.

Automatický import modulů se aktivuje pomocí rutiny v příkazu, spuštění Get-Command rutiny pro rutinu bez zástupných znaků nebo spuštění Get-Help rutiny bez zástupných znaků.

Automatický import modulů můžete povolit, zakázat a nakonfigurovat pomocí proměnné předvoleb $PSModuleAutoLoadingPreference .

Další informace najdete v tématech about_Modules, about_Preference_Variables a nápovědy pro tyto Get-Command rutiny Import-Module .

Vylepšení prostředí modulu

Windows PowerShell 3.0 přináší rozšířenou podporu funkcí modulům, včetně následujících nových funkcí.

  1. Protokolování modulů pro jednotlivé moduly (LogPipelineExecutionDetails) a nové nastavení Zapnout Zásady skupiny protokolování modulů
  2. Rozšířené objekty modulu, které zpřístupňují hodnoty z manifestu modulu
  3. Nová vlastnost ExportedCommands modulů, včetně vnořených modulů, která kombinuje příkazy všech typů
  4. Vylepšené zjišťování dostupných (neimportovaných) modulů, včetně povolení parametrů Path a ListAvailable ve stejném příkazu
  5. Nový klíč DefaultCommandPrefix v manifestech modulu, který zabraňuje konfliktům názvů beze změny kódu modulu.
  6. Vylepšené požadavky na moduly, včetně plně kvalifikovaných požadovaných modulů s verzí a identifikátorem GUID a automatickým importem požadovaných modulů
  7. Klidnější, zjednodušená operace rutiny New-ModuleManifest .
  8. Nový parametr modulu pro #Requires
  9. Vylepšená rutina Import-Module s parametry MinimumVersion i RequiredVersion

Zjednodušené zjišťování příkazů

Už nemusíte importovat všechny moduly, abyste zjistili příkazy dostupné pro vaši relaci. V Windows PowerShell 3.0 rutina Get-Command získá všechny příkazy ze všech nainstalovaných modulů. A pokud použijete příkaz, modul, který příkaz exportuje, se automaticky naimportuje do relace.

Nová Show-Command rutina je navržena zejména pro začátečníky. Příkazy můžete vyhledat v okně. Můžete zobrazit všechny příkazy nebo filtrovat podle modulu, importovat modul kliknutím na tlačítko, pomocí textových polí a rozevíracích seznamů vytvořit platný příkaz a potom příkaz zkopírovat nebo spustit bez opuštění okna.

Vylepšená podpora protokolování, diagnostiky a Zásady skupiny

Windows PowerShell 3.0 zlepšuje podporu protokolování a trasování příkazů a modulů s podporou pro protokoly Trasování událostí ve Windows (ETW), upravitelnou vlastnost LogPipelineExecutionDetails modulů a nastavení Zapnout protokolování modulů Zásady skupiny. Hodnoty parametrů teď můžete získat z podrobností protokolu zobrazením vlastností protokolu.

Vylepšení formátování a výstupu

Nové vylepšení formátování a výstupu zlepšují efektivitu všech uživatelů Windows PowerShell. Mezi vylepšení patří přesměrování výstupu pro všechny streamy, vylepšená rutina Update-Type, která přidává typy dynamicky bez souborů Format.ps1xml, zalamování slov ve výstupu, výchozí vlastnosti formátování vlastních objektů, typ PSCustomObject , vylepšené formátování pro objekty WMI a heterogenní objekty a podporu pro zjišťování přetížení metody.

Rozšířené prostředí hostitele konzoly

Hostitelský program konzoly Windows PowerShell má ve výchozím nastavení nové funkce Windows PowerShell 3.0, včetně apartmánu s jedním vláknem. Nová možnost Spustit pomocí PowerShellu v Průzkumník souborů umožňuje spouštět skripty v neomezené relaci pouhým kliknutím pravým tlačítkem myši. Logika spuštění nového hostitele konzoly Windows PowerShell rychlejší a nová písma umožňují přizpůsobit známé prostředí okna konzoly.

Nová rutina a rozhraní API pro hostování

Nové rozhraní API pro rutiny a rozhraní API pro hostování zahrnují veřejná pokročilá rozhraní API syntaxe (AST) a rozhraní API pro stránkování kanálu, vnořené kanály, dokončování karet fondů runspace, Windows RT, zastaralý atribut rutiny a vlastnosti slovesa a jmenné jméno objektu FunctionInfo.

Zvýšení výkonu

Významná vylepšení výkonu v Windows PowerShell pocházejí z nového analyzátoru jazyka, který je založený na dynamickém jazyce (DLR) v rozhraní .NET Framework 4., spolu s kompilací skriptů modulu, vylepšeními spolehlivosti motoru a změnami algoritmu, který zlepšuje jeho výkon, zejména při vyhledávání síťových Get-ChildItem sdílených složek.

Podpora spuštění a sdíleného hostitele

Windows PowerShell 3.0 zahrnuje podporu funkcí RunAs a Shared Host.

Funkce RunAs navržená pro pracovní postup Windows PowerShell umožňuje uživatelům konfigurace relace vytvářet relace, které běží s oprávněním sdíleného uživatelského účtu. To umožňuje méně privilegovaným uživatelům spouštět konkrétní příkazy a skripty s oprávněními správce a snižuje potřebu přidávání méně starších uživatelů do skupiny Administrators.

Funkce SharedHost umožňuje více uživatelům na více počítačích se připojit k relaci pracovního postupu souběžně a sledovat průběh pracovního postupu. Uživatelé můžou spustit pracovní postup na jednom počítači a pak se připojit k relaci pracovního postupu na jiném počítači bez odpojení relace od původního počítače. Uživatelé musí mít stejná oprávnění a používají stejnou konfiguraci relace. Další informace najdete v tématu Spuštění pracovního postupu Windows PowerShell v Začínáme s pracovním postupem Windows PowerShell.

Vylepšení speciálního zpracování znaků

Pokud chcete zlepšit schopnost Windows PowerShell 3.0 interpretovat a správně zpracovávat speciální znaky, je parametr LiteralPath, který zpracovává speciální znaky v cestách, platný pro téměř všechny rutiny, které mají parametr Path, včetně nových Update-Help a Save-Help rutin. Analyzátor obsahuje také speciální logiku pro zlepšení zpracování znaku backtick (`) a hranatých závorek v názvech a cestách souborů.

Viz také