Jak používat výchozí parametry PowerShellu ke změně chování příkazu

Jak používat výchozí parametry PowerShellu ke změně chování příkazu

Mnoho lidí rádo používá PowerShell , protože jim umožňuje dělat věci, které nelze dělat s GUI Windows. Přesto nelze popřít, že některé rutiny PowerShellu mohou být trochu zdlouhavé nebo složité. Ale co kdyby existoval způsob, jak tyto rutiny upravovat a přimět je, aby se „chovaly“ tak, jak chcete? Věřte tomu nebo ne, existuje snadný způsob, jak to udělat. Chování rutiny můžete změnit úpravou hodnot výchozích parametrů prostředí PowerShell. Tento článek vám ukáže, jak pomocí výchozích parametrů PowerShellu změnit chování příkazu cmdlet.

Varování

Než začnete, je třeba mít na paměti několik věcí. Ačkoli je změna výchozích parametrů PowerShellu a chování cmdelt pohodlná, může vést k problémům. Pokud spustíte skript a tento skript předpokládá, že se upravená rutina bude chovat určitým způsobem, můžete získat nepředvídatelné výsledky. Proto byste měli pečlivě měnit výchozí parametry PowerShellu.

Rychlá recenze

Existují dva koncepty prostředí PowerShell, které musíte znát, abyste mohli pracovat s výchozími parametry. První koncept je variabilní. V PowerShellu začínají názvy proměnných vždy znakem dolaru a obsah proměnné můžete napsat zadáním názvu proměnné.

Druhý koncept, který možná znáte, je hashovací tabulka. Hašovací tabulka je v podstatě seznam složený z párů klíč/hodnota. Předpokládejme například, že chcete vytvořit hašovací tabulku obsahující názvy států USA a jejich zkratky. Níže je uveden kód:

$StateList = @{}
$StateList.add('Florida','FL')
$StateList.add('South Carolina','SC')
$StateList.add('Georgia','GA')
$StateList

První řádek kódu vytvoří prázdnou hashovací tabulku s názvem $StateList . Další tři řádky přidávají položky do tabulky. Každá položka se skládá z klíče (název stavu) a hodnoty (zkratka stavu). Poslední řádek uvádí obsah tabulky. Kód v akci můžete vidět na obrázku níže.

Toto je jen velmi jednoduchý příklad a existuje mnoho dalších způsobů, jak použít hashovací tabulky.

Práce s výchozími parametry PowerShellu

PowerShell má vestavěnou proměnnou, která se používá k ukládání výchozích parametrů používaných s jeho rutinami. Tato proměnná se nazývá $PSDefaultParameterValues ​​​​. Jak jste si mohli všimnout z úvodního představení a názvu proměnné, nejedná se o obyčejnou proměnnou, ale o hashovací tabulku. Pokud však zadáte název proměnné do PowerShellu, rychle uvidíte, že tabulka je prázdná, jak je znázorněno níže.

Jak používat výchozí parametry PowerShellu ke změně chování příkazu

Co tedy můžeme dělat s touto proměnnou $PSDefaultParameterValues ​​​​. Jak bylo uvedeno výše, můžete ovládat chování rutin PowerShell. Jediným bodem je, že nemůžete překonat přirozené schopnosti příkazu cmdlet. Podívejme se tedy na příklad.

Tento příklad nemusí být něco, co byste chtěli použít v reálném životě, ale ukáže vám, jak snadné je radikálně změnit chování cmdlet. Pokud v PowerShellu zadáte rutinu Get-TimeZone , zobrazí se název časového pásma, pro které je váš počítač aktuálně nakonfigurován. Tento příklad můžete vidět na obrázku níže.

Jak používat výchozí parametry PowerShellu ke změně chování příkazu

Nyní tuto rutinu změníme tak, aby nezobrazovala časové pásmo, pro které je systém nakonfigurován, ale dostupná časová pásma. K tomu potřebujeme syntaxi rutiny pomocí rutiny Get-Help následované rutinou Get-TimeZone . Níže můžete vidět syntaxi rutiny.

Jak používat výchozí parametry PowerShellu ke změně chování příkazu

Tato syntaxe obsahuje parametr nazvaný ListAvailable . Zadejte příkaz níže:

$PSDefaultParameterValues.Add(“Get-TimeZone:ListAvailable”,$True)

První část tohoto příkazu jednoduše říká PowerShellu, že chcete přidat hodnotu do hash tabulky, stejně jako jsme to udělali s příkladem zkratky státu USA v předchozí části. Tato hashovací tabulka obsahuje pár klíč/hodnota. V tomto případě je klíčem název rutiny (Get-TimeZone) následovaný čárkou a názvem parametru, který chcete nastavit. V tomto případě je název parametru ListAvailable. Druhá část této rutiny je hodnota, kterou chcete parametru přiřadit. Tady je $True . Parametr ListAvailable normálně nepotřebuje hodnotu, takže zadáním $True sdělíte PowerShellu, aby tento parametr použil, aniž byste mu přiřadili hodnotu.

Pokud se podíváte na obrázek níže, uvidíte, co se stane, když spustíte rutinu Get-TimeZone.

Jak používat výchozí parametry PowerShellu ke změně chování příkazu

Věci, které je třeba mít na paměti

Nejdůležitější je pochopit, že přidáním nové hodnoty výchozího parametru PowerShellu se změní výchozí chování rutiny, nikoli odebrání možností rutiny. I když změníte rutinu Get-TimeZone tak, aby zobrazovala dostupná časová pásma místo aktuálního časového pásma. Pokud zobrazíte více, můžete stále zobrazit informace o aktuálním časovém pásmu.

Další věc, kterou potřebujete vědět, je, že vlastní výchozí parametry lze odstranit. Chcete-li odebrat jednu položku, použijte příkaz $PSDefaultParameterValues.Remove , za kterým následuje název položky, kterou chcete odstranit. Například:

$PSDefaultParameterValues.Remove(“Get-TimeZone:ListAvailable”)

Místo toho můžete odstranit celý obsah hash tabulky pomocí tohoto příkazu:

$PSDefaultParameterValues.Clear();

Níže můžete vidět příklady obou technik:

Jak používat výchozí parametry PowerShellu ke změně chování příkazu

Můžete smazat celou hashovací tabulku nebo odstranit jeden záznam.

Změna výchozího chování příkazu cmdlet je něco, co neděláte často, ale když to potřebujete, už víte, jak to změnit.

Přeji vám úspěch!

Vidět víc:


Nastavte router Linksys se statickou IP adresou

Nastavte router Linksys se statickou IP adresou

Statická IP adresa je pevná IP adresa nakonfigurovaná v nastavení počítače nebo routeru. Někteří poskytovatelé internetových služeb (ISP) vyžadují zadání statické IP adresy na vašem počítači nebo nastavení TCP/IP routeru, abyste se mohli připojit k internetu.

Jak odstranit prohlížeč únosce PublicBoardSearch

Jak odstranit prohlížeč únosce PublicBoardSearch

Podle způsobu infekce patří PublicBoardSearch do kategorie únosců prohlížeče. Jedná se o typ malwaru navržený tak, aby převzal nastavení známého prohlížeče.

Kolekce tapet Apex Legends s vysokým rozlišením pro počítače

Kolekce tapet Apex Legends s vysokým rozlišením pro počítače

Kolekce tapet s vysokým rozlišením pro uživatele počítačů a notebooků s plným rozlišením od Full HD po 4K.

Co je Localhost? Jak se Localhost liší od 127.0.0.1?

Co je Localhost? Jak se Localhost liší od 127.0.0.1?

Unixový systém, také známý jako „loopback“, může sám sobě posílat a přijímat síťovou komunikaci přes virtuální síťové zařízení. Počítač může posílat zprávy sám sobě, což umožňuje komunikaci bez aktivní sítě.

5 důvodů, proč je v pořádku používat bezplatný antivirový software

5 důvodů, proč je v pořádku používat bezplatný antivirový software

Pravděpodobně jste slyšeli rčení, že dostanete to, za co zaplatíte, ale co když dojde na antivirový software? Měli byste si raději koupit softwarové balíčky, než se rozhodnout pro bezplatná řešení ochrany? Možná tomu tak není a zde je důvod!

Jaký je rozdíl mezi antivirovým softwarem pro Windows a Mac?

Jaký je rozdíl mezi antivirovým softwarem pro Windows a Mac?

V dnešním článku Quantrimang shrne oblíbené značky antivirového softwaru na trhu a zjistí, jak se liší mezi Windows PC a macOS.

4 věci, které uživatelé chtějí vidět ve Windows v roce 2021

4 věci, které uživatelé chtějí vidět ve Windows v roce 2021

Není jasné, co Sun Valley přinese kromě změn a vylepšení uživatelského rozhraní nejvyšší úrovně. Zde je tedy to, co uživatelé doufají, že uvidí od velké aktualizace systému Windows 10 Sun Valley, která bude uvedena v příštím roce.

Jak opravit chybu Spustit jako správce nefunguje ve Windows

Jak opravit chybu Spustit jako správce nefunguje ve Windows

Systém Windows poskytuje možnost Spustit jako správce, která uživatelům umožňuje spouštět aplikace a programy s oprávněními správce. Můžete jej také použít k odstraňování problémů s počítačem. Ale co když tato funkce nefunguje a odebere vám práva správce?

Jak opravit chyby při opravě disku v systému Windows

Jak opravit chyby při opravě disku v systému Windows

Chyby související s jednotkou vašeho počítače mohou zabránit správnému spuštění systému a omezit přístup k vašim souborům a aplikacím.

Modular Malware – Nová metoda tajného útoku ke krádeži dat

Modular Malware – Nová metoda tajného útoku ke krádeži dat

Některé varianty malwaru mohou používat různé moduly ke změně toho, jak ovlivňují cílový systém. Co je tedy modulární malware a jak funguje?