Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PowerShell 7 je navržený pro cloudová, místní a hybridní prostředí a obsahuje vylepšení a nové funkce.
- Instalace a spuštění souběžně s Windows PowerShellem
- Vylepšená kompatibilita s existujícími moduly Windows PowerShellu
- Nové jazykové funkce, jako jsou ternární operátory a
ForEach-Object -Parallel - Vylepšený výkon
- Vzdálené komunikace založené na SSH
- Interoperabilita mezi platformami
- Podpora kontejnerů Dockeru
PowerShell 7 funguje souběžně s Windows PowerShellem a umožňuje snadno testovat a porovnávat mezi edicemi před nasazením. Migrace je jednoduchá, rychlá a bezpečná.
PowerShell 7 je podporovaný v následujících operačních systémech Windows:
- Windows 10 a 11
- Windows Server 2016, 2019 a 2022
PowerShell 7 běží také v macOS a několika distribucích Linuxu. Seznam podporovaných operačních systémů a informací o životním cyklu podpory najdete v tématu Životní cyklus podpory PowerShellu.
Instalace PowerShellu 7
Pro flexibilitu a podporu potřeb IT, techniků DevOps a vývojářů je k dispozici několik možností instalace PowerShellu 7. Ve většině případů je možné možnosti instalace omezit na následující metody:
- Nasazení PowerShellu pomocí balíčku MSI
- Nasazení PowerShellu pomocí balíčku ZIP
Poznámka:
Balíček MSI je možné nasadit a aktualizovat pomocí produktů pro správu, jako je Microsoft Configuration Manager. Stáhněte balíčky ze stránky verze GitHubu.
Nasazení balíčku MSI vyžaduje oprávnění správce. Balíček ZIP může nasadit libovolný uživatel. Balíček ZIP je nejjednodušší způsob, jak nainstalovat PowerShell 7 pro testování před potvrzením úplné instalace.
PowerShell 7 můžete nainstalovat také přes Windows Store nebo winget. Další informace o obou těchto metodách najdete v podrobných pokynech k instalaci PowerShellu ve Windows.
Použití PowerShellu 7 vedle sebe s Windows PowerShellem 5.1
PowerShell 7 je navržen tak, aby mohl spoluexistovat s Windows PowerShell 5.1. Následující funkce zajišťují, že vaše investice do PowerShellu je chráněná a migrace na PowerShell 7 je jednoduchá.
- Samostatná instalační cesta a název spustitelného souboru
- Samostatný PSModulePath
- Samostatné profily pro každou verzi
- Vylepšená kompatibilita modulů
- Nové koncové body pro vzdálenou komunikaci
- Podpora zásad skupiny
- Samostatné protokoly událostí
Rozdíly ve verzích .NET
PowerShell 7.4 je založený na .NET 8.0. Windows PowerShell 5.1 je založený na rozhraní .NET Framework 4.x. Rozdíly mezi verzemi .NET můžou mít vliv na chování skriptů, zejména pokud voláte přímo metodu .NET. Další informace najdete o rozdílech mezi Windows PowerShell 5.1 a PowerShell 7.x.
Samostatná instalační cesta a název spustitelného souboru
PowerShell 7 se nainstaluje do nového adresáře a povolí souběžné spouštění pomocí Windows PowerShellu 5.1.
Umístění instalace podle verze:
- Windows PowerShell 5.1:
$Env:windir\System32\WindowsPowerShell\v1.0 - Prostředí PowerShell 6.x:
$Env:ProgramFiles\PowerShell\6 - Prostředí PowerShell 7:
$Env:ProgramFiles\PowerShell\7
Nové umístění se přidá do vaší PATH, což vám umožní spustit Windows PowerShell 5.1 i PowerShell 7. Pokud migrujete z PowerShellu 6.x na PowerShell 7, odebere se PowerShell 6 a systémová proměnná PATH se nahradí.
Ve Windows PowerShellu má spustitelný soubor PowerShellu název powershell.exe. Ve verzi 6 a vyšší je spustitelný soubor pojmenován pwsh.exe. Nový název usnadňuje souběžné spouštění obou verzí.
Samostatný PSModulePath
Ve výchozím nastavení windows PowerShell a PowerShell 7 ukládají moduly do různých umístění. PowerShell 7 kombinuje tato umístění v $Env:PSModulePath proměnné prostředí. Při importu modulu podle názvu PowerShell zkontroluje umístění určené $Env:PSModulePath. To umožňuje PowerShellu 7 načíst moduly Core i Desktop.
| Instalovat přístroj | Windows PowerShell 5.1 | PowerShell 7.0 |
|---|---|---|
| PowerShell moduly | $Env:windir\system32\WindowsPowerShell\v1.0\Modules |
$Env:ProgramFiles\PowerShell\7\Modules |
| Uživatel nainstaloval Obor AllUsers |
$Env:ProgramFiles\WindowsPowerShell\Modules |
$Env:ProgramFiles\PowerShell\Modules |
| Uživatel nainstaloval Obor CurrentUser |
$HOME\Documents\WindowsPowerShell\Modules |
$HOME\Documents\PowerShell\Modules |
Následující příklady ukazují výchozí hodnoty $Env:PSModulePath pro každou verzi.
Pro Windows PowerShell 5.1:
$Env:PSModulePath -split (';')C:\Users\<user>\Documents\WindowsPowerShell\Modules C:\Program Files\WindowsPowerShell\Modules C:\WINDOWS\System32\WindowsPowerShell\v1.0\ModulesPro PowerShell 7:
$Env:PSModulePath -split (';')C:\Users\<user>\Documents\PowerShell\Modules C:\Program Files\PowerShell\Modules C:\Program Files\PowerShell\7\Modules C:\Program Files\WindowsPowerShell\Modules C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules
Všimněte si, že PowerShell 7 obsahuje cesty Windows PowerShellu a cesty PowerShellu 7, které poskytují automatické načítání modulů.
Poznámka:
Další cesty mohou existovat, pokud jste změnili proměnnou prostředí PSModulePath nebo nainstalovali vlastní moduly nebo aplikace.
Další informace najdete v tématu about_PSModulePath.
Další informace o modulech najdete v tématu about_Modules.
Samostatné profily
Profil PowerShellu je skript, který se spustí při spuštění PowerShellu. Tento skript přizpůsobí vaše prostředí tím, že přidá příkazy, aliasy, funkce, proměnné, moduly a jednotky PowerShellu. Profilový skript umožňuje tato přizpůsobení v každé relaci, aniž by bylo nutné je znovu vytvořit ručně.
Cesta k umístění profilu se změnila v PowerShellu 7.
- Ve Windows PowerShellu 5.1 je umístění profilu
$HOME\Documents\WindowsPowerShell. - V PowerShellu 7 je umístění profilu
$HOME\Documents\PowerShell.
Změnily se také názvy souborů profilu:
$PROFILE | Select-Object *Host* | Format-List
AllUsersAllHosts : C:\Program Files\PowerShell\7\profile.ps1
AllUsersCurrentHost : C:\Program Files\PowerShell\7\Microsoft.PowerShell_profile.ps1
CurrentUserAllHosts : C:\Users\<user>\Documents\PowerShell\profile.ps1
CurrentUserCurrentHost : C:\Users\<user>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
Další informace about_Profiles.
Kompatibilita PowerShellu 7 s moduly Windows PowerShellu 5.1
Většina modulů, které používáte ve Windows PowerShellu 5.1, už pracuje s PowerShellem 7, včetně Azure PowerShellu a Active Directory. Pokračujeme v práci s dalšími týmy a přidáváme nativní podporu PowerShellu 7 pro další moduly, včetně Microsoft Graphu, Office 365 a dalších. Aktuální seznam podporovaných modulů najdete v tématu Kompatibilita modulů PowerShellu 7.
Poznámka:
Ve Windows jsme také přidali přepínač UseWindowsPowerShell , který Import-Module usnadňuje přechod na PowerShell 7 pro uživatele používající nekompatibilní moduly. Další informace o této funkci najdete v tématu about_Windows_PowerShell_Compatibility.
Vzdálená správa PowerShellu
Vzdálená komunikace v PowerShellu umožňuje spouštět jakýkoli příkaz PowerShellu na jednom nebo více vzdálených počítačích. Můžete navázat trvalá připojení, spouštět interaktivní relace a spouštět skripty na vzdálených počítačích.
Vzdálená správa WS-Management
Windows PowerShell 5.1 a níže používají protokol WS-Management (WSMAN) pro vyjednávání připojení a přenos dat. Vzdálená správa systému Windows (WinRM) používá protokol WSMAN. Pokud je povolený WinRM, PowerShell 7 používá existující koncový bod Windows PowerShellu 5.1 s názvem Microsoft.PowerShell pro vzdálená připojení. Pokud chcete aktualizovat PowerShell 7 tak, aby zahrnoval vlastní koncový bod, spusťte rutinu Enable-PSRemoting . Informace o připojení ke konkrétním koncovým bodům najdete v tématuWS-Management Vzdálené komunikace v PowerShellu.
Pokud chcete používat vzdálenou správu Windows PowerShellu, musí být vzdálený počítač nakonfigurovaný pro vzdálenou správu. Další informace, včetně pokynů, naleznete v tématu O vzdálených požadavcích.
Další informace o práci s remotingem najdete v tématu O vzdáleném přístupu
Vzdálené komunikace založené na SSH
V PowerShellu 6.x byla přidána komunikace založená na SSH, která podporuje jiné operační systémy, které nemůžou používat nativní komponenty Windows, jako je WinRM. SSH vzdálené ovládání vytvoří na cílovém počítači proces hostitele PowerShell jako subsystém SSH. Podrobnosti a příklady nastavení vzdálené komunikace založené na SSH ve Windows nebo Linuxu najdete v tématu: Vzdálené komunikace PowerShellu přes SSH.
Poznámka:
Galerie Prostředí PowerShell (PSGallery) obsahuje modul a rutinu, které automaticky konfigurují vzdálené komunikace založené na SSH.
Microsoft.PowerShell.RemotingTools Nainstalujte modul z PSGallery a spusťte rutinuEnable-SSH.
Rutiny New-PSSession, Enter-PSSession a Invoke-Command mají nové sady parametrů pro podporu připojení SSH.
[-HostName <string>] [-UserName <string>] [-KeyFilePath <string>]
Pokud chcete vytvořit vzdálenou relaci, zadejte cílový počítač s parametrem HostName a poskytněte uživatelské jméno pomocí parametru UserName. Při interaktivním spouštění rutin se zobrazí výzva k zadání hesla.
Enter-PSSession -HostName <Computer> -UserName <Username>
Případně při použití parametru HostName zadejte informace o uživatelském jménu následované znakem at (@), následovaným názvem počítače.
Enter-PSSession -HostName <Username>@<Computer>
Ověřování pomocí klíče SSH můžete nastavit pomocí souboru privátního klíče s parametrem KeyFilePath . Další informace najdete v tématu Správa klíčů OpenSSH.
Podporované zásady skupiny
PowerShell obsahuje nastavení zásad skupiny, která vám pomůžou definovat konzistentní hodnoty možností pro servery v podnikovém prostředí. Mezi tato nastavení patří:
- Konfigurace relace konzoly: Nastaví koncový bod konfigurace, na němž je spuštěn PowerShell.
- Zapněte protokolování modulů: Nastaví vlastnost LogPipelineExecutionDetails pro moduly.
- Zapněte protokolování bloku skriptu PowerShellu: Povolí podrobné protokolování všech skriptů PowerShellu.
- Zapnutí spouštění skriptů: Nastaví zásady spouštění PowerShellu.
- Zapnutí přepisu PowerShellu: Umožňuje zachytit vstup a výstup příkazů PowerShellu do textových přepisů.
- Nastavte výchozí zdrojovou cestu pro Update-Help: Nastaví zdroj pro aktualizovatelnou nápovědu do adresáře, ne do internetu.
Další informace naleznete v části about_Group_Policy_Settings.
PowerShell 7 obsahuje šablony zásad skupiny a instalační skript v $PSHOME.
Nástroje zásad skupiny používají soubory šablon pro správu (.admx, .adml) k naplnění nastavení zásad v uživatelském rozhraní. Správci tak můžou spravovat nastavení zásad na základě registru. Skript InstallPSCorePolicyDefinitions.ps1 nainstaluje šablony pro správu PowerShellu na místní počítač.
Get-ChildItem -Path $PSHOME -Filter *Core*Policy*
Directory: C:\Program Files\PowerShell\7
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2/27/2020 12:38 AM 15861 InstallPSCorePolicyDefinitions.ps1
-a--- 2/27/2020 12:28 AM 9675 PowerShellCoreExecutionPolicy.adml
-a--- 2/27/2020 12:28 AM 6201 PowerShellCoreExecutionPolicy.admx
Samostatné protokoly událostí
Události Windows PowerShellu a PowerShellu 7 se zapisují do samostatných protokolů událostí. Pomocí následujícího příkazu získáte seznam protokolů PowerShellu.
Get-WinEvent -ListLog *PowerShell*
Další informace najdete v tématu about_Logging_Windows.
Vylepšené prostředí pro úpravy pomocí editoru Visual Studio Code
Visual Studio Code (VS Code) s rozšířením PowerShellu je podporované skriptovací prostředí pro PowerShell 7. Integrované skriptovací prostředí (ISE) windows PowerShellu podporuje jenom Windows PowerShell.
Aktualizované rozšíření PowerShellu zahrnuje:
- Nový režim kompatibility ISE
- PSReadLine v integrované konzole, včetně zvýrazňování syntaxe, víceřádkové úpravy a zpětného vyhledávání
- Vylepšení stability a výkonu
- Nová integrace CodeLens
- Vylepšené automatické dokončování cesty
Pokud chcete přechod na Visual Studio Code zjednodušit, použijte funkci Povolit režim ISE dostupnou v paletě příkazů. Tato funkce přepne VS Code do rozložení ve stylu ISE. Rozložení ve stylu ISE poskytuje všechny nové funkce a možnosti PowerShellu ve známém uživatelském prostředí.
Pokud chcete přepnout na nové rozložení ISE, otevřete stisknutím kombinace kláves Ctrl+Shift+Ppaletu příkazů, zadejte PowerShell a vyberte PowerShell: Povolit režim ISE.
Pokud chcete nastavit rozložení na původní rozložení, otevřete paletu příkazů a vyberte PowerShell: Zakázat režim ISE (obnovit výchozí nastavení).
Podrobnosti o přizpůsobení rozložení editoru VS Code integrovanému vývojovému prostředí (ISE) najdete v tématu Postup replikace prostředí isE v editoru Visual Studio Code.
Poznámka:
Neplánuje se aktualizace ISE s novými funkcemi. V nejnovějších verzích Windows 10 nebo Windows Serveru 2019 a novějších je teď isE uživatelsky odinstalovatelnou funkcí. Neexistují žádné plány na trvalé odebrání ISE. Tým PowerShellu a jeho partneři se zaměřují na vylepšení prostředí skriptování v rozšíření PowerShellu pro Visual Studio Code.
Další kroky
Vybaveno znalostmi efektivně migrovat, teď nainstalujte PowerShell 7 !