Domovská » jak » Geek School učí používat Cmdlets v PowerShell

    Geek School učí používat Cmdlets v PowerShell

    Pokud jste použili příkaz ipconfig nebo ping přes příkazový řádek, jste na půli cesty k tomu, abyste se stali PowerShell ninja. Tak pojďte a připojte se k nám, když objevíme cmdlety v této instalaci Geek School.

    Nezapomeňte se podívat na náš první článek, který představuje PowerShell, a po celý týden zůstaňte doladěni na zbytek našich sérií.

    Anatomie koule

    V první části seriálu jsme viděli cmdlet, který vypadal takto:

    Aktualizace - Nápověda

    Řetězy PowerShell mají syntaxi Verb-Noun, kterou lze vidět výše. Důležité je poznamenat, že podstatné jméno je vždy jedinečné, přestože cmdlet může vrátit více než jeden výsledek. Chcete-li zobrazit seznam právních sloves v programu PowerShell, můžete použít cmdlet Get-Verb.

    Znát právní slovesa a pamatovat na singulární pravidlo podstatného jména opravdu pomáhá odhadnout názvy cmdletů. Předpokládejme například, že chcete dostat seznam služeb a jejich status - to je pravda, je to stejně snadné jako Get-Service. Jak si myslíte, že bychom to udělali dostat seznam běhu procesů - to je pravda, Get-Process bude dělat trik.

    Get-Process

    Díky tomu je opravdu snadné pracovat s jakoukoli technologií. Například pokud jste měli cmdlety Exchange, mohli bychom snadno získat seznam poštovních schránek na serveru pomocí:

    Get-Mailbox

    Existuje však výjimka. Výměna stran, všechny ostatní příkazy specifické pro technologii budou vyžadovat předponu. Pokud bychom například chtěli dostat uživatele, kteří jsou aktuálně přihlášeni prostřednictvím služby Vzdálená plocha, zadejte:

    Get-RDUserSession

    Které je vidět na obrazovce níže.

    Poznámka: Tato obrazovka byla pořízena na poli Server 2012, kde najdete většinu technologických modulů.

    Před chvílí jsem četl článek od Don Jonesa, křtítka PowerShell, kde vysvětlil, že Exchange odeslaný předtím, než byl tento prefix přidán do cmdletů, takže je nikdy nerealizoval a nikdy.

    Aliasy

    Další funkce, kterou přináší PowerShell, je schopnost mít více způsobů spuštění stejného příkazu - aliasy, pokud chcete. Úžasná věc je, že obsahují mnoho příkazů, které jste použili v příkazovém řádku, a také některé aliasy Linuxu. Například v programu PowerShell můžeme získat seznam adresářů pomocí:

    Get-ChildItem

    Používá se k použití příkazového řádku? Nemějte strach, mají vás pokryté.

    Máte pozadí Linuxu? Máte tam i tu pokryté.

    Když jste skriptovali pár let, máte tendenci být líní a začít používat aliasy hodně, ale to nepomůže novým příchozím, kteří si přečtou náš kód. Chcete-li zjistit, jaký příkaz má alias pod kapotou, můžete použít následující:

    Get-Alias ​​-Jsem ls

    Na druhou stranu, pokud se domníváte, že je čas uvést do hry, můžete pomocí parametru definice získat všechny aliasy pro cmdlet:

    Get-ChildItem-Definice Get-ChildItem

    Pokud pocházíte z nějakého jiného prostředí, můžete přidat vlastní aliasy následujícím postupem:

    Nové aliasy - jmenuji se icanhazfilez -Value Get-ChildItem

    Je zřejmé, že budete muset nahradit "icanhazfilez" názvem vašeho nového aliasu a Get-ChildItem pomocí rutiny, kterou chcete používat pod kapotou.

    Jedna věc, kterou je třeba poznamenat, je, že ztratíte všechny aliasy, které jste definovali při zavření shellu. Toto můžete obejít přidáním definice do svého profilového skriptu.

    Zkrácené parametry

    Systém Windows PowerShell také umožňuje zkrátit názvy parametrů až do okamžiku, kdy se stanou nejednoznačnými, to znamená až do okamžiku, kdy PowerShell již nemůže zjistit, o kterém parametru mluvíte. Například:

    Get-Service - pojmenujte 'Apple Mobile Device' - název_počítače localhost

    Je stejné jako:

    Get-Service - "Mobilní zařízení společnosti Apple" -Com localhost

    Pokud si náhodně uděláte názvy parametrů příliš nejasné, dostanete chybu.

    Legacy příkazy

    Nakonec příkazy, které znáte a milujete, budou stále fungovat v PowerShell.

    ping www.google.com

    Jen si pamatujte, že starší aplikace, jako je ping výstup řetězec, a tam je často lepší způsob, jak dělat totéž pomocí PowerShell cmdlet.

    Namísto výstupu dlouhého řetězce textu jsme nyní ponecháni s objektem, na který se podíváme v zítřejším vydání Geek School.