Zatiaľ čo táto séria nie je štruktúrovaná okolo skúšky, učenie PowerShell je jednou z najdôležitejších vecí, ktoré môžete spraviť ako sieťový administrátor, takže ak je jedna vec, ktorú sa chcete naučiť pomôcť v IT kariére, to je všetko. Navyše je to veľa zábavy.
úvod
PowerShell je najvýkonnejší nástroj na automatizáciu, ktorý spoločnosť Microsoft ponúka, ako aj shell a skriptovací jazyk.
Upozorňujeme, že táto séria je založená na systéme PowerShell 3, ktorý je dodávaný so systémom Windows 8 a Server 2012. Ak používate systém Windows 7, pred pokračovaním si prevezmite aktualizáciu PowerShell 3.
Zoznámte sa s konzolou a ISE
Existujú dva spôsoby interakcie s PowerShellom mimo škatule, Konzola a Integrované skriptovacie prostredie - známe tiež ako ISE. ISE sa výrazne zlepšila od odpornej verzie dodávanej s PowerShell 2 a môže sa otvoriť stlačením klávesovej skratky Win + R, aby sa spustila schránka spustenia, potom sa zadali príkazy powerhell_ise a stlačte enter.
Pomocou systému pomoci
V predchádzajúcich verziách programu PowerShell boli pri inštalácii systému Windows zahrnuté súbory s nápovedou. Bolo to dobré riešenie z väčšej časti, ale zanechalo nás významný problém. Keď pomocný tím PowerShell musel prestať pracovať na súboroch s nápovedou, vývojári PowerShell boli stále zaneprázdnení kódovaním a vykonávaním zmien. To znamená, že pri dodaní PowerShell sú súbory s pomocníkmi nesprávne, pretože neobsahovali novšie zmeny, ktoré boli vykonané v kóde. Ak chcete vyriešiť tento problém, PowerShell 3 prichádza bez súborov s pomocníkom a obsahuje aktualizovateľný systém pomoci. To znamená, že predtým, ako urobíte čokoľvek, budete chcieť stiahnuť najnovšie súbory nápovedy. Môžete to urobiť otvorením konzoly PowerShell a spustením:
Update-Help
Get-Help –Name Update-Help
Ak chcete odpovedať na druhú otázku, existuje určitá syntax, ktorá pomáha súborom a je tu:
- Hranaté zátvorky okolo názvu parametra a jeho typu znamená, že ide o voliteľný parameter a príkaz bude bez neho fungovať bez problémov.
- Hranaté zátvorky okolo názvu parametra znamenajú, že parametre sú polohové parametre.
- Vec napravo od parametra v zaoblených zátvorkách vám povie typ dát, ktorý očakáva parameter.
Zatiaľ čo by ste sa mali naučiť čítať syntax súboru pomocníka, ak si niekedy nie ste istý o určitom parametri, pridajte -Full na koniec príkazu get help a prejdite nadol do časti parametrov, kde vám povie o niečom trochu viac parameter.
Get-Help –Name Update-Help –Full
Get-Help –Name *service*
zabezpečenia
Toto by nebolo správnym úvodom bez uvedenia bezpečnosti. Najväčšou obavou pre tím PowerShell je, že PowerShell sa stáva najnovším a najväčším bodom útoku pre skriptári. Zaviedli niekoľko bezpečnostných opatrení, aby sa ubezpečili, že sa to nestane, a tak sa na ne pozrieme.
Najzákladnejšia forma ochrany pochádza zo skutočnosti, že rozšírenie súboru PS1 (rozšírenie použité na označenie skriptu PowerShell) nie je zaregistrované u hostiteľa PowerShell, ktorý je skutočne zaregistrovaný v programe Poznámkový blok. To znamená, že ak dvakrát kliknete na súbor, otvorí sa s poznámkovým blokom namiesto spustenia.
Po druhé, nemôžete spustiť skripty z shell jednoduchým zadaním názvu skriptu, musíte zadať úplnú cestu k skriptu. Takže ak by ste chceli spustiť skript na C jednotke, musíte zadať:
C:
unme.ps1
Alebo ak ste už v koreňovej jednotke C, môžete použiť nasledovné:
unme.ps1
Napokon PowerShell má niečo, čo sa nazýva Vykonávacie pravidlá, ktoré vás zabraňujú spustiť akýkoľvek starý skript. V skutočnosti nemôžete spustiť žiadne skripty a je potrebné zmeniť pravidlá vykonávania, ak chcete, aby boli spustené. Existujú 4 pozoruhodné vykonávacie pravidlá:
- obmedzený: Toto je predvolená konfigurácia v systéme PowerShell. Toto nastavenie znamená, že žiadny skript nemôže bežať bez ohľadu na jeho podpis. Jediná vec, ktorú je možné v aplikácii PowerShell spustiť s týmto nastavením, je individuálny príkaz.
- AllSigned: Toto nastavenie umožňuje skripty spustiť v PowerShell. Skript musí mať priradený digitálny podpis od dôveryhodného vydavateľa. Pred spustením skriptov od dôveryhodných vydavateľov sa zobrazí výzva.
- RemoteSigned: Toto nastavenie umožňuje spustenie skriptov, ale vyžaduje, aby skriptové a konfiguračné súbory stiahnuté z Internetu mali pridružený digitálny podpis od dôveryhodného vydavateľa. Skripty spustené z lokálneho počítača nemusia byť podpísané. Pred spustením skriptu nie sú žiadne výzvy.
- neobmedzený: Toto povoľuje spustenie nesignovaných skriptov vrátane všetkých skriptov a konfiguračných súborov stiahnutých z Internetu. Zahŕňa to súbory z aplikácií Outlook a Messenger. Rizikom je spustenie skriptov bez akéhokoľvek podpisu alebo zabezpečenia. Opätovne sme sa rozhodli, že toto nastavenie nikdy nepoužívate.
Ak chcete zistiť, aké sú vaše aktuálne pravidlá vykonávania, otvorte konzolu PowerShell a zadajte:
Get-ExecutionPolicy
Poznámka: Toto bude potrebné vykonať z vyvýšenej konzoly PowerShell.
Set-ExecutionPolicy RemoteSigned
Odmietnutie zodpovednosti: Správnym výrazom pre príkaz PowerShell je cmdlet a odteraz použijeme túto správnu terminológiu. Považovalo sa za vhodnejšie ich nazvať príkazmi pre tento úvod.
Ak máte nejaké otázky, môžete ma napísať @taybgibb, alebo zanechať komentár.