Pokud používáte PowerShell více než sporadicky, jistě jste už přemýšleli o nějaké možnosti customizace. Nebaví vás opakovaně přidávat určitý modul, rádi byste měli definované některé proměnné už při startu prostředí, nebo se třeba chcete při startu přihlásit do některých služeb. Pak jistě oceníte možnost vytvořit si PowerShell profil.
Založení profilu
Pokud jste jej nikdy nepoužili, pravděpodobně váš profil zatím neexistuje. Zjistit to lze jednoduchým příkazem
Test-Path $profile
Pokud se vám vrátil False, je třeba profil vytvořit. To lze jednoduše pomocí New-Item.
New-Item -path $profile -type file –force
Nyní je náš profil vytvořený. Jedná se o typ „Current User, Current Host – console“, což zjednodušeně znamená, že je to profil pro konkrétního uživatele a konkrétní aplikaci. Pokud jste jej vytvořili v PS ISE, jeho cesta je např.
C:\Users\username\Documents\WindowsPowerShel\Microsoft.PowerShellISE_profile.ps1
Pro víc informací ohledně typů souborů můžete kouknout například sem.
Editace profilu
Nyní je sice profil založený, ale je prázdný. Jelikož se jedná o normální soubor .ps1, je možné jej editovat v jakémkoliv editoru. Pro otevření v nejznámějších editorech lze použít následující příkazy:
# PS ISE
ise $PROFILE
# VS CODE
code $PROFILE
# notepad.exe
notepad $PROFILE
#notepad++
start notepad++ $PROFILE
Zde můžete definovat vlastní proměnné, přidat vlastní funkce nebo měnit chování a vzhled konzole.
Změna chování/vzhledu konzole
Pomocí následujícího kódu lze měnit různé parametry jako velikost, barvu textu a pozadí, název okna atd. Kód je jen příklad, je třeba upravit hodnoty dle vlastních preferencí. Clear-Host na konci je zde kvůli vyčištění konzole od výpisů při nastavování. Kód je inspirován serverem HowToGeek.com
Přidání funkcí a proměnných
Zde není moc co popisovat. Proměnné lze definovat stejně jako ve scriptech, budou dostupné kdykoliv jak v konzoli, tak pro spouštěné scripty. Může se hodit definovat například cestu pro logy, adresy serverů, uživatelská jména, timeouty atd.
Funkce také stačí pouze zkopírovat nebo napsat jako do klasického scriptu. Zde může být užitečná třeba funkce pro přihlášení do určitých služeb, inicializace procesů atd. Následně není třeba funkce importovat, jsou k dispozici vždy a všude.
Spouštění příkazů při startu shellu
Pokud v profilu některou funkci zavoláte, spustí se vždy při načtení, což se děje zejména při startu shellu. To se může hodit zejména pro přihlašování nebo spouštění inicializačních scriptů.
Díky, zajímavé informace.