Sdílet tento příspěvek:

Profil PowerShellu je skript, který se spustí při spuštění PowerShellu a má specifický název.

PowerShell podporuje několik profilů pro uživatele a hostitelské programy. Když se řekne hostitelské programy, máme na mysli především Windows PowerShell Console a Windows PowerShell ISE. Profily však nevytváří za vás, proto pokračujte ve čtení tohoto článku a já vám na úžasných příkladech ukážu, jak profily vytvářet a přizpůsobovat.

Můžeme vytvořit 3 soubory profilů pro každého uživatele v systému, jeden pro každého hostitele (Windows PowerShell Console a ISE) a jeden pro všechny hostitele.

Kromě toho je možné vytvořit 3 profilové soubory pro všechny uživatele, pokud chceme použít nějaké přizpůsobení platné pro všechny uživatele.

DŮLEŽITÉ: Pokud máte samostatnou instalaci prostředí PowerShell verze 6, pak můžeme vytvořit 4 další profily. Dva profilové soubory pro každého uživatele a dva profilové soubory pro všechny uživatele.

Tabulka obsahu

Příkazy profilů prostředí PowerShell, hostitelé, názvy profilů, umístění profilů

Tady je tabulka, ve které jsou uvedeny typy profilů, příkaz, pomocí kterého můžeme otestovat, zda profil existuje, a případně je vytvořit, na kterého hostitele se tento profil vztahuje, název souboru profilu a umístění souboru profilu.

# Typ profilu Příkaz Host Název souboru profilu Umístění souboru profilu
1* Aktuální uživatel, Current Host $profile Console Microsoft.PowerShell_profile.ps1 $HOME\ Documents\WindowsPowerShell\
2 Všichni uživatelé, aktuální hostitel $profile.AllUsersCurrentHost Console Microsoft.PowerShell_profile.ps1 $PSHOME\
3 Aktuální uživatel, All Hosts $profile.CurrentUserAllHosts Console, ISE Profile.ps1 $HOME\ Documents\WindowsPowerShell\
4 All Users, All Hosts $profile.AllUsersAllHosts Konzola, ISE Profile.ps1 $PSHOME\
5** Aktuální uživatel, Aktuální hostitel $profile ISE Microsoft.PowerShellISE_profile.ps1 $HOME\ Documents\WindowsPowerShell\
6** Všichni uživatelé, Aktuální hostitel $profile.AllUsersCurrentHost ISE Microsoft.PowerShellISE_profile.ps1 $PSHOME\

Tabulka 1 – Typy profilů PowerShell, příkazy, hostitelé, názvy souborů, umístění souborů

* Místo $profile můžeme použít $profile.CurrentUserCurrentHost.

** Spusťte příkaz z konzoly ISE prostředí Windows PowerShell.

Pro zjištění správných hodnot proměnných $HOME a $PSHOME v instalaci prostředí PowerShell spusťte následující příkazy:

$HOME

Obvykle je hodnota pro $HOME C:\Users\jméno_uživatele

$HOME hodnota
$PSHOME

Obvykle je hodnota pro $PSHOME C:\Windows\System32\WindowsPowerShell\v1.0

$PSHOME hodnota

PŘIPOMÍNÁME: Pokud máte samostatnou instalaci prostředí PowerShell verze 6, můžeme vytvořit další profily. Dva pro každého aktuálního uživatele a dva pro všechny uživatele.

# Typ profilu Příkaz Host Název souboru profilu Profil. Umístění souboru
1 CurrentUserCurrentHost $profile Console Microsoft.PowerShell_profile.ps1 $HOME\ Documents\PowerShell\
2 CurrentUserAllHosts $profile.CurrentUserAllHosts profile.ps1 $HOME\ Documents\PowerShell\
3 AllUsersCurrentHost $profile.AllUsersCurrentHost Console Microsoft.PowerShell_profile.Ps1 $PSHOME\
4 AllUsersAllHosts $profile.AllUsersAllHosts profile.ps1 $PSHOME\

Tabulka 2 – PowerShell v6 Typy profilů, příkazy, hostitelé, názvy souborů, umístění souborů

Obvykle je hodnota pro $HOME C:\Users\jméno_uživatele

Hodnota $HOME pro PowerShell v6

Obvykle je hodnota pro $PSHOME C:\Program Files\PowerShell\6

$PSHOME hodnota pro PowerShell v6

POZNÁMKA: Rozdíl mezi názvy složek ve složce Documents PowerShell v6 je PowerShell a název složky předchozích verzí PowerShellu je WindowsPowerShell.

Jak vytvořit profil prostředí PowerShell krok za krokem

Ukážu vám, jak přesně vytvořit profil prostředí PowerShell.

Vytvoření profilu prostředí PowerShell pro aktuálního uživatele a aktuálního hostitele

Toto je výchozí profil prostředí PowerShell systému Windows.

Podle následujících kroků vytvoříte profil prostředí PowerShell pro Konzolu jako Hostitele a aktuálního uživatele:

Krok 1: Otevřete Konzolu prostředí PowerShell systému Windows (Aktuální hostitel).

Konzola prostředí PowerShell

Krok 2: Nejprve otestujeme, zda Profil v naší instalaci prostředí PowerShell existuje nebo ne. V konzole Window PowerShell zadejte následující příkaz a stiskněte klávesu ENTER.

Test-Path $PROFILE

PŘIPOMÍNKA: Hodnota parametru pro Test-Path CmdZjistíme z tabulky 2 – sloupec Příkazy. ($profile, $profile.CurrentUserAllHosts atd.)

Krok 3: Pokud je výsledek předchozího příkazu false, profil neexistuje, takže přejděte na krok 4. Pokud je výsledek true, soubor profilu existuje, takže přejděte ke kroku 5

Soubor profilu neexistuje (false)

Krok 4: Protože profil neexistuje, vytvoříme ho následujícím příkazem, který zadáte a stisknete ENTER.

New-Item -Type File -Force $PROFILE
Soubor Profile byl vytvořen
Microsoft.PowerShell_profile.ps1 – Profile for current user and Console as host

Krok 5: Profil byl vytvořen a my můžeme soubor Profile otevřít v PowerShell ISE následujícím příkazem a stisknout ENTER.

ise $PROFILE
Otevřít Windows PowerShell ISE se souborem Profile

Krok 6: V prostředí Windows PowerShell ISE byl otevřen prázdný soubor Profile

Windows PowerShell ISE otevřel prázdný soubor Profile Microsoft.PowerShell_profile.ps1

Krok 7: Pokračujte k příkladu 1, abyste viděli, jak tento profil přizpůsobit.

Vytvoření profilu prostředí PowerShell pro aktuálního uživatele a všechny hostitele

Při vytváření profilu prostředí PowerShell postupujte podle následujících kroků:

Krok 1: Otevřete konzolu prostředí PowerShell systému Windows (Jedná se pouze o vybraného hostitele pro spouštění příkazů a tyto kroky můžeme provést i z prostředí ISE prostředí PowerShell systému Windows).

Krok 2: Nejprve otestujeme, zda profil v naší instalaci prostředí PowerShell existuje nebo ne. V konzole prostředí Window PowerShell zadejte následující příkaz a stiskněte klávesu ENTER.

Test-Path $PROFILE.CurrentUserAllHosts

PŘIPOMÍNKA: Hodnota parametru pro Test-Path CmdZjistíme z tabulky 2 – sloupec Příkazy. ($profile, $profile.CurrentUserAllHosts atd.)

Krok 3: Pokud je výsledek předchozího příkazu false, profil neexistuje, takže přejděte na krok 4. Pokud je výsledek true, soubor profilu existuje, takže přejděte ke kroku 5

Soubor profilu neexistuje (false)

Krok 4: Protože profil neexistuje, vytvoříme ho následujícím příkazem, který zadáte a stisknete ENTER.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Soubor profilu byl vytvořen
Soubor profilu.ps1 – Profil pro aktuálního uživatele a všechny hostitele

Krok 5: Profil byl vytvořen a soubor Profile můžeme otevřít v PowerShell ISE následujícím příkazem a stisknout ENTER.

ise $PROFILE.CurrentUserAllHosts

Krok 6: V prostředí ISE prostředí Windows PowerShell byl otevřen prázdný soubor Profile

V prostředí ISE prostředí Windows PowerShell byl otevřen prázdný soubor profile.ps1

Krok 7: Pokračujte v příkladu 2, abyste viděli, jak profil přizpůsobit.

Postup opakujeme i pro další typy profilů, jen je třeba použít správnou hodnotu proměnné ve sloupci Příkaz z tabulky 1 – Typy profilů prostředí PowerShell, příkazy, hostitelé, názvy souborů, umístění souborů.

  • $profile.AllUsersCurrentHost
  • $profile.AllUsersAllHosts

REMEMBER: Když chcete vytvořit profil pro ISE prostředí Windows PowerShell jako hostitele, musíte otevřít ISE prostředí Windows PowerShell a postupovat podle kroků spouštěných příkazy z konzoly ISE prostředí Windows PowerShell (viz obrázek níže)

Windows PowerShell ISE Console a příslušný soubor profilu pro ISE jako hostitele

Jak upravit profil prostředí Windows PowerShell s příklady

Příklad 1 – Profil pro konzolu jako hostitele a aktuálního uživatele (aktuální uživatel – aktuální hostitel)

Název profilu: PowerShell_profile.ps1
Umístění profilu: $Home\Documents\WindowsPowerShell\
Používá se pro:

Tady je kód v souboru profilu Microsoft.PowerShell_profile.ps1. Stačí zkopírovat kód v profilovém souboru a uložit změny, abyste měli stejné barevné schéma, nebo si ho přizpůsobit podle svých představ.

Set-PSReadLineOption -colors @{ Operator = 'Cyan' Parameter = 'Cyan' String = 'White'}
Kód profilového souboru Microsoft.PowerShell_profile.ps1

V některých starších systémech bylo nastavení Set-PSReadLineOption CmdLet trochu jiné jako v příkladu níže.

Set-PSReadlineOption -TokenKind String -ForegroundColor MagentaSet-PSReadlineOption -TokenKind Operator -ForegroundColor CyanSet-PSReadlineOption -TokenKind Parameter -ForegroundColor Cyan 

Barvy písma byly změněny z této…

Barvy písma konzoly PowerShell bez přizpůsobení profilu.

… na tuto.

Barvy písma konzoly PowerShell po přizpůsobení profilu.

Pomocí příkazu Get-PSReadLineOption CmdLet zobrazíte platné argumenty barev a aktuální hodnoty argumentů (barev).

Get-PSReadLineOption CmdLet a aktuální schéma barev

Příklad 2 – Profil pro konzolu prostředí Windows PowerShell i ISE jako hostitele (aktuální uživatel – všichni hostitelé)

Název profilu: profile.ps1
Umístění profilu: $Home\Documents\WindowsPowerShell\
Použití pro:

V tomto příkladu načítám vlastní moduly prostředí PowerShell pro některé CmdLets, které jsem napsal a které jsou součástí projektu Efficiency Booster PowerShell. Tento projekt je knihovnou mých vlastních CmdLetů uspořádaných do několika modulů a vřele doporučuji, abyste si stáhli soubor zip se soubory projektu a vyzkoušeli je ve svém vlastním prostředí a mohli mě sledovat v článcích na tomto blogu.

Zde jsou příkazy pro import modulů a obsahu souboru profilu.

Import-Module 02utilsImport-Module 03commonImport-Module 04maintenance
Profile.ps1 kód souboru profilu

Můžeme rychle otestovat, zda jsou importované moduly skutečně načteny, když otevřeme konzolu prostředí PowerShell pomocí následujícího příkazu:

Get-Module -ListAvailable
Importované moduly v souboru Profile jsou načteny v prostředí PowerShell Console

Pro lepší pochopení vzájemného propojení profilů, modulů a příkazů CmdLet prostředí PowerShell si přečtěte následující podkapitolu tohoto příspěvku: Jak uspořádat vlastní příkazy CmdLet prostředí PowerShell do modulů PowerShell a jaký profil použít pro uspořádání této struktury a jak propojíme profil, modul a příkaz CmdLet prostředí PowerShell.

Příklad 3 – Profil pro ISE jako hostitele (aktuální uživatel – aktuální hostitel)

Název profilu: PowerShellISE_profile.ps1
Umístění profilu: $Home\Documents\WindowsPowerShell\
Používá se pro:

Tady je příkaz, který je třeba zkopírovat do souboru profilu.

Import-Module 09addons
Kód souboru profilu Microsoft.PowerShellISE_profile.ps1

Výsledkem toho budeme mít v ISE prostředí Windows PowerShell dva doplňky. Přečtěte si tyto dva články, abyste se dozvěděli více o jejich kódování.

  • Jak psát pokročilé funkce nebo příkazy CmdLet s prostředím PowerShell (rychle)
  • Jak psát nápovědu k funkcím nebo příkazům CmdLet prostředí PowerShell (rychle)
Přídavek ISE prostředí Windows PowerShell-ons

Pomocí následujícího příkazu můžeme rychle otestovat, zda jsou importované moduly skutečně načteny, když otevřeme konzolu PowerShell:

Get-Module -ListAvailable
Importovaný modul v souboru profilu je načten v prostředí PowerShell ISE

POZNÁMKA: Windows PowerShell ISE importuje čtyři modely ze dvou souborů profilu ( profil.ps1 a Microsoft.PowerShellISE_profile.ps1 ).

Příklad 4 – Profil pro konzolu prostředí Windows PowerShell i ISE jako hostitele (všichni uživatelé – všichni hostitelé)

Název profilu: profile.ps1
Umístění profilu: $PSHOME\
Používá se pro:

Tady je kód v souboru s profilem:

$NTIdentity = ::GetCurrent()$NTPrincipal = new-object Security.Principal.WindowsPrincipal $NTIdentity$IsAdmin = $NTPrincipal.IsInRole(::Administrator)$hostversion="v$($Host.Version.Major).$($Host.Version.Minor)"$hostname = $host.NameIF ($IsAdmin){ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion - Running as ADMINISTRATOR" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion - Running as ADMINISTRATOR" }}Else{ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion" }}

Vidíte, že názvy konzoly PowerShell i ISE mají v názvu vlastní text, název hostitele a verzi prostředí PowerShell.

Vlastní text pro název konzoly
Vlastní text pro název konzoly při spuštění jako správce
Vlastní text. pro Windows PowerShell ISE Title

Užitečné příkazy PowerShellu, které se týkají profilů

Zde jsou uvedeny užitečné příkazy PowerShellu, které vám pomohou získat informace o profilech.

Výsledkem spuštění některého z příkazů pro profil bude informace o umístění souboru s profilem.

$profile$profile.AllUsersCurrentHost$profile.CurrentUserAllHosts$profile.AllUsersAllHosts
Příkazy profilu

DŮLEŽITÉ: Pokud chcete zjistit umístění souboru profilu pro prostředí ISE prostředí Windows PowerShell jako hostitel, musíte otevřít prostředí ISE prostředí Windows PowerShell a spustit příkazy profilu z konzoly ISE prostředí Windows PowerShell

Pomocí příkazu Test-Path CmdLet zjistíte, zda soubor profilu v systému existuje, nebo ne. Pokud jako výsledek dostanete True, profil existuje a false znamená, že soubor profilu neexistuje. Pomocí příkazů z tabulky 1 – Typy profilů prostředí PowerShell, příkazy, hostitelé, názvy souborů a umístění souborů zkontrolujte, zda existují další typy profilů.

Test-Path $PROFILE

Tento řádek kódu vytvoří soubor profilu. Pro vytvoření dalších typů profilů použijte příkazy z tabulky 1 – PowerShell Profile types, commands, hosts, file names, file locations.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts

Pokud chcete přečíst obsah souboru profilu buď v Poznámkovém bloku, nebo v ISE prostředí Window PowerShell, použijte tyto dva příkazy.

ise $PROFILEnotepad $PROFILE

Osobně dávám přednost prostředí Windows PowerShell ISE, protože je to pohodlnější prostředí pro psaní kódu prostředí PowerShell.

Pomocí tohoto řádku kódu získáte umístění profilu pro všechny typy profilů.

$profile | Get-Member -Type NoteProperty | Select-Object Definition
Umístění profilových souborů

Zkontrolujte tyto dvě proměnné, abyste získali umístění instalace prostředí PowerShell, resp. domovského adresáře.

$pshome$home 

Jak vybrat, který soubor s profilem použít

Používáte-li více hostitelských aplikací, například Konzolu prostředí Windows PowerShell a ISE, vložte všechna přizpůsobení do profilu $PROFILE.CurrentUserAllHosts pro aktuálně přihlášeného uživatele. Já jsem například vytvořil vlastní CmdLety uspořádané do Modulů, takže jsem příkazy pro načtení těchto modulů umístil do tohoto profilu, protože chci, aby se moduly načítaly jak při otevření Konzoly PowerShell, tak ISE. Pro ilustraci se podívejte na příklad 2.

Pokud chcete provést specifické přizpůsobení hostitelské aplikace, vložte veškerý kód přizpůsobení do profilu specifického pro danou hostitelskou aplikaci. Například změním barvu pozadí písem PowerShell Console, aby byla lépe viditelná, nebo mám načtené moduly, které jsou doplňky pro ISE. To jsem ukázal v příkladu 1 pro PowerShell Console a v příkladu 3 pro PowerShell ISE.

Pokud potřebujete přizpůsobit PowerShell pro mnoho uživatelů a jste správce, než postupovat podle těchto tipů:

  • Nejčastější přizpůsobení uložte do $PROFILE.AllUsersAllHosts, protože má nejširší rozsah
  • Pokud chcete přizpůsobit prostředí Windows PowerShell pro všechny uživatele, ale konkrétně pro hostitelskou aplikaci. Například jiné přizpůsobení pro Windows PowerShell Console a jiné přizpůsobení pro Windows PowerShell ISE, pak vložte kód do profilů $PROFILE.AllUsersCurrentHost
  • Kód pro konkrétní uživatele napište do profilů specifických pro uživatele. V podstatě to znamená, že použijete buď profil $PROFILE.CurrentUserAllHosts, nebo $PROFILE.CurrentUserCurrentHost.

Jak spustit konzolu nebo ISE bez načtených profilů

Otevřete dialogové okno spouštění Win + R a otevřete PowerShell s volbou -NoProfile.

PowerShell.exe -NoProfile

Varování: S větším a složitějším profilem se může začít projevovat vliv na rychlost otevření prostředí PowerShell. Chcete-li vyřešit, zda za špatnou dobu načítání prostředí PowerShell může váš profil, otevřete dialogové okno spouštění Win + R a otevřete prostředí PowerShell s možností -NoProfile.

PowerShell.exe -NoProfile

Profily a vzdálené relace

Profily prostředí PowerShell se ve vzdálených relacích nespouštějí automaticky, takže příkazy, které profily přidávají, nejsou ve vzdálené relaci přítomny. Kromě toho se ve vzdálených relacích nevyplňuje automatická proměnná $PROFILE.

Pro spuštění profilu v relaci použijte příkaz Invoke-Command CmdLet.

Například následující příkaz spustí profil „Current user, Current Host“ z místního počítače v relaci v $s.

Invoke-Command -Session $s -FilePath $PROFILE

Jak uspořádat vlastní CmdLety PowerShellu v modulech a profilech PowerShellu

Abyste pochopili souvislost mezi profilem PowerShellu, modulem a CmdLetem, vytvořil jsem projekt Efficiency Booster PowerShell se spoustou vlastních CmdLetů uspořádaných do několika modulů, které se načítají v každé relaci PowerShellu s profilem PowerShellu, kdykoli otevřu konzolu Windows PowerShell nebo ISE.

Prosím, neváhejte si stáhnout soubor zip, který obsahuje kód projektu, abyste mohli snadno postupovat podle něj. V souboru ReadMe.txt je vysvětlení kroků instalace a přizpůsobení, takže si prosím přečtěte pokyny v tomto souboru. Ještě lépe si můžete přečíst pokyny k instalaci a přizpůsobení při čtení následujícího článku Jak nainstalovat a nakonfigurovat prostředí PowerShell:

Použiji analogii s knihkupectvím, knihovnou a knihami, abych vysvětlil souvislost mezi profilem, modulem a CmdLetem prostředí Powershell.

Představte si například, že se chcete dozvědět více o skriptování v prostředí PowerShell a chcete si v knihkupectví koupit nějaké knihy na toto téma.

Vejdete do knihkupectví a vidíte mnoho regálů s různými označeními knižních oddělení, například Umění, Obchod, Počítače, Literatura, Cestování atd. Samozřejmě přejdete k regálům s nápisem Počítače a tam najdete knihu, která vysvětluje skriptování v prostředí PowerShell, kterou si chcete koupit.

Přenesme se nyní zpět do světa PowerShellu a propojme příběh analogie s PowerShellem:

  • Kniha je CmdLet, který používáme dodávaný s PowerShellem, nebo nějaký náš vlastní napsaný CmdLet.
  • Kód tohoto CmdLetu je obsahem knihy.
  • Modul PowerShell je regál nějakého oddělení knihkupectví, jako je například regál oddělení knihkupectví Počítače, kde je umístěna naše kniha.
  • Nakonec profil PowerShell je samotné knihkupectví.

Takže pokaždé, když otevřeme konzolu Windows PowerShell nebo ISE, otevřeme naši relaci a s touto relací byly načteny soubory profilu a provedeny úpravy, abychom nastavili naše prostředí PowerShell tak, jak chceme.

V případě modulů a CmdLets. Profilový soubor bude importovat moduly a Modul načte každý skript CmdLet, který patří k tomuto Modulu.

Protože rád používám vlastní CmdLety jak v konzole Windows PowerShell, tak v hostitelských aplikacích ISE, dávám přednost vytvoření $profilu.CurrentUserAllHosts, což není nic jiného než soubor Profile.ps1 vytvořený v:

  • $Home\ Documents\WindowsPowerShell\ složka pro PowerShell verze 5.1 a starší
  • $Home\ Documents\PowerShell\ složka pro PowerShell verze 6.0.

Jak propojujeme profil prostředí PowerShell, modul, A CmdLet

Tady je stručný popis této struktury provedený v prostředí PowerShell

  • Vytvoření profilu prostředí PowerShell
  • Vytvoření složky Modul a struktury souborů
  • Přizpůsobení profilu pro import potřebných modulů
  • .
  • Vytvořit skript CmdLet PowerShell
  • Napsat vlastní kód funkce CmdLet
  • Přizpůsobit soubor Module pro import skriptu CmdLet

Tento postup budu ilustrovat na příkladech projektu Efficiency Booster PowerShell Profile, Modules a CmdLets, aby bylo pro každého snazší pochopit celý proces. Proto opět všem důrazně doporučuji, aby si nainstalovali přiložený soubor ZIP.

Podle následujících kroků vytvoříte Profil prostředí PowerShell, Modul, CmdLet a propojíte je dohromady:

Krok 1: Otevřete Konzolu prostředí PowerShell systému Windows

Krok 2: Nejprve otestujeme, zda Profil v naší instalaci prostředí PowerShell existuje, nebo ne. V prostředí Window PowerShell zadejte následující příkaz a stiskněte klávesu ENTER

Test-Path $PROFILE.CurrentUserAllHosts

Krok 3: Pokud je výsledek předchozího příkazu false, profil neexistuje, takže přejděte ke kroku 4. Pokud je výsledek pravdivý, soubor s profilem existuje, takže přejděte ke kroku 5

Krok 4: Protože profil neexistuje, vytvoříme ho následujícím příkazem, který zadáme, a stiskneme ENTER.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts

Krok 5: Profil byl vytvořen a my můžeme soubor s profilem otevřít v ISE prostředí PowerShell následujícím příkazem a stisknout ENTER.

ise $PROFILE.CurrentUserAllHosts

Krok 6: Soubor Profile byl otevřen v PowerShell ISE.

Krok 7: Nyní musíme vytvořit strukturu složky Module a potřebné soubory.

Krok 8: Ve složce, kde jsme vytvořili náš soubor Profile, vytvořte složku Module s přesným názvem Modules. Zde budeme uchovávat strukturu složek všech našich Modulů.

Složka Moduly

Krok 9: Ve složce Moduly vytvořte složky pro jednotlivé Moduly, které chcete mít. Já jsem například vytvořil následující moduly ve složce Efficiency Booster PowerShell Project.

Moduly Efficiency Booster PowerShell Project

Krok 10. V případě potřeby vytvořte složku Efficiency Booster PowerShell Project: V každé složce Module vytvoříme soubor s příponou .psm1 a přesně stejným názvem jako složka Module. Například ve složce 03common vytvoříme soubor 03common.psm1

Soubor modulu PowerShell psm1

Krok 11: Volitelně můžeme vytvořit soubor manifest (.psd1 s příponou) pro každý modul, který bude tuto složku dále popisovat.

Krok 12: Ve stejné složce modulu vytvoříme soubor s příponou .ps1 (regulérní soubor skriptu prostředí PowerShell), do kterého zapíšeme kód pro náš vlastní CmdLet. Můžeme například vytvořit soubor GetCPUInfo.ps1, do kterého napíšeme kód pro vlastní skript Get-CPUInfo CmdLet.

Skriptový soubor Get-CPUInfo CmdLet

Krok 13: Nyní jsme připraveni napsat vlastní kód CmdLet a skript. Neváhejte se podívat do příkladu Get-CPUInfo a dalších CmdLetů projektu Efficiency Booster PowerShell. V dalších příspěvcích budu psát podrobněji o jednotlivých CmdLet v projektu. Prozatím si zdrojový kód projektu stáhněte zde:

Get-CPUInfo CmdLet Zdrojový kód

Krok 14: Propojte skript CmdLet se správným modulem prostředí PowerShell. Otevřete soubor .psm1 modulu a napište tento řádek kódu:
. $psScriptRoot\NázevSouboruCmdLetScriptFile.ps1
Například pro Get-CPUInfo CmdLet napíšeme tento řádek kódu do 03common.psm1 soubor:

. $psScriptRoot\GetCPUInfo.ps1 
Vazba mezi souborem skriptu CmdLet a modulem

Krok 15: V souboru skriptu profilu importujeme modul, který obsahuje náš soubor skriptu CmdLet, takže tento příkaz zapíšeme do souboru profilu.
Import-Module ModuleName
Například náš Get-CPUInfo CmdLet je součástí modulu 03common, takže do profilu napíšeme tento kód:

Import-Module 03common
Vazba mezi profilem a modulem

Krok 16: Opakujeme kroky 9 -15 pro každý modul a CmdLet, které chceme mít v našem profilu a které se mají načítat při každém spuštění relace prostředí PowerShell.

Krok 17: Otestujeme, zda se při otevření určitého hostitele načtou všechny importované moduly. Moduly můžeme vypsat pomocí následujícího příkazu:

Get-Module -ListAvailable
Nahrané moduly v prostředí konzoly PowerShell

Krok 18: Můžeme otestovat, zda jsou do prostředí načteny všechny CmdLety v rámci jednotlivých modulů. Zde je užitečný příklad příkazu:

Get-Command -Module 02utils
Načtené CmdLety v prostředí PowerShell Console pro modul 02utils

Užitečné články o profilu PowerShell

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.