Jak nainstalovat moduly PowerShell: Průvodce krok za krokem
PowerShellje multiplatformní řešení automatizace úloh od společnosti Microsoft, které se skládá z příkazového řádku, skriptovacího jazyka a rámce pro správu konfigurace
Amodul PowerShellobsahuje sadu souvisejících členů prostředí Windows PowerShell, jako jsou rutiny, poskytovatelé, funkce, pracovní postupy, proměnné a aliasy. Členy balíčku (které jsou obvykle seskupeny do jednoho adresáře) lze implementovat do skriptu PowerShellu, kompilované knihovny DLL nebo obou. Primárním cílem modulu je umožnit modularizaci kódu Windows PowerShell.
Definováním sady souvisejících souborů skriptů, sestavení a souvisejících zdrojů jako modulu můžete svůj kód odkazovat, načítat, uchovávat a sdílet mnohem snadněji, než byste to dělali jinak. Například lidé, kteří píší příkazy, mohou pomocí modulů organizovat své příkazy a sdílet je s ostatními, zatímco ti, kteří moduly obdrží, mohou přidávat příkazy v modulech do svých relací PowerShellu a používat je stejně jako vestavěné příkazy.
PowerShell, který je dodáván se systémem Windows, je dodáván s několika stovkami rutin, které vám pomohou provádět základní úkoly, jako je čtení souborů, vytváření klíčů registru, ping na počítače, připojení ke vzdáleným systémům a tak dále. Tato předpřipravená rutina PowerShell však nemůže podporovat vše, co chcete s jazykem dělat. Chcete-li provádět úkoly mimo vestavěné příkazy PowerShellu, musíte nainstalovat moduly obsahující příkazy, které vám tuto funkci poskytují. V tomto článku vám poskytneme podrobný návod, jak nainstalovat moduly PowerShell.
Komponenty a typy modulu PowerShell
Modul obsahuje čtyři základní komponenty, které zahrnují skript PowerShellu nebo spravované sestavení rutiny, další sestavení nebo skripty, soubor manifestu a adresář, který obsahuje veškerý tento obsah. Následující části popisují typy modulů, které můžete získat smícháním a spárováním různých možných částí modulu dohromady:
- Moduly skriptů: Modul skriptu je jednoduše skript prostředí Windows PowerShell s příponou .psm1, která správcům umožňuje používat v něm funkce importu, exportu a správy. Modul skriptu obsahuje platný kód prostředí Windows PowerShell. Lze jej uložit nebo nainstalovat na cestu k modulu PowerShell nebo na jakoukoli cestu, kterou výslovně popíšete, aby ji PowerShell mohl rozumně zjistit.
- Binární moduly: Binární modul je sestavení .NET Framework (.dll), které obsahuje zkompilovaný kód. Ve srovnání s modulem skriptu vám binární modul umožňuje rychleji vytvářet rutiny nebo používat funkce, jako je multithreading, které není tak snadné kódovat ve skriptech prostředí Windows PowerShell. Kromě toho lze binární modul uložit nebo nainstalovat do složky podél cesty k modulu PowerShell.
- Moduly manifestu: Modul manifestu je modul, který používá soubor manifestu k popisu všech svých komponentních binárních modulů, ale nemá žádné základní sestavení nebo skript.
- Dynamické moduly: Dynamický modul je modul, který se nenačítá ze souboru ani se do něj neukládá. Místo toho jsou vytvářeny dynamicky pomocí skriptu pomocíRutina nového modulu. Tento modul umožňuje skriptu vytvořit modul na vyžádání, který není třeba načítat nebo ukládat do trvalého úložiště. Dynamické moduly nevyžadují trvalé složky pro ukládání souvisejících sestav.
Jak nainstalovat modul PowerShell
Jakmile vytvoříte skript, binární modul nebo modul manifestu, můžete svou práci uložit do umístění, jako je systémová složka, kde je nainstalován Windows PowerShell, nebo uživatelská složka, aby k ní měli přístup ostatní. Než budete moci modul používat, musíte jej nejprve nainstalovat. Za druhé, musíte najít Příkazy PowerShellu který modul přidal pomocí rutinyGet-Commanda nakonec musíte použít příkazy, které modul přidal.
Existují dva hlavní způsoby instalace modulu PowerShell: metoda galerie PowerShell a ruční metoda (pokud moduly nejsou dostupné v galerii PowerShell). Následující část podrobně popisuje každou z těchto metod.
Metoda 1 – Instalace modulu z galerie PowerShell
The Galerie PowerShell je online úložiště balíčků pro PowerShell obsahující skripty, moduly a zdroje DSC, které si můžete stáhnout a využít. Jejich autory jsou Microsoft a komunita PowerShell. Balíčky můžete najít v galerii PowerShell:
- Pomocí ovládacího prvku Hledat na domovské stránce galerie PowerShell
- Procházení modulů a skriptů ze stránky Balíčky
- Spuštění rutin Find-Module, Find-DscResource a Find-Script v závislosti na typu balíčku
Jakmile identifikujete balíček, o který máte zájem, můžete se o něm dozvědět více tak, že si prohlédnete metadata nahraná s balíčkem na konkrétní stránce balíčku v Galerii. Můžete si také stáhnout balíček z Galerie pro další kontrolu. Chcete-li to provést, spusťte buďUložit modulneboSave-Scriptcmdletv závislosti na typu balíčku. To vám umožní uložit balíček lokálně pro kontrolu obsahu bez jeho instalace.
Instalace modulů PowerShell z galerie PowerShell je nejjednodušší způsob instalace modulů. K instalaci balíčku nebo modulu z Galerie použijeme příkaz:Instalační modulneboRutina Install-Scriptv závislosti na typu balíčku.
- TheInstalační modulpříkaz nainstaluje modul do$env: ProgramFilesWindowsPowerShellModulesve výchozím stavu. To vyžaduje účet správce. Pokud přidáte-Rozsah CurrentUserdo kterého se modul instaluje$env: USERPROFILEDocumentsWindowsPowerShellModules.
- Příkaz Install-Script nainstaluje skript do$env: ProgramFilesWindowsPowerShellScriptsve výchozím stavu. To také vyžaduje účet správce. Pokud přidáte-Rozsah CurrentUserparametr, do kterého se skript nainstaluje$env: USERPROFILEDocumentsWindowsPowerShellScripts.
- TheInstalační modulaInstall-Scriptpříkaz ve výchozím nastavení nainstaluje nejnovější verzi balíčku. Pokud požadujete starší verzi balíčku, přidejte parametr-Požadovaná verze.
Kromě toho před instalací modulu potřebujete znát název modulu a příkaz k jeho instalaci. Stránka Galerie vám řekne, jaký je příkaz k instalaci modulu. V tomto příkladu nainstalujeme modul, který jsme našli v Galerii s názvemNetworkingDsc. Chcete-li to provést, spusťte následující příkaz:
Install-Module - Name NetworkingDsc -RequiredVersion 8.2.0
V závislosti na poskytovateli NuGet, kterého provozujete, můžete obdržet oznámení, že poskytovatel NuGet musí pokračovat.PowerShellGetspoléhá na poskytovatele jménem Nuget a před pokračováním můžete být požádáni o instalaci nejnovější verze. Napište Y a stiskněte klávesu Enter, pokud uvidíte: „ChcetePowerShellGetnainstalovat a importovat poskytovatele NuGet nyní?”. Opět, v závislosti na vašem nastavení, můžete obdržet další oznámení: „Opravdu chcete nainstalovat moduly z ‚PSGallery‘?“. Napište Y a pokračujte stisknutím klávesy Enter. Tím se zahájí instalaceNetworkingDscmodul, který můžete vizuálně vidět podle načítaného textu v horní části okna PowerShellu. Po dokončení instalace to můžete ověřit spuštěním příkazu:Get-Module -ListAvailable.
Pokud chcete nasadit nainstalovaný balíček z galerie PowerShell do Azure Automation, klikněte na Azure Automation a potom na stránce s podrobnostmi o balíčku klikněte na Nasadit do Azure Automation. Po kliknutí vás přesměruje na Azure Management Portal, kde se přihlásíte pomocí přihlašovacích údajů k účtu Azure. Pokud balíček obsahuje závislosti, všechny závislosti se nasadí také do Azure Automation.
Metoda 2 – Ruční instalace modulů PowerShell
Pokud modul není k dispozici v galerii PowerShell, musíte jej nainstalovat ručně. Chcete-li moduly PowerShellu nainstalovat ručně, musíte nejprve určit svou aktuální cestu k adresáři modulu PowerShell, stáhnout si nový modul do této cesty a vyvolat příkaz import-module, aby Windows věděl, že je tam. Poté postupujte podle následujících kroků a nainstalujte moduly PowerShell ručně:
1. Určete instalační cestu: Musíte určit instalační cestu pro své moduly PowerShell, abyste věděli, kam umístit nové. To pomáhá zajistit, aby byl nový modul nainstalován v cestě uvedené vPSModulePathproměnná prostředí. Pomocí jedné z cest uložených v souboru můžete určit, kam modul nainstalovat$ENV: PSModulePathvariabilní. Chcete-li to provést, otevřete okno PowerShell a spusťte příkaz:$Env: PSModulePath.
Výstup zobrazuje následující cestu, jak je znázorněno na obrázku 3.0 níže:
- C:UsersAdministratorDocumentsWindowsPowerShellModules
- C:Program FilesWindowsPowerShellModules
- C:WINDOWSsystem32WindowsPowerShellv1.0Modules
První cestu použijte, pokud chcete, aby byl modul dostupný pro konkrétní uživatelský účet v počítači. Pokud chcete modul zpřístupnit všem uživatelům v počítači, použijte druhou cestu. Třetí cesta je cesta, kterou Windows používá pro vestavěné moduly již nainstalované s OS Windows. Společnost Microsoft doporučuje nepoužívat toto umístění. Zbývá vám tedy první nebo druhá cesta.
Použití jedné z těchto cest znamená, že PowerShell může automaticky najít a načíst váš modul, když jej uživatel zavolá ve svém kódu. Můžete však také přidat své cesty, ale pokud to není nutné, zůstaňte u prvních dvou cest. Pokud modul uložíte někde jinde, můžete to PowerShellu výslovně dát vědět tím, že při volání předáte umístění vašeho modulu jako parametrInstalační modul.Pokud jsou v proměnné prostředí uvedeny další cesty, mohou pocházet z nainstalovaných aplikací. Některé aplikace nainstalují příkazy PowerShellu a automaticky je přidají do proměnné. Nyní, když víme, kam umístit nové moduly, pojďme k dalšímu kroku.
2. Zkopírujte nový modul do cesty: Nyní si stáhněte modul PowerShell z preferovaného webu a zkopírujte jej do jedné ze dvou cest uvedených v kroku 1 výše. V tomto příkladu jej zpřístupníme všem uživatelům počítače, aby jej zkopírovali do adresáře C:Program FilesWindowsPowerShellModules. Po dokončení můžete zkontrolovat, zda je nový modul uveden jako dostupný pro PowerShell spuštěním příkazu:Get-Module -ListAvailable.
3. Import nového modulu: S novým modulem stačí říci systému Windows, aby jej načetl, aby jej mohl použít v naší aktuální relaci PowerShellu. K tomu použijte následující syntaxi příkazu:Import-modul -name Názevmodulu
Řekněme například, že chcete importovat příkazNTFSSecurity(Modul PowerShell pro správu zabezpečení souborů a složek na svazcích NTFS), spustíte příkaz:Import-modul NTFSSecurity. Pokud obdržíte oznámení s potvrzením, zda skriptu nebo modulu důvěřujete a chcete jej spustit, zadejte R pro spuštění jednou (za předpokladu, že jste si jisti, že jej chcete spustit). A to je vše a nový modul je nyní připraven k použití.
Přestože Microsoft umožňuje instalovat moduly PowerShell z webů třetích stran, má to také bezpečnostní důsledky. Zlomyslní aktéři mohou využít této mezery k vývoji a poskytování skriptů obsahujících škodlivé kódy. Proto se ujistěte, že načítáte pouze důvěryhodné moduly nebo moduly ze spolehlivého zdroje.
Nejčastější dotazy k instalaci PowerShellu
Jak získám moduly PowerShell?
Systém PowerShell je již dostupný v rámci operačního systému Windows a pravděpodobně již máte k dispozici mnoho modulů. Do příkazového řádku PowerShellu zadejte Get-Module -ListAvailable, abyste viděli, které moduly jsou aktivní. Chcete-li nainstalovat modul, použijteGet-InstalledModulecmdlet.
Kde jsou nainstalovány moduly PowerShell?
Ve Windows existuje proměnná prostředí, která obsahuje umístění úložiště pro moduly PowerShell v adresářové struktuře disku. Pro AllUsers to je$env:PROGRAMFILESPowerShellModules. V systémech Linux a macOS jsou moduly uloženy v /usr/local/share/powershell/Modules.
Jak nainstaluji modul Windows Update PowerShell?
Měli byste otevřít výzvu PowerShell jako správce a nainstalovat modul PSWindowsUpdate.
- VstupteSet-ExecutionPolicy -ExecutionPolicy RemoteSignedpovolit vzdálené spouštění skriptu.
- VstupteInstall-Module -Name PSWindowUpdate -Forceke stažení a instalaci modulu PSWindowUpdate.
- VstupteImport-Modul -Název PSWindowUpdatepřenést PSWindowsUpdate do aktuální relace PowerShellu.
- VstupteGet-Command -Modul PSWindowsUpdatezkontrolovat, zda instalace fungovala, a zjistit, jaké příkazy jsou v modulu k dispozici.