Sdílet prostřednictvím


Co je nového ve Windows PowerShell 5.0

Windows PowerShell 5.0 přináší významné nové funkce, které rozšiřují jeho využití, zlepšují použitelnost a umožňují snadněji a komplexněji ovládat a spravovat prostředí založená na Windows.

Windows PowerShell 5.0 je zpětně kompatibilní. Cmdlety, poskytovatelé, moduly, snap-iny, skripty, funkce a profily navržené pro Windows PowerShell 4.0, Windows PowerShell 3.0 a Windows PowerShell 2.0 obvykle fungují ve Windows PowerShell 5.0 bez změn.

Instalace Windows PowerShell

Windows PowerShell 5.0 je ve výchozím nastavení nainstalován na Windows Server 2016 Technical Preview a Windows 10.

Pro instalaci Windows PowerShell 5.0 na Windows Server 2012 R2, Windows 8.1 Enterprise nebo Windows 8.1 Pro si stáhněte a nainstalujte Windows Management Framework 5.0. Před instalací Windows Management Framework 5.0 si nezapomeňte přečíst podrobnosti o stažení a splnit všechny systémové požadavky.

V tomto tématu

Aktualizace Windows PowerShell 4.0 v listopadu 2014 (KB 3000850)

Mnoho aktualizací a vylepšení Windows PowerShell Desired State Configuration (DSC) ve Windows PowerShell 4.0 je dostupných v listopadovém balíčku aktualizací 2014 pro Windows RT 8.1, Windows 8.1 a Windows Server 2012 R2 (KB3000850). Zjistit, zda je KB3000850 nainstalováno na vašem systému, můžete spustit Get-Hotfix -Id KB3000850 v Windows PowerShell.

  • Aktualizace stávajících cmdletů v modulu PSDesiredStateConfiguration

  • Nové cmdlety v modulu PSDesiredStateConfiguration

  • Jazyková vylepšení

    • DependsOn nyní podporuje kompozitní zdroje.
    • DependsOn nyní podporuje čísla v názvech instancí zdrojů.
    • Uzlové výrazy, které vyhodnotí jako prázdné, již nevyhazují chyby.
    • Chyba, která nastává, pokud je výraz uzlu vyhodnocen jako prázdný, byla opravena.
    • Konfigurace volající konfigurace nyní fungují v konzoli Windows PowerShell.
  • Vylepšení režimu Pull

    • Pull mód nyní podporuje všechny ZIP soubory.
    • AllowModuleOverwrite nyní funguje správně.
  • Zlepšení odolnosti

    • Nový DebugMode vám umožní znovu načíst moduly zdrojů.
    • Pokud dojde k selhání konfigurace, soubor pending .mof není smazán.
    • Local Configuration Manager (LCM) je nyní odolnější, když jsou nastavení metakonfigurace poškozena.
  • Vylepšení diagnostiky

    • Varování se zobrazí, když LCM nastaví časovač na jiné nastavení, než jste specifikovali.
    • Soubory chybových logů nyní obsahují zásobník volání pro Windows PowerShell zdroje.
  • Zlepšení flexibility

    • Zdroj LocalConfigurationManager má novou vlastnost ActionAfterReboot.
      • ContinueConfiguration (výchozí hodnota): Automaticky obnoví konfiguraci po restartu cílového uzlu.
      • StopConfiguration: Neobnovujte automaticky konfiguraci po restartu uzlu.
    • Konzistenční běh může nyní probíhat častěji než operace PULL, nebo naopak.
    • Podpora verzování: DSC nyní dokáže rozpoznat dokument vytvořený na novějším klientovi (součástí WMF 5.0).
  • Zlepšení prevence chyb

    • Verze modulu je nyní vynucena před aplikací konfigurace.
    • DebugPreference je nyní správně nastavena pro volání Get-, Set nebo Test-TargetResource.
  • Vylepšení manipulace s přikazy

    • Nyní se používá certifikát, pokud jsou specifikovány jak Certifikát , tak PSDscAllowPlainTextPassword .
    • Přihlašovací údaje jsou dešifrovány, i pro Get-TargetResource.
    • Metakonfigurační přihlašovací údaje jsou šifrovány a dešifrovány.
    • PSCredentials jsou nyní dešifrovány, když jsou v vloženém objektu.
  • Vylepšení vestavěných zdrojů

    • Zdroj Package
      • Už neinstaluje špatný balíček (ani z lokálních, ani webových zdrojů).
      • Nyní podporuje HTTPS.
    • Nyní je podpora HTTPS v rámci zdroje Package.
    • Archivní zdroj nyní podporuje přihlašovací údaje.

Nové funkce ve Windows PowerShell 5.0

Nové funkce ve Windows PowerShell

  • Od Windows PowerShell 5.0 můžete vyvíjet pomocí tříd, formální syntaxe a sémantiky podobné jiným objektově orientovaným programovacím jazykům. Do jazyka Windows PowerShell byly přidány slova Class, Enum a další klíčová slova, aby podpořila novou funkci. Pro více informací o práci s třídami viz about_Classes.

  • Windows PowerShell 5.0 představuje nový, strukturovaný informační tok, který můžete použít k přenosu strukturovaných dat mezi skriptem a jeho volajícími (nebo hostitelským prostředím). Nyní můžete použít Write-Host k vysílání výstupů do informačního toku. Informační toky fungují také pro PowerShell. Streamy, pracovní pozice, plánované úlohy a workflowy. Následující funkce podporují informační tok.

    • Nový Write-Information cmdlet, který vám umožní specifikovat, jak Windows PowerShell zpracovává data informačního toku pro příkaz. Write-Host je obal pro Write-Information. Write-Information je také podporovanou aktivitou workflow.
    • Dva nové společné parametry, InformationVariable a InformationAction, vám umožní určit, jak se informační toky z příkazu zobrazují. Platné hodnoty pro InformationAction jsou SilentlyContinue, Stop, Continue, Inquire, Ignore nebo Suspend, přičemž SilentlyContinue je výchozí. InformationVariable specifikuje řetězec jako název proměnné, do které chcete uložit Write-Host dat z příkazu.
    • Nová preference proměnná, InformationPreference, určuje vaši výchozí preferenci pro data informačního toku v relaci Windows PowerShell. Výchozí hodnota je SilentlyContinue.
    • Byly přidány dva nové společné parametry workflow, PSInformation a InformationAction.
    • Když použijete příkaz Format-Table, sloupce tabulky jsou nyní automaticky formátovány vyhodnocením prvních 300 ms dat, která projdou streamem.
  • Ve spolupráci s Microsoft Research byl přidán nový cmdlet ConvertFrom-String. ConvertFrom-String umožňuje extrahovat a analyzovat strukturované objekty z obsahu textových řetězců. Pro více informací viz ConvertFrom-String.

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

  • Nový modul Microsoft.PowerShell.Archive obsahuje cmdlety, které umožňují komprimovat soubory a složky do archivních (také známých jako ZIP) soubory, extrahovat soubory z existujících ZIP souborů a aktualizovat ZIP soubory o novější verze souborů komprimovaných v nich.

  • Nový modul, Správa balíčků, vám umožní objevovat a instalovat softwarové balíčky na internetu. Modul PackageManagement (dříve známý jako OneGet) je manažer nebo multiplexer existujících správců balíčků (také nazývaných poskytovatelé balíčků), který sjednocuje správu balíčků ve Windows s jediným rozhraním Windows PowerShell.

  • Nový modul PowerShellGet vám umožní najít, instalovat, publikovat a aktualizovat moduly a DSC zdroje v PowerShell Gallery nebo v interním repozitáři modulů, které můžete nastavit spuštěním Register-PSRepository cmdletu.

  • Bylo přidáno nové klíčové slovo v jazyce, Hidden, které specifikuje, že člen (vlastnost nebo metoda) není ve Get-Member výsledcích ve výchozím nastavení zobrazen (pokud nepřidáte parametr -Force). Vlastnosti nebo metody, které byly označeny jako skryté, se také nezobrazují ve výsledcích IntelliSense, 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.

  • Funkce Nová položka, Odstranit položka 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, SymbolicLink. Nyní můžete vytvářet symbolické odkazy v jednom řádku spuštěním New-Item cmdletu.

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

  • Copy-Item nyní umožňuje kopírovat soubory nebo složky z jedné Windows PowerShell relace do druhé, což znamená, že můžete kopírovat soubory do relací připojených k vzdáleným počítačům (včetně počítačů s Nano Serverem, které tedy nemají jiné rozhraní). Pro kopírování souborů zadejte PSSession ID jako hodnotu nových parametrů -FromSession a -ToSession a přidejte -Path a -Destination pro určení počáteční cesty a cíle. Například Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • Transkripce Windows PowerShell byla vylepšena tak, aby platila pro všechny hostingové aplikace (například Windows PowerShell ISE) kromě konzolového hostitele (powershell.exe). Možnosti přepisu (včetně povolení systémového přepisu) lze nastavit zapnutím nastavení skupinové politiky PowerShell Transkripce , které najdete v Administrativních šablonách/Windows komponentách/Windows PowerShell.

  • Nová detailní funkce sledování skriptů umožňuje umožnit detailní sledování a analýzu používání skriptů Windows PowerShell na systému. Po povolení detailního sledování skriptů Windows PowerShell zaznamenává všechny bloky skriptů do event logu Event Tracing for Windows (ETW), Microsoft-Windows-PowerShell/Operational.

  • Od Windows PowerShell 5.0 nové CMDLETy Cryptographic Message Syntax podporují šifrování a dešifrování obsahu pomocí standardního formátu IETF pro kryptografickou ochranu zpráv, jak je zdokumentováno RFC5652. Do modulu Microsoft.PowerShell.Security byly přidány cmdlety Get-CmsMessage, Protect-CmsMessage a Unprotect-CmsMessage.

  • Nové cmdlety v modulu Microsoft.PowerShell.Utility Get-Runspace , Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug a Disable-RunspaceDebug umožňují nastavit ladění v runspace a spustit a zastavit ladění v runspace. Pro ladění libovolných runspaceů (tedy runspaces, které nejsou výchozím runspace pro Windows PowerShell konzoli nebo Windows PowerShell ISE relaci) umožňuje Windows PowerShell nastavit breakpointy ve skriptu a přidané breakpointy zastaví spuštění skriptu, dokud nepřipojíte debugger pro ladění runspace skriptu. Podpora vnořeného ladění pro libovolné runspaces byla přidána do skriptového debuggeru Windows PowerShell pro runspaces.

  • Do modulu Microsoft.PowerShell.Utility byl přidán nový Format-Hex cmdlet. Format-Hex umožňuje zobrazit textová nebo binární data v hexadecimálním formátu.

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

  • Do modulu Microsoft.PowerShell.Management byl přidán nový cmdlet Clear-RecycleBin; tento cmdlet vyprázdní koš pro pevný disk, který zahrnuje externí disky. Ve výchozím nastavení jste vyzváni k potvrzení příkazu Clear-RecycleBin, protože vlastnost ConfirmImpact v cmdletu je nastavena na ConfirmImpact.High.

  • Nový cmdlet, New-TemporaryFile, vám umožní 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.

  • Výstupní soubor, Add-Content a Set-Content cmdlety nyní mají nový parametr -NoNewline, který po výstupu vynechává nový řádek.

  • Cmdlet New-Guid využívá třídu .NET Framework Guid k vytvoření GUID, což je užitečné při psaní skriptů nebo DSC zdrojů.

  • Protož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 skriptů FileVersionRaw a ProductVersionRaw. Například můžete spustit následující příkaz pro zobrazení hodnot těchto vlastností pro powershell.exe, kde $pid obsahuje ID procesu pro běžící relaci Windows PowerShell: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • Nové cmdlety Enter-PSHostProcess a Exit-PSHostProcess umožňují ladit Windows PowerShell skripty v procesech oddělených od aktuálního procesu běžícího v konzoli Windows PowerShell. Spusť Enter-PSHostProcess pro zadání nebo připojení k konkrétnímu ID procesu a poté spusťte Get-Runspace pro vrácení aktivních runspaces v procesu. Spusť Exit-PSHostProcess pro odpojení od procesu, až dokončíš ladění skriptu v rámci procesu.

  • Do modulu Microsoft.PowerShell.Utility byl přidán nový Wait-Debugger cmdlet. Můžete spustit Wait-Debugger pro zastavení skriptu v debuggeru před spuštěním dalšího příkazu ve skriptu.

  • Windows PowerShell Workflow debugger nyní podporuje doplňování příkazů nebo tabulatur a můžete ladit vnořené workflow funkce. Nyní můžete stisknout Ctrl+Break pro zadání debuggeru v běžícím skriptu, jak v lokálních, tak vzdálených relacích, a také v workflow skriptu.

  • Do modulu Microsoft.PowerShell.Core byl přidán Debug-Job cmdlet pro ladění běžících job skriptů pro Windows PowerShell Workflow, pozadí a úlohy běžící v vzdálených relacích.

  • Pro úlohy Windows PowerShell byl přidán nový stav, AtBreakpoint. Stav AtBreakpoint platí, když úloha spouští skript obsahující nastavené breakpointy a skript narazil na breakpoint. Když je úloha zastavena na ladicím breakbodu, musíte ji ladit spuštěním Debug-Job cmdletu.

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

  • Nyní můžete validaci verzí modulu provádět spuštěním Test-ModuleManifest cmdletu.

  • Výsledky Get-Command cmdletu nyní 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 CmdletInfo: CmdletInfo a ApplicationInfo.

  • Get-Command má nový parametr -ShowCommandInfo, který vrací informace o ShowCommand jako PSObjects. Tato funkce je obzvlášť užitečná, když Show-Command běží ve Windows PowerShell ISE pomocí vzdáleného přístupu 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í na nižší úrovni.

  • Nový Get-ItemPropertyValue cmdlet vám umožní získat hodnotu vlastnosti bez použití tečkové notace. Například ve starších verzích Windows PowerShell můžete spustit následující příkaz pro získání hodnoty vlastnosti Application Base klíče PowerShellEngine registry: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase). ApplicationBase. Od Windows PowerShell 5.0 můžete spustit Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • Konzole Windows PowerShell nyní používá barvení syntaxe, stejně jako Windows PowerShell ISE.

  • Nový modul NetworkSwitch obsahuje cmdlety, které umožňují aplikovat konfiguraci portů switchů, virtuální LAN (VLAN) a základní síťové porty Layer 2 na síťové switche certifikované logem Windows Server 2012 R2.

  • Parametr FullyQualifiedName byl přidán do Import-Module a Remove-Module cmdletů, aby podporoval 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 určení modulu jeho plně kvalifikovaným názvem.

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

  • WMF 5.0 (PowerShell 5.0) obsahuje modul Pester . Pester je rámec pro jednotkové testování pro PowerShell. Nabízí několik snadno použitelných klíčových slov, která vám umožní vytvářet testy pro vaše skripty.

Nové funkce v nastavení požadovaného stavu Windows PowerShell

  • Jazyková vylepšení Windows PowerShell umožňují definovat zdroje Windows PowerShell Desired State Configuration (DSC) pomocí tříd. Import-DscResource je nyní skutečné dynamické klíčové slovo; Windows PowerShell analyzuje kořenový modul daného modulu a hledá třídy obsahující atribut DscResource. Nyní můžete použít třídy k definování DSC zdrojů, kde není potřeba ani MOF soubor, ani podsložka DSCResource ve složce module. Soubor modulů Windows PowerShell může obsahovat více tříd zdrojů DSC.
  • Nový parametr ThrottleLimit byl přidán k následujícím cmdletům v modulu PSDesiredStateConfiguration. Přidejte parametr ThrottleLimit, abyste určili počet cílových počítačů nebo zařízení, na kterých chcete, aby příkaz fungoval současně.
    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • Díky centralizovanému hlášení chyb DSC jsou bohaté chybové informace nejen zaznamenány v záznamu událostí, ale mohou být odeslány na centrální místo pro pozdější analýzu. Toto centrální místo můžete využít k ukládání chyb konfigurace DSC, které se vyskytly na jakémkoli serveru v jejich prostředí. Po definování serveru zpráv v meta-konfiguraci jsou všechny chyby odeslány na server zpráv a poté uloženy v databázi. Tuto funkcionalitu můžete nastavit bez ohledu na to, zda je cílový uzel nakonfigurován tak, aby stahoval konfigurace z pull serveru.
  • Vylepšení Windows PowerShell ISE usnadňují DSC resource authoring. Nyní můžete udělat následující.
    • Všechny DSC zdroje v rámci konfiguračníhonebo uzelového bloku zadejte Ctrl+Space na prázdný řádek v bloku.
    • Automatické doplňování vlastností zdroje typu výčtu.
    • Automatické doplňování vlastnosti DependsOn DSC zdrojů na základě dalších instancí zdrojů v konfiguraci.
    • Vylepšené doplňování hodnot vlastností zdrojů.
  • Uživatel nyní může spustit zdroj pod specifikovanou sadou přihlašovacích údajů přidáním atributu PSDscRunAsCredential do bloku uzlů. Například PSDscRunAsCredential = Get-Credential Contoso\DscUser. Tato funkcionalita je užitečná pro vytváření konfigurací, které spouštějí instalátory Windows a spustitelné instalátory, přistupují k úlu registru uživatele nebo vykonávají jiné úkoly mimo aktuální uživatelský kontext.
  • Byla přidána podpora 32bitového (x86-založeného) pro klíčové slovo Configuration .
  • Windows PowerShell nyní zahrnuje podporu pro vlastní nápovědu pro DSC konfigurace, definovanou přidáním [CmdletBinding()] do generované konfigurační funkce.
  • Nový atribut DscLocalConfigurationManager označuje konfigurační blok jako meta-konfiguraci, která se používá ke konfiguraci DSC Local Configuration Manager. Tento atribut omezuje konfiguraci pouze na prvky, které konfigurují DSC Local Configuration Manager. Během zpracování tato konfigurace generuje soubor *.meta.mof, který je následně odeslán příslušným cílovým uzlům spuštěním Set-DscLocalConfigurationManager cmdletu.
  • Částečné konfigurace jsou nyní povoleny ve Windows PowerShell 5.0. Konfigurační dokumenty můžete doručovat uzlu ve fragmentech. Aby uzel obdržel více fragmentů konfiguračního dokumentu, musí být nejprve nastaven Local Configuration Manager uzlu, který specifikuje očekávané fragmenty
  • Synchronizace mezi počítači je novinkou v DSC ve Windows PowerShell 5.0. pomocí vestavěných zdrojů WaitFor* (WaitForAll, WaitForAny a WaitForSome) nyní můžete během konfiguračních běhů specifikovat závislosti mezi počítači bez externích orchestrací. Tyto zdroje zajišťují synchronizaci mezi uzly pomocí CIM spojení přes WS-Man protokol. Konfigurace může počkat, až se změní specifický stav zdroje jiného počítače.
  • Just Enough Administration (JEA), nová funkce pro zabezpečení delegací, využívá omezené běhové prostory DSC a Windows PowerShell, aby pomohla chránit podniky před ztrátou dat nebo kompromitací ze strany zaměstnanců, ať už úmyslně nebo neúmyslně. Pro více informací o JEA, včetně míst, kde si můžete stáhnout zdroj xJEA DSC, viz Just Enough Administration.
  • Do modulu PSDesiredStateConfiguration byly přidány následující nové cmdlety.
    • Nový Get-DscConfigurationStatus cmdlet získává informace na vyšší úrovni o stavu konfigurace od cílového uzlu. Můžete získat stav poslední, nebo všech konfigurací.
    • Nový Compare-DscConfiguration cmdlet porovnává specifikovanou konfiguraci se skutečným stavem jednoho nebo více cílových uzlů.
    • Nový Publish-DscConfiguration cmdlet zkopíruje konfigurační MOF soubor na cílový uzel, ale tuto konfiguraci neaplikuje. Konfigurace se aplikuje při dalším projíždění konzistence nebo při spuštění Update-DscConfiguration cmdletu.
    • Nový Test-DscConfiguration cmdlet vám umožní ověřit, že výsledná konfigurace odpovídá požadované konfiguraci, přičemž vrátí buď True, pokud konfigurace odpovídá požadované konfiguraci, nebo True, pokud skutečná konfigurace neodpovídá požadované konfiguraci.
    • Nový Update-DscConfiguration cmdlet nutí zpracovat konfiguraci. Pokud je Local Configuration Manager v režimu pull, cmdlet získá konfiguraci z pull serveru před jejím použitím.

Nové funkce ve Windows PowerShell ISE

  • Nyní můžete upravovat vzdálené Windows PowerShell skripty a soubory v lokální kopii Windows PowerShell ISE, tedy spustit Enter-PSSession a spustit vzdálenou relaci na počítači, který ukládá soubory, které chcete upravit, a poté spustit cestu a název souboru PSEdit <na vzdáleném počítači>. Tato funkce usnadňuje úpravu souborů Windows PowerShell, které jsou uloženy v možnosti instalace Server Core Windows Server, kde Windows PowerShell ISE nemůže spustit.
  • Cmdlet Start-Transcript je nyní podporován ve Windows PowerShell ISE.
  • Nyní můžete ladit vzdálené skripty ve Windows PowerShell ISE.
  • Nový příkaz menu, Break All (Ctrl+B), se propojuje do ladicího nástroje jak pro lokální, tak pro vzdáleně spouštějící skripty.

Nové funkce ve Windows PowerShell Web Services (Management OData IIS Extension)

  • Od Windows PowerShell 5.0 můžete generovat sadu Windows PowerShell cmdletů založených na funkcionalitě dostupné na daném OData endpointu spuštěním Export-ODataEndpointProxy cmdletu, který najdete v novém modulu Microsoft.PowerShell.OdataUtils .

Významné opravy chyb ve Windows PowerShell 5.0

  • Windows PowerShell 5.0 obsahuje novou implementaci COM, která nabízí významné zlepšení výkonu při práci s COM objekty.
  • Došlo k významnému zlepšení výkonu při dokončení první karty v rámci Windows PowerShell relace, což zkrátilo dobu dokončení záložek téměř o 500 ms.

Nové funkce ve Windows PowerShell 4.0

Windows PowerShell 4.0 je zpětně kompatibilní. Cmdlety, poskytovatelé, moduly, snap-iny, skripty, funkce a profily navržené pro Windows PowerShell 3.0 a Windows PowerShell 2.0 fungují ve Windows PowerShell 4.0 bez změn.

Windows PowerShell 4.0 je ve výchozím nastavení nainstalován na Windows 8.1 a Windows Server 2012 R2. Pro instalaci Windows PowerShell 4.0 na Windows 7 se SP1 nebo Windows Server 2008 R2 si stáhněte a nainstalujte Windows Management Framework 4.0. Před instalací Windows Management Framework 4.0 si nezapomeňte 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 ve Windows PowerShell

  • Windows PowerShell Desired State Configuration (DSC) je nový systém správy ve Windows PowerShell 4.0, který umožňuje nasazování a správu konfiguračních dat pro softwarové služby a prostředí, ve kterém tyto služby běží. Pro více informací o DSC viz Začít s Windows PowerShell Požadovaná konfigurace stavu.
  • Save-Help nyní umožňuje ukládat nápovědu pro moduly nainstalované na vzdálených počítačích. Můžete použít Save-Help ke stažení modulu Help z klienta připojeného k internetu (na kterém nejsou nutně nainstalovány všechny moduly, pro které potřebujete pomoc), a poté 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.
  • Debugger Windows PowerShell byl vylepšen tak, aby umožňoval ladění pracovních postupů Windows PowerShell, stejně jako skriptů běžících na vzdálených počítačích. Pracovní postupy Windows PowerShell lze nyní ladit na úrovni skriptů buď z příkazového řádku Windows PowerShell, nebo z Windows PowerShell ISE. Windows PowerShell skripty, včetně skriptových workflow, lze nyní ladit přes vzdálené relace. Vzdálené ladění jsou uchovávány přes vzdálené relace Windows PowerShell, které jsou odpojeny a později znovu připojeny.
  • Parametr RunNow pro Register-ScheduledJob a Set-ScheduledJob eliminuje nutnost nastavovat okamžité datum a čas spuštění úloh pomocí parametru Trigger .
  • Invoke-RestMethod a Invoke-WebRequest nyní umožňují nastavit všechny hlavičky pomocí parametru Headers. Ačkoliv tento parametr vždy existoval, byl jedním z několika parametrů webových cmdletů, které vedly k výjimkám nebo chybám.
  • Get-Module má nový parametr FullyQualifiedName typu ModuleSpecification[]. Parametr FullyQualifiedName v Get-Module nyní umožňuje zadat modul pomocí jeho jména, verze a volitelně jeho GUID.
  • Výchozí nastavení politiky provádění ve Windows Server 2012 R2 je RemoteSigned. Ve Windows 8.1 se výchozí nastavení nemění.
  • Od Windows PowerShell 4.0 je podporováno volání metod pomocí dynamických názvů metod. Můžete použít proměnnou k uložení názvu metody a poté ji dynamicky volat voláním proměnné.
  • Asynchronní pracovní úlohy již nejsou mazány, jakmile uplyne časová doba stanovená běžným parametrem workflow PSElapsedTimeoutSec .
  • Do cmdletů New-JobTrigger a Set-JobTrigger byl přidán nový parametr RepeatIndefinitely. Tím odpadá nutnost specifikovat hodnotu TimeSpan.MaxValue pro parametr RepetitionDuration, aby se plánovaná úloha opakovaně spouštěla po neurčitou dobu.
  • Do cmdletů Enable-JobTrigger a Disable-JobTrigger byl přidán parametr Passthru. Parametr Passthru zobrazuje všechny objekty, které byly vytvořeny nebo upraveny vaším příkazem.
  • Názvy parametrů pro určení pracovní skupiny v cmdletech Add-Computer a Reremove Computer jsou nyní konzistentní. Oba cmdlety nyní používají parametr WorkgroupName.
  • Byl přidán nový společný parametr, PipelineVariable. PipelineVariable vám umožňuje uložit výsledky příkazu z potrubí (nebo části příkazu z potrubí) jako proměnnou, kterou lze předat zbytkem pipeline.
  • Filtrování kolekcí pomocí syntaxe metody je nyní podporováno. To znamená, že nyní 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'})
  • Get-Process cmdlet má nový parametr pro přepínání, IncludeUserName.
  • Byl přidán nový cmdlet Get-FileHash, který vrací hash souboru v jednom z několika formátů pro specifikovaný soubor.
  • Ve Windows PowerShell 4.0, pokud modul používá klíč DefaultCommandPrefix ve svém manifestu, nebo pokud uživatel importuje modul s parametrem Prefix , vlastnost ExportedCommands modulu zobrazuje příkazy v modulu s tímto prefixem. Když spusťujete příkazy pomocí modulově kvalifikované syntaxe ModuleName\CommandName, musí názvy příkazů obsahovat předponu.
  • Hodnota $PSVersionTable.PSVersion byla aktualizována na 4.0.
  • Kde() se chování operátorů 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 skriptbloku; To je stále podporováno.

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

  • Windows PowerShell ISE podporuje jak ladění workflow ve Windows PowerShell, tak ladění vzdálených skriptů.
  • Byla přidána podpora Technologie IntelliSense pro poskytovatele a konfigurace konfigurace požadovaného stavu Windows PowerShellu.

Nové funkce v workflow Windows PowerShell

  • Byla přidána podpora pro nový společný parametr PipelineVariable v kontextu iterativních pipeline, jako jsou ty, které používá System Center Orchestrator; to znamená pipeline, které spouštějí příkazy jednoduše zleva doprava, na rozdíl od střídavého běhu pomocí streamingu.
  • Přiřazení parametrů bylo výrazně vylepšeno tak, aby fungovalo i mimo scénáře dokončování tabulátorů, například s příkazy, které v aktuálním runspace neexistují.
  • Podpora pro vlastní kontejnerové aktivity byla přidána do Windows PowerShell Workflow. Pokud je parametr aktivity typu Activity, Activity[] (nebo je obecnou kolekcí aktivit) a uživatel zadal blok skriptu jako argument, pak Windows PowerShell Workflow převede blok skriptu do XAML, stejně jako běžná kompilace skriptů do workflow ve Windows PowerShell.
  • Po pádu se Windows PowerShell Workflow automaticky znovu připojí ke spravovaným uzlům.
  • Nyní můžete throttovat Foreach -Parallel activity příkazy pomocí vlastnosti ThrottleLimit .
  • Společný parametr ErrorAction má novou platnou hodnotu, Suspend, která je určena výhradně pro pracovní postupy.
  • Workflow endpoint se nyní automaticky zavírá, pokud nejsou aktivní relace, žádné probíhající úkoly ani žádné čekající zakázky. Tato funkce šetří zdroje na počítači, který funguje jako workflow server, pokud jsou splněny podmínky automatického uzavření.

Nové funkce ve Windows PowerShell Web Services

  • Když dojde k chybě ve Windows PowerShell Web Services (PSWS, také nazývané Management OData IIS Extension), zatímco běží cmdlet, jsou volajícímu vráceny podrobnější chybové zprávy. Kromě toho chybové kódy odpovídají pokynům pro chybové kódy Windows Azure REST API.
  • Koncový bod nyní může definovat verzi API a zároveň vynucovat použití konkrétní verze API. Kdykoli dojde k nesouladu verzí mezi klientem a serverem, chyby se zobrazují jak klientovi, tak serveru.
  • Správa schématu dispatchu byla zjednodušena automatickým generováním hodnot pro chybějící pole ve schématu. Generování probíhá jako užitečný výchozí bod, i když schéma dispečeru neexistuje.
  • Zpracování typů v PSWS bylo vylepšeno tak, aby podporovalo typy, které používají jiný konstruktor než výchozí konstruktor, a to podobně jako PSTypeConverter ve Windows PowerShell. To vám umožní používat složité typy s PSWS.
  • PSWS nyní umožňuje rozšiřování přidružené instance během spouštění dotazu. U větších binárních obsahu (jako jsou obrázky, audio nebo video) jsou přenosové náklady značné a je lepší přenášet binární data bez kódování. PSWS používá pojmenované zdrojové toky pro přenos bez kódování. Jmenovaný zdrojový proud je vlastností entity typu Edm.Stream . Každý pojmenovaný zdrojový tok má samostatné URI pro operace GET nebo UPDATE.
  • Akce OData nyní poskytují mechanismus pro vyvolání ne-CRUD (Vytváření, Čtení, Aktualizace a Mazání) metod na zdroji. Akci můžete spustit odesláním HTTP POST požadavku na URI, která je pro danou akci definována. Parametry akce jsou definovány v těle POST požadavku.
  • Aby bylo v souladu s pravidly Windows Azure, měly by být všechny URL zjednodušeny. Změna zahrnutá v Key As Segment umožňuje reprezentovat jednotlivé klíče jako segmenty. Všimněte si, že odkazy používající více klíčových hodnot vyžadují hodnoty oddělené čárkami v závorkovém zápisu, stejně jako dříve.
  • Před tímto vydáním PSWS byl jediný způsob, jak provádět operace Vytváření, Aktualizace nebo Mazání, vyvolávat Post, Put nebo Delete na nejvyšší úrovni zdroje. Novinkou v této verzi PSWS je, že operace s omezenými zdroji umožňují uživatelům dosáhnout stejných výsledků a dosáhnout stejného zdroje méně přímo, téměř jako by tyto zdroje byly obsaženy.

Nové funkce v Windows PowerShell Web Access

  • Můžete se odpojit od stávajících relací a znovu se připojit k nim v webové konzoli Windows PowerShell Web Access. Tlačítko Uložit v webové konzoli vám umožní odpojit se od relace bez jejího mazání a znovu se připojit k relaci jindy.
  • Výchozí parametry lze zobrazit na stránce pro přihlášení. Pro zobrazení výchozích parametrů nakonfigurujte hodnoty pro všechna nastavení zobrazená v oblasti Volitelné nastavení připojení na přihlašovací stránce v souboru s názvemweb.config. Můžete použít soubor web.config k nastavení všech volitelných nastavení připojení kromě druhé nebo alternativní sady přihlašovacích údajů.
  • Ve Windows Server 2012 R2 můžete vzdáleně spravovat autorizační pravidla pro Windows PowerShell Web Access. Cmdlety Add-PswaAuthorizationRule a Test-PswaAuthorizationRule nyní obsahují parametr Credential, který umožňuje administrátorům spravovat autorizační pravidla z vzdáleného počítače nebo v rámci Windows PowerShell Web Access relace.
  • Nyní můžete mít více Windows PowerShell Web Access relací v jedné relaci prohlížeče pomocí nové záložky pro každou relaci. Už není nutné otevírat novou relaci prohlížeče, abyste se připojili k nové relaci v konzoli Windows PowerShell.

Významné opravy chyb ve Windows PowerShell 4.0

  • Get-Counter nyní dokáže vracet žetony, které obsahují apostrof ve francouzských edicích Windows.
  • Nyní můžete zobrazit metodu GetType na deserializovaných objektech.
  • #Requires příkazy nyní umožňují uživatelům potřebovat administrátorská přístupová práva, pokud je to potřeba.
  • Import-CSV cmdlet nyní ignoruje prázdné řádky.
  • Problém, kdy Windows PowerShell ISE využívá příliš mnoho paměti při spuštění příkazu Invoke-WebRequest , byl opraven.
  • Get-Module nyní zobrazuje verze modulů ve sloupci Version .
  • Remove-Item -Recurse nyní odstraňuje položky z podsložek, jak se očekává.
  • Do výstupních objektů Get-Process byla přidána vlastnost UserName.
  • Cmdlet Invoke-RestMethod nyní vrací všechny dostupné výsledky.
  • Add-Member nyní nabývá účinnosti na hashovacích tabulkách, i když k nim ještě nebylo přístupno.
  • Select-Object -Rozšiřování již neselhává ani negeneruje výjimku, pokud je hodnota vlastnosti nulová nebo prázdná.
  • Get-Process lze nyní použít v pipeline s dalšími příkazy, které získávají vlastnost ComputerName z objektů.
  • ConvertTo-Json a ConvertFrom-Json nyní mohou přijímat pojmy v uvozovkách a jejich chybové zprávy jsou nyní lokalizovatelné.
  • Get-Job nyní vrací všechny dokončené plánované úkoly, i v nových sezeních.
  • Problémy s připojováním a odpojováním VHD pomocí poskytovatele souborového systému ve Windows PowerShell 4.0 byly opraveny. Windows PowerShell nyní dokáže detekovat nové disky, když jsou připojeny do stejné relace.
  • Už není nutné explicitně načítat moduly ScheduledJob nebo Workflow , abyste mohli pracovat s jejich typy úloh.
  • Došlo ke zlepšení výkonu procesu importu pracovních postupů, které definují vnořené workflow; Tento proces je nyní rychlejší.

Nové funkce ve Windows PowerShell 3.0

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

Windows PowerShell Workflow

Windows PowerShell Workflow přináší sílu Windows Workflow Foundation do Windows PowerShell. Workflowy můžete psát v XAML nebo v jazyce Windows PowerShell a spouštět je stejně jako cmdlet. Cmdlet Get-Command dostává příkazy workflow a cmdlet Get-Help nápovědu pro workflow.

Pracovní postupy jsou sekvence aktivit správy více počítačů, které jsou dlouhodobé, opakovatelné, časté, paralelizovatelné, přerušitelné, pozastavené a znovu přenosné. Pracovní postupy lze obnovit při úmyslném nebo náhodném přerušení, například při výpadku sítě, restartu Windows nebo výpadku proudu.

Pracovní postupy jsou také přenosné; lze je exportovat jako nebo importovat z XAML souborů. Můžete napsat vlastní konfigurace relací, které umožní, aby workflow nebo aktivity v workflow spouštěli delegovaní nebo podřízení uživatelé.

Následující jsou výhody workflow Windows PowerShell

  • Automatizace sekvenčních, dlouhodobých úkolů.
  • Vzdálené monitorování dlouhodobých úkolů. Stav a průběh aktivit jsou viditelné kdykoli.
  • Správa více počítačů. Současně spouštět úlohy jako pracovní postupy na stovkách spravovaných uzlů. Windows PowerShell Workflow obsahuje vestavěnou knihovnu běžných parametrů správy, jako je PSComputerName, které umožňují scénáře správy více počítačů.
  • Provádění složitých procesů jedním úkolem. Můžete kombinovat související skripty, které implementují celý end-to-end scénář, do jednoho workflow.
  • Perzistence.: workflow se ukládá (nebo kontroluje) na konkrétních místech definovaných jeho autorem, takže můžete workflow obnovit od posledního persistentního úkolu (nebo kontrolního bodu), místo abyste workflow začínali od začátku.
  • Robustnost. Automatické obnovení poruch. Pracovní postupy přežívají plánované i neplánované restarty. Můžete pozastavit spuštění workflow a pak workflow obnovit od posledního bodu. Autoři workflow mohou určit konkrétní aktivity, které se v případě selhání na jednom nebo více spravovaných uzlech znovu spustí.
  • Možnost odpojit, znovu se připojit a spustit v odpojených relacích. Uživatelé se mohou připojit a odpojit od workflow serveru, ale workflow běží nepřetržitě. Můžete se odhlásit z klientského počítače nebo restartovat klientský počítač a sledovat provádění pracovního toku z jiného počítače, aniž byste ho přerušili.
  • Plánování. Pracovní úkoly lze plánovat jako jakýkoli Windows PowerShell cmdlet nebo skript.
  • Workflow a omezení připojení. Provádění workflow a spojení s uzly lze omezit, což umožňuje škálovatelnost a scénáře vysoké dostupnosti.

Windows PowerShell webový přístup

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

Pro více informací viz Nasazení Windows PowerShell Web Access.

Nové funkce Windows PowerShell ISE

Pro Windows PowerShell 3.0 nabízí Windows PowerShell Integrated Scripting Environment (ISE) mnoho nových funkcí, včetně IntelliSense, Show-Command okna, sjednoceného panelu konzole, úryvků, párování závorek, rozbalování a skládání sekcí, automatického ukládání, seznamu nedávných položek, bohaté kopie, blokové kopie a plné podpory pro psaní workflow Windows PowerShell skriptů. Pro více informací viz about_Windows_PowerShell_ISE.

Podpora pro Microsoft .NET Framework 4

Windows PowerShell je postaven na Common Language Runtime 4.0. Autoři cmdletu, skriptů a workflow mohou používat nové třídy Microsoft .NET Framework 4 ve Windows PowerShell, s funkcemi jako kompatibilita a nasazení aplikací, Managed Extensibility Framework, paralelní výpočty, sítě, Windows Communication Foundation a Windows Workflow Foundation.

Podpora pro předinstalační prostředí Windows

Windows PowerShell 3.0 je volitelná součást Windows Preinstallation Environment (Windows PE) 4.0 pro Windows 8. Windows PE je minimální operační systém, který spouští počítač bez operačního systému a připravuje jej na instalaci Windows. Windows PE lze použít k rozdělení a formátování pevných disků, kopírování obrazů disků do počítače a zahájení nastavení Windows ze síťového sdílení. Windows PowerShell 3.0 lze použít na Windows PE pro správu nasazování, diagnostiky a obnovovacích scénářů.

Nepřipojené relace

Od Windows PowerShell 3.0 jsou trvalé uživatelsky spravované relace ("PSSessions"), které vytvoříte pomocí New-PSSession cmdletu, uloženy na vzdáleném počítači. Již nejsou závislé na relaci, ve které byly vytvořeny.

Nyní se můžete odpojit od relace, aniž byste narušili příkazy, které v relaci běží. Můžete ukončit sezení a vypnout počítač. Později se můžete znovu připojit k relaci z jiné relace na stejném nebo jiném počítači.

Parametr ComputerName v cmdletu Get-PSSession nyní získává všechny uživatelovy relace, které se připojují k počítači, i když byly zahájeny 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 ze relace odpojit.

Byly přidány nové cmdlety pro podporu funkce Disconnected Sessions, včetně Disconnect-PSSession, Connect-PSSession, a Receive-PSSession, a nové parametry do cmdletů pro správu PSSessions, například parametr InDisconnectedSession v cmdletu Invoke-Command .

Funkce Odpojených relací je podporována pouze tehdy, když počítače na původním ("klientském") a končícím ("serverové") konci připojení běží na Windows PowerShell 3.0.

Robustní konektivita relací

Windows PowerShell 3.0 detekuje neočekávané ztráty konektivity mezi klientem a serverem a snaží se znovu navázat konektivitu a automaticky obnovit provoz. Pokud nelze připojení klient-server obnovit v přiděleném čase, uživatel je upozorněn a relace je ukončena. Během pokusu o opětovné připojení poskytuje Windows PowerShell uživateli nepřetržitou zpětnou vazbu.

Pokud byla odpojená relace zahájena pomocí příkazu InvokeCommand, Windows PowerShell vytvoří pro odpojenou relaci úkol, aby bylo snazší se znovu připojit a pokračovat v vykonávání.

Tyto funkce poskytují spolehlivější a obnovitelnější vzdálený přístup a umožňují uživatelům provádět dlouhodobě běžící úkoly vyžadující robustní relace, například workflowy.

Aktualizovatelný systém nápovědy

Nyní si můžete stáhnout aktualizované nápovědní soubory pro cmdlety ve svých modulech. Cmdlet identifikuje Update-Help nejnovější nápovědní soubory, stáhne je z internetu, rozbalí je, ověří a nainstaluje do příslušného jazykově specifického adresáře modulu.

Pro použití aktualizovaných nápovědních souborů stačí napsat Get-Help. Nemusíte restartovat Windows ani Windows PowerShell. Pro aktualizaci nápovědy pro moduly v adresáři $pshome spusťte Windows PowerShell s možností "Spustit jako správce".

Aby podpořil uživatele bez přístupu k internetu a uživatele za firewally, nový Save-Help cmdlet stahuje nápovědní soubory do adresáře souborového systému, například do sdíleného souboru. Uživatelé pak mohou pomocí Update-Help cdletu získat aktualizované nápovědní soubory ze sdíleného souboru.

Pomocí cmdletu můžete Update-Help aktualizovat nápovědní soubory pro všechny nebo konkrétní moduly ve všech podporovaných UI kulturách. Dokonce můžete zadat Update-Help příkaz do svého Windows PowerShell profilu. Ve výchozím nastavení Windows PowerShell stáhne nápovědní soubory pro modul maximálně jednou denně.

Moduly Windows 8 a Windows Server 2012 neobsahují nápovědní soubory. Pro stažení nejnovějších nápovědních souborů zadejte Update-Help. Pro více informací zadejte ( Get-Help bez parametrů) nebo viz about_Updatable_Help.

Když soubory nápovědy pro cmdlet nejsou na počítači nainstalované, zobrazí Get-Help se automaticky generovaná nápověda. Automaticky generovaná nápověda obsahuje syntaxi příkazů a instrukce pro použití Update-Help cmdletu ke stažení nápovědních souborů.

Každý autor modulu může podpořit Updatable Help pro svůj modul. Můžete do modulu zahrnout nápovědní soubory a použít Updatable Help k jejich aktualizaci, nebo vynechat nápovědní soubory a použít Updatable Help k jejich instalaci. Pro více informací o podpoře Updatable Help viz Podpora Updatable Help.

Vylepšená online pomoc

Online nápověda pro Windows PowerShell je cenným zdrojem pro všechny uživatele, ale je obzvlášť důležitá pro ty, kteří neinstalují nebo nemohou nainstalovat aktualizované nápovědní soubory.

Pro online pomoc s jakýmkoli Windows PowerShell cmdletem napište:

Get-Help <cmdlet-name> -Online

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

Funkce Get-Help -Online ve Windows PowerShell 3.0 je nyní ještě výkonnější, protože funguje i tehdy, když nápovědní soubory pro cmdlet nejsou na počítači nainstalované. Funkce Get-Help -Online získává URI pro téma online nápovědy z vlastnosti HelpUri mezi cmdlety a pokročilými funkcemi.

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

Od Windows PowerShell 3.0 mohou autoři C# cmdletů naplnit vlastnost HelpUri vytvořením atributu HelpUri v této třídě cdlet. Autoři pokročilých funkcí mohou definovat vlastnost HelpUri na atributu CmdletBinding . Hodnota vlastnosti HelpUri musí začínat na "http" nebo "https".

Hodnotu HelpUri můžete také zahrnout do prvního souvisejícího odkazu v nápovědním souboru s XML cmdletem nebo do . Odkazová směrnice pro pomoc založenou na komentářích ve funkci.

Pro více informací o podpoře online pomoci viz Podpora online pomoci.

Integrace CIM

Windows PowerShell 3.0 zahrnuje podporu pro Common Information Model (CIM), který poskytuje společné definice manažerských informací pro systémy, sítě, aplikace a služby, což jim umožňuje výměnu manažerských informací mezi heterogenními systémy. Podpora CIM ve Windows PowerShell 3.0, včetně možnosti vytvářet Windows PowerShell cmdlets na základě nových nebo stávajících CIM tříd, příkazů založených na XML souborech s definicí cmdletů, podpory CIM .NET Framework. API, CMDLETS pro správu CIM a poskytovatelé WMI 2.0.

Soubory pro konfiguraci relace

Od Windows PowerShell 3.0 můžete navrhnout vlastní konfiguraci relace pomocí souboru. Nový konfigurační soubor relací vám umožní určit prostředí relací, které používají konfiguraci relace, včetně toho, které moduly, skripty a formátové soubory se načítají do relací, které cmdlety a jazykové prvky uživatelé mohou použít, které moduly a skripty mohou spustit a jaké proměnné mohou vidět.

Můžete navrhnout relaci, ve které uživatelé mohou spouštět cmdlety pouze z jednoho konkrétního modulu, nebo relaci, ve které mají uživatelé plný jazyk, přístup ke všem modulům a skripty pro pokročilé úkoly.

V předchozích verzích Windows PowerShell byla kontrola na této úrovni dostupná pouze těm, kteří dokázali napsat program v C# nebo složitý startovací skript. Nyní může kterýkoli člen skupiny administrátorů na počítači přizpůsobit konfiguraci relace pomocí konfiguračního souboru.

K vytvoření konfiguračního souboru relace použijte rutinu PowerShell New-PSSessionConfigurationFile. Pro aplikaci konfiguračního souboru relace na konfiguraci relace použijte Register-PSSessionConfiguration cmdlety or 'Set-PSSessionConfiguration.

Pro více informací viz about_Session_Configuration_Files a New-PSSessionConfigurationFile.

Plánované úlohy a integrace plánovače úloh

Nyní můžete plánovat Windows PowerShell úkoly na pozadí a spravovat je ve Windows PowerShell a v Task Scheduleru.

Plánované úlohy Windows PowerShell jsou užitečným hybridem pozadí úloh Windows PowerShell a úloh plánovače úloh.

Stejně jako Windows PowerShell úlohy na pozadí, plánované úlohy běží asynchronně na pozadí. Instance plánovaných úloh, které byly dokončeny, lze spravovat pomocí příkazových modulů, jako Start-Job jsou a Get-Job.

Stejně jako u úloh Task Scheduleru můžete spouštět plánované úlohy na jednorázovém nebo opakujícím se plánu, případně v reakci na akci či událost. V Task Scheduleru můžete zobrazovat a spravovat plánované úlohy, povolovat je a zapínat podle potřeby, spouštět je nebo používat jako šablony a nastavit podmínky, za kterých se úlohy začínají.

Navíc plánované úlohy obsahují přizpůsobenou sadu cmdletů pro jejich správu. CMDLETy umožňují vytvářet, upravovat, spravovat, deaktivovat a znovu povolit plánované úlohy, vytvářet spouštěče plánovaných úloh a nastavovat možnosti plánovaných úloh.

Pro více informací o plánovaných pracovních místech viz about_Scheduled_Jobs.

Vylepšení jazyka Windows PowerShell

Windows PowerShell 3.0 obsahuje mnoho funkcí, které jsou navrženy tak, aby jazyk zjednodušily, usnadnily používání a zabránily běžným chybám. Vylepšení zahrnují výčet vlastností, vlastnosti počtu a délky u skalárních objektů, nové operátory přesměrování, $Using scope modifikátor, automatickou proměnnou PSItem, flexibilní formátování skriptů, atributy proměnných, zjednodušené argumenty atributů, číselná jména příkazů, Stop-Parsing operátor, vylepšené splatting pole, nové bitové operátory, uspořádané slovníky, casting PSCustomObject a vylepšenou pomoc založenou na komentářích.

Nové jádrové CMDLETy

Do instalace Windows PowerShell byly přidány nové cmdlety, včetně cmdlets pro správu plá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
  • PSSplánovaná práce
    • 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í stávajících základních cmdlets a poskytovatelů

Windows PowerShell 3.0 zahrnuje nové funkce pro stávající cmdlety včetně zjednodušené syntaxe a nové parametry pro následující cmdlety: Computer cmdlets, CSV cmdlets, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security cmdlety, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member a WMI cmdlety.

Poskytovatelé Windows PowerShell byli také výrazně vylepšeni, včetně podpory poskytovatelů certifikátů pro správu certifikátů Secure Socket Layer (SSL) pro webhosting, podpory přihlašovacích údajů, perzistentních síťových disků a alternativních datových toků na discích souborového systému.

Import a objevování vzdálených modulů

Windows PowerShell 3.0 rozšiřuje možnosti zjišťování, importu a implicitního vzdáleného přístupu na vzdálených počítačích. Modulové cmdlety získávají moduly na vzdálených počítačích a importují moduly na vzdálený nebo lokální počítač pomocí vzdáleného přístupu Windows PowerShell. Nová podpora CIM relací umožňuje používat CIM a WMI ke správě počítačů bez Windows importem příkazů do lokálního počítače, které běží implicitně na vzdáleném počítači.

Pro více informací viz nápověda pro Get-ModuleImport-Module a cmdlety.

Vylepšené doplňování tabulatur

Doplňování tabulatur v konzoli Windows PowerShell nyní doplňuje názvy cmdletů, parametrů, hodnot parametrů, enumerací, typů .NET Frameworks, COM objektů, skrytých adresářů a dalších. Funkce doplňování tabulatur je kompletně přepsána na základě nového parseru a abstraktního syntaktického stromu, aby podporovala více scénářů, včetně parsovacích stromů v paměti a doplňování tabulatur uprostřed řádku.

Automatické načítání modulů

Cmdlet nyní získává Get-Command všechny cmdlety a funkce ze všech modulů nainstalovaných na počítači, i když modul není importován do aktuální relace.

Jakmile získáte potřebný cmdlet, můžete ho použít hned bez importu modulů. Windows PowerShell moduly se nyní automaticky importují, když použijete libovolný cmdlet v modulu. Už nemusíte modul hledat a importovat, abyste mohli používat jeho cmdlety.

Automatický import modulů se spouští pomocí příkazu pomocí cmdletu, který Get-Command se spustí pro cmdlet bez divokých karet nebo pro Get-Help cmdlet bez divokých karet.

Automatické importování modulů můžete povolit, vypnout a nastavit pomocí proměnné $PSModuleAutoLoadingPreference preference.

Pro více informací viz about_Modules, about_Preference_Variables a nápovědní témata pro Get-CommandImport-Module a cmdlety.

Vylepšení zážitku z modulů

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

  1. Logování modulů pro jednotlivé moduly (LogPipelineExecutionDetails) a nové nastavení skupinové politiky "Zapnout logování modulů"
  2. Rozšířené objekty modulů, 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é objevová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 jmen bez změny kódu modulu.
  6. Vylepšené požadavky na moduly, včetně plně kvalifikovaných povinných modulů s verzí a GUID a automatickým importem požadovaných modulů
  7. Tišší, zjednodušený provoz New-ModuleManifest cmdletu.
  8. Nový parametr modulu pro #Requires
  9. Vylepšený Import-Module cmdlet s parametry MinimumVersion a RequiredVersion .

Zjednodušené objevování příkazů

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

Nový Show-Command cmdlet je navržen speciálně pro začátečníky. Příkazy můžete vyhledávat v okně. Můžete zobrazit všechny příkazy nebo filtrovat podle modulu, importovat modul kliknutím na tlačítko, použít textová pole a rozbalovací seznamy k vytvoření platného příkazu a pak příkaz zkopírovat nebo spustit, aniž byste opustili okno.

Zlepšené logování, diagnostika a podpora skupinových politik

Windows PowerShell 3.0 zlepšuje podporu logování a trasování pro příkazy a moduly podporou sledování událostí ve Windows logech (ETW), editovatelnou vlastností LogPipelineExecutionDetails modulů a nastavením skupinové politiky "Zapnout logování modulů". Nyní můžete získat hodnoty parametrů z logových detailů zobrazením vlastností logu.

Formátování a vylepšení výstupu

Nové formátování a vylepšení výstupu zvyšují efektivitu všech uživatelů Windows PowerShell. Vylepšení zahrnují přesměrování výstupů pro všechny proudy, vylepšený Update-Type cmdlet, který dynamicky přidává typy bez použití souborů Format.ps1xml, word wrap ve výstupu, výchozí formátovací vlastnosti vlastních objektů, typ PSCustomObject , vylepšené formátování WMI objektů a heterogenních objektů a podporu pro odhalování přetížení metod.

Vylepšený zážitek z hostitele konzole

Hostitelský program Windows PowerShell má nové funkce ve Windows PowerShell 3.0, včetně jednovláknového bytu ve výchozím nastavení. Nová možnost "Spustit s PowerShellem" v Průzkumníku souborů umožňuje spouštět skripty v neomezené relaci jen kliknutím pravým tlačítkem. Nová logika spuštění konzolového hostitele spouští Windows PowerShell rychleji a nová písma vám umožní personalizovat známý zážitek z okna konzole.

Nové CMDLET a hostingová API

Nové Cmdlet API a Hosting API zahrnují veřejná pokročilá syntaktická (AST) API a API pro stránkování pipeline, vnořené pipeline, doplňování záložek runspace poolů, Windows RT, atribut zastaralého cmdletu a vlastnosti sloves a podstatných jmen objektu FunctionInfo.

Zvýšení výkonu

Významná zlepšení výkonu ve Windows PowerShell přináší nový jazykový parser, který je postaven na Dynamic Runtime Language (DLR) v .NET Framework 4., spolu s kompilací runtime skriptů, zlepšením spolehlivosti enginu a změnami algoritmu Get-ChildItem , které zlepšují jeho výkon, zejména při vyhledávání síťových sdílených zdrojů.

RunAs a podpora sdílených hostitelů

Windows PowerShell 3.0 zahrnuje podporu pro funkce RunAs a sdíleného hostitele.

Funkce RunAs , navržená pro Windows PowerShell Workflow, umožňuje uživatelům konfigurace relace vytvářet relace běžící 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 administrátorskými oprávněními a snižuje potřebu přidávat méně zkušené uživatele do skupiny Administrátorů.

Funkce SharedHost umožňuje více uživatelům na více počítačích současně připojit se k relaci workflow a sledovat průběh workflow. Uživatelé mohou zahájit pracovní postup na jednom počítači a poté se připojit k pracovní relaci na jiném počítači, aniž by museli relaci odpojit od původního počítače. Uživatelé musí mít stejná oprávnění a používat stejnou konfiguraci relace. Pro více informací viz "Spuštění Windows PowerShell workflow" v sekci Začít s Windows PowerShell workflow.

Vylepšení ovládání speciálních postav

Pro zlepšení schopnosti 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ý téměř pro všechny cmdlety, které mají parametr Path , včetně nových Update-Help a Save-Help cmdletů. Parser také obsahuje speciální logiku pro lepší zpracování znaku zpětného ticku (`) a hranatých závorek v názvech souborů a cestách.

Viz také