Příloha – odpovědi na otázky ke kontrole

Tento dodatek poskytuje stručné odpovědi na otázky ke kontrole nalezené na konci každé kapitoly. Použijte ho k ověření vašeho porozumění a posílení klíčových konceptů.

Kapitola 1 – Začínáme s PowerShellem

  1. Použijte automatickou proměnnou $PSVersionTable .
  2. Pouze v případě, že potřebujete obejít řízení uživatelských účtů (UAC) pro úlohy, které vyžadují zvýšení oprávnění v místním počítači.
  3. Výchozí zásady spouštění v klientských systémech Windows jsou Restricted, což brání spouštění skriptů.
  4. Slouží Get-ExecutionPolicy k určení aktuální zásady spuštění.
  5. Použijte Set-ExecutionPolicy (například Set-ExecutionPolicy -ExecutionPolicy RemoteSigned).

Kapitola 2 - Systém nápovědy

  1. Ne. Parametr DisplayName je pojmenovaný, nikoli poziční.
  2. Get-Process má šest sad parametrů.
  3. Použijte Get-Command -Noun EventLog.
  4. Použijte Get-Process -Name powershell.
  5. Spuštěním příkazu Update-Help (se zvýšenými oprávněními správce v Windows PowerShellu) stáhněte a nainstalujte nejnovější obsah nápovědy.

Kapitola 3 – Zjišťování objektů, vlastností a metod

  1. Get-Process vytváří objekt System.Diagnostics.Process.
  2. Nasměrujte výstup příkazu na Get-Member.
  3. Zkontrolujte, jestli má objekt metodu, která provede akci.
  4. Pokud má parametr příkazu PassThru , použijte ho.
  5. Spusťte příkaz jednou a uložte výsledky do proměnné, abyste se vyhnuli opakovanému generování velkých objemů výstupu při vytváření prototypů.

Kapitola 4 – One-Liners a potrubí

  1. Jednořádkový příkaz PowerShell je jeden souvislý řetězec příkazů bez ohledu na to, kolik fyzických řádků pokrývá.
  2. K přirozeným koncům řádků může dojít u znaků, jako jsou svislítko (|), čárka (,), hranaté závorky ([ ]), složené závorky ({ }) a kulaté závorky (( )).
  3. Pokud chcete zvýšit výkon a efektivitu, měli byste filtrovat doleva tím, že snížíte množství dat předávaných kanálem.
  4. Příkaz může přijímat vstup kanálu podle hodnoty (podle typu) nebo podle názvu vlastnosti.
  5. Vzhledem k tomu, že většina obsahu v Galerie prostředí PowerShell je příspěvkem komunity a nemusí být prověřena, měla by se před použitím kontrolovat a testovat.

Kapitola 5 – Formátování, aliasy, poskytovatelé, porovnání

  1. Vzhledem k tomu, že rutiny formátování vytvářejí objekty formátu, které přerušují kanál a nedají se používat ve většině ostatních příkazů.
  2. Slouží Get-Alias -Name % k určení skutečného cmdletu.
  3. Vzhledem k tomu, že aliasy snižují čitelnost a přenositelnost, znesnadňuje ostatním srozumitelnost skriptů.
  4. Použijte Get-ChildItem -Path HKLM:\, HKCU:\ k výpisu klíčů registru v obou úlech.
  5. Operátor -replace ve výchozím nastavení nerozlišuje malá a velká písmena, zatímco metoda .Replace() rozlišuje malá a velká písmena.

Kapitola 6 – Řízení toku

  1. ForEach-Object zpracovává položky jednu po druhé z potrubí (proudové zpracování), zatímco foreach příkaz zpracovává položky z kolekce, která už je načtena do paměti.
  2. Smyčka while vyhodnotí svou podmínku před spuštěním, takže se nemusí vůbec spustit, pokud je podmínka nepravda, na rozdíl od do while a do until, která běží alespoň jednou.
  3. break ukončí smyčku zcela, zatímco continue přeskočí aktuální iteraci a přejde na další.

Kapitola 7 – Práce s rozhraním WMI

  1. Rutiny rozhraní WMI (například Get-WmiObject) jsou starší a používají model DCOM, zatímco rutiny CIM (například Get-CimInstance) jsou novější a ve výchozím nastavení používají WSMan.
  2. WSMan (Windows vzdálená správa).
  3. Relace CIM umožňují opakované použití připojení, podporují alternativní přihlašovací údaje, zlepšují výkon a zjednodušují správu více vzdálených připojení.
  4. Vytvořte možnost relace s New-CimSessionOption, například pro použití DCOM, a předejte ji New-CimSession, pak použijte tuto relaci s Get-CimInstance.
  5. Použijte Remove-CimSession.

Kapitola 8 – Vzdálená správa PowerShellu

  1. Použijte Enable-PSRemoting.
  2. Použijte Enter-PSSession.
  3. Umožňuje používat trvalou relaci namísto specifikování názvu počítače a přihlašovacích údajů s každým příkazem.
  4. Ano, můžete použít relaci PowerShellu (PSSession) ve scénáři interaktivního vzdáleného připojení jedna ku jedné.
  5. Místně spouštěné rutiny vracejí živé objekty pomocí metod, zatímco vzdálené příkazy vrací deserializované objekty bez metod.

Kapitola 9 – funkce

  1. Použijte Get-Verb.
  2. [CmdletBinding()] Přidejte atribut do funkce.
  3. Když funkce provede změny stavu systému nebo provede potenciálně významné akce.
  4. Zadejte -ErrorAction Stop.
  5. Pokud chcete zdokumentovat, jak používat funkci, aby tomu vy i ostatní snadno rozuměli a mohli získat nápovědu pomocí Get-Help.

Kapitola 10 – Skriptovací moduly

  1. Vytvořte .psm1 soubor a umístěte do něj funkce.
  2. Použití schválených sloves zajišťuje konzistenci, zabraňuje varováním a zlepšuje zjistitelnost.
  3. Použijte New-ModuleManifest.
  4. Použijte Export-ModuleMember v .psm1 souboru nebo zadejte funkce v FunctionsToExport poli .psd1 souboru.
  5. Modul musí být ve složce, jejíž název je stejný jako název modulu, umístěný na cestě uvedené na místě $env:PSModulePath, a obsahovat odpovídající soubor modulu (.psm1) nebo manifest.

Závěrečné poznámky

  • Tyto odpovědi jsou záměrně stručné, aby se posílily klíčové koncepty.
  • Znovu se můžete podívat na kapitoly pro hlubší pochopení.