Používání PowerShell pro domácí uživatele - Příručka pro začátečníky


Kdo si nepřeje, aby byli čarodějové a řekli pár slov, aby se staly magické věci? Nejsme schopni vám ukázat, jak být čarodějem, ale můžeme vám ukázat, jak udělat malou počítačovou magii.

Pokud máte počítač se systémem Windows a Windows 7, máte PowerShell. Pokud máte také počítač se systémem Windows 7, aktualizujte jej z důvodu zabezpečení.

Tento článek však není určen pouze pro lidi Windows. Nejnovější verze PowerShell je zdarma a lze ji nainstalovat a použít v počítačích Mac a Linux.

To je důležité, protože to, co se dozvíte o PowerShell, lze nyní použít na téměř každém počítači. Kdo ví? Tuto dovednost byste mohli postoupit na další úroveň a pustit se do kariéry v oblasti informačních technologií.

Co je PowerShell?

High-tech odpověď společnosti Microsoft je, že je, “ … Prostředí příkazového řádku navržené speciálně pro správce systému. “Zní to zastrašující. Ale není to tak. Postaráte se o svůj počítač? Ano, pak jste správcem systému ve vašem domě.

Řeknete počítači, co dělat s klikáním a stiskem kláves? Ano, tak si představte shell příkazového řádku jako pouze další okno, do kterého zadáte věci, abyste počítači řekli, co má dělat. Můžete to udělat.

In_content_1 vše: [300x250] / dfp: [640x360]->

PowerShell je jako programovací jazyk, ale ne tak kryptický jako většina ostatních. Opravdu to čte hodně jako běžná angličtina, což bylo něco, o co Microsoft usiloval, aby jej mohli vyzvednout neprogramátoři.

Je to způsob, jak napsat několik řádků příkazů, nazývaných skript, aby operační systém Windows udělal něco, co chcete. Poté můžete tyto řádky uložit do souboru a spustit je kliknutím nebo naplánovat pravidelné spouštění.

Co můžete dělat s PowerShellem?

Bod na vysoké úrovni PowerShell má být schopen automatizovat úkoly, takže nemusíte ztrácet čas opakováním světských věcí. Pro profesionálního správce systému by to mohlo být něco jako vytváření nových uživatelů, generování hesel pro ně a zasílání e-mailů s podrobnostmi jejich novému nadřízenému.

Ručně provedený, s klikáním a zadáním textu, může tento proces trvat 5 minut až hodinu a více. Se správnými skripty nemusí systémový administrátor dokonce dělat žádnou jeho část.

Ale chcete vědět, co můžete dělat s PowerShell doma. Skoro něco, co se vám nelíbí znovu a znovu. Slouží k uvolnění místa na pevném disku odstraněním dočasných a protokolovaných souborů, které nepotřebujete.

Dejte na počítač vašeho dítěte zákaz vycházení. Přejmenujte nebo uspořádejte spoustu souborů. To je krása PowerShell. Téměř cokoli můžete na svém počítači udělat, můžete vytvořit skript PowerShell, který bude automatizovaný a spuštěný kliknutím nebo podle plánu.

Jak mohu používat PowerShell?

Nejjednodušší způsob práce s PowerShell je v PowerShell Integrated Scripting Environment (ISE). Najdete ji kliknutím na Start a zadáním powershell isedo vyhledávací lišty v systému Windows 10. Měli byste ji vidět, jak je uvedeno níže.

Poprvé, když ji použijeme, spustíme ji jako administrátor. Chcete-li to provést, musíte mít nejprve v počítači práva správce. V nabídce Startklepněte pravým tlačítkem myši na PowerShell ISEa poté na Spustit jako správce.

Můžete získat UserAccess Control(UAC) varovné vyskakovací okno s dotazem, zda jste si jisti, že chcete dothis. Klikněte na možnost Ano.

Nyní se díváte na PowerShell IDE. Horní panel okna (1)je skriptovací panel. Zde budete psát svůj skript. Dolní panel okna (2)je oblast konzoly. Při testování skriptu uvidíte výstup v tomto podokně.

Zde se také zobrazí chybové zprávy a takové, které vám pomohou opravit a vylepšit skripty. Podokno na pravé straně okna (3)je doplněk příkazu. Přemýšlejte o tom jako o slovníku všech dostupných příkazů PowerShell.

PowerShell je nastaven tak, aby nespouštěl žádný skript kromě té, která je již součástí systému Windows. Budete jej muset změnit, abyste mohli spouštět vlastní skripty.

V okně skriptování zkopírujte a vložte následující:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Set-ExecutionPolicyjejí část se nazývá cmdlet (vyslovený příkaz). Cmdlets jsou mocné věci. Přemýšlejte o nich jako o krátkých příkazech, které můžete dát systému Windows, a systém Windows udělá spoustu složitějších věcí, které uspokojí váš příkaz.

Analogie by řekla vašemu dítěti, aby vyčistilo svůj pokoj. Krátké a věcné. Pokud je vaše dítě dobře obeznámeno s úklidem místnosti, půjdou si udělat postel, vložit prádlo do koše, polici hračky a knihy a možná dokonce i vysát podlahu. Chápou, že cmdlet Clean-YourRoom to všechno znamenalo.

V horní části okna uvidíte zelenou šipku.Kliknutím na ni spustíte příkaz.

- Část ExecutionPolicyříká Set-ExecutionPolicy, jaké zásady nastavit. Je to parametr. Říká se: „Chci, abys postupoval podle těchto pokynů a konkrétně to dělal. Říká jí, aby používal konkrétní politiku RemoteSigned.

V zásadě RemoteSignedse uvádí, že program PowerShell nemusí provádět ani spouštět žádný skript stažený z Internetu, pokud nebyl podepsán důvěryhodným vydavatelem.

Oboustranně to říká PowerShell, že je dobré spouštět jakýkoli skript vytvořený místně, protože ty nemusí být podepsány vzdáleným důvěryhodným vydavatelem. Nyní bude váš skript PowerShell schopen spouštět jakýkoli skript, který napíšete do počítače.

Pojďme se podívat na skript a odstranit dočasné soubory. Není to mocné nebo důkladné jako CCleaner, ale CCleaner přichází s vlastní sadou problémů.

Použijte PowerShell k vytvoření místa na pevném disku

Tento skript rozložíme, řádek po řádku, takže můžete vidět, jak to funguje. Na konci bude skript zobrazen úplně, takže jej můžete zkopírovat a vložit, chcete-li.

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

Všechno se znakem dolaru před ním je název proměnné . Přemýšlejte o tom jako o peněžence, do které můžete vložit cenné věci. Peněženka nám připomíná znak dolaru, cennosti zní jako proměnná, takže si to také pamatujeme. Vytváříme peněženku nebo proměnnou s názvem $ TempFileLocation. Znaménko rovnosti říká PowerShell, co do této proměnné vložit.

V tomto případě vkládáme umístění umístění dočasných souborů Windows - C: \ Users \ username \ AppData \ Místní \ Temp \ *. Děláme to ze dvou důvodů; je to místo, ze kterého je vždy možné odstranit soubory, a my jej použijeme k tomu, abychom PowerShell řekli, kam musí soubory smazat.

Kde se v tomto umístění nachází uživatelské jméno, vyměňte jej za svého uživatele název. To je uživatelské jméno, které používáte pro přihlášení k počítači. Hvězdička (*) na konci ofit je divoká karta. Představuje vše ve složce Temp, protože vše ve složce Temp je dočasné a chceme je odstranit.

Důležité jsou také dvojité uvozovky v okolí. To říká PowerShell, že to, co je tam, je řetězec. Řetězec považujte za řetězec písmen a znaků. Pokud by to byla obyčejná čísla, nepoužívali bychom uvozovky.

$TempFile = Get-ChildItem $TempFileLocation -Recurse

Vytváříme další proměnnou. Tentokrát použijeme příkaz, abychom vymysleli něco, co vložíme do proměnné $ TempFile.

Get-ChildItem 

Další věc, kterou budeš Všimněte si, že o rutinách, jako je Get-ChildItem, je, že je zcela čitelný. Vidíte, jak je první slovo sloveso? Cmdlets začínají akčními slovy, takže okamžitě víte, co to dělá. ChildItem jsou dvě podstatná jména.

Druhá část rutiny nám vždy řekne, na co PowerShell akci použije. ChildItem znamená všechny děti z rodičovského místa. Je to jako říkat dostat všechny soubory, které jsou ve složce, se soubory, které jsou dětmi a složkou jsou rodiče.

Z čeho je cmdlet získávat podřízené položky? Vše v proměnné $ TempFileLocation. PowerShell se chystá jít na místo, které jsme vložili do $ TempFileLocation dříve a získat všechny podřízené položky, které tam jsou. Poté je vloží do proměnné $ TempFile.

Takže, co je s částí -Recurse? Říká se to Get-ChildItem, aby projel všechno na tomto místě. Nejezděte si soubory okamžitě do nadřazené složky. Pokud jsou v této složce složky, získejte také všechny své děti a jejich děti atd. Dostaneme je všechny.

$TempFileCount = ($TempFile).count

Ano, vytváříme třetí proměnnou nazvanou $ TempFileCounta do této proměnné vložíme číslo. Kde je číslo? ($ TempFile) .countnám toto číslo přinese. Pravděpodobně jste přišli na to, že část .count bude počítat všechny soubory, které jsme právě uložili do $ TempFile.

Proč jsme to udělali? Většinou proto, že je příjemné vědět, kolik zbytečných souborů vyčistíme pomocí zbytku skriptu, abychom mohli říct, jak efektivní to bylo.

if($TempFileCount -eq 0)

Nyní nastavujeme nahoru podmíněné prohlášení. Vidíte, že se ptá „jestli“. Když co? Pokud je věc v závorce pravdivá nebo nepravdivá. Závorky jsou důležité, jinak pokud neví, co porovnat. Zde se ptá, zda se číslo, které jsme uložili v $ TempFileCount, rovná nule.

-eqje zkratka pro rovná se. Je to typ operátora porovnání. Je to jako říct vašim dětem: „Pokud je váš pokoj čistý, skvělý, uděláme něco…“ Toto prohlášení říká, že pokud číslo uložené v $ TempFileCount je - rovno nule, udělejte další věc.

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

To se stane, pokud je $ TempFileCountnula. Kudrnaté závorky jsou důležité. Řeknou společnosti PowerShell, aby dělala pouze to, co je v nich, pokud se $ TempFileCount rovná nule.

Napíše hostiteli nebo obrazovce: „Ve složce C: \ Users \ username \ Appdata \ Local \ Temp \ * nejsou žádné soubory. Parametr na konci, - ForegroundColorříká PowerShell, aby se text stal zeleným. To jen usnadňuje rozlišení od chybové zprávy, která je obvykle červená.

Else

Víte, co jiného znamená. Toto je část „Váš pokoj by měl být čistý nebo jinde…“ součástí kontroly, zda vaše dítě vyčistilo jejich pokoj. Je to, co se stane, pokud $ TempFileCountnení nula.

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

Toto říká, přejděte na aktuální umístění uložené v $ TempFile. Svislá čára za ní se nazývá potrubí. Funguje to jako trubka v reálném životě, protože říká společnosti PowerShell, aby přivedla obsah $ TempFile do rutiny, jako by do pračky byla přiváděna voda. Poté cmdlet Remove-Item(Odebrat položku) provede, co říká; odstraní to, co je na tomto místě.

V této fázi je velmi důležitý parametr -WhatIf. Řekne PowerShell, aby příkaz spustil, ale pouze to vyzkoušejte, neodstraňujte nic. Jen nám ukážte, co by se stalo, kdybychom to opravdu udělali.

To vám umožní testovat příkazy beze změny na vašem počítači. Nechte -WhatIf tam, dokud si nebudete jistí, že skript udělá, co chcete, a nic jiného. Pak to prostě smažte a skript bude vykonávat svou práci.

Parametr - Potvrzení: $ falsezastaví skript v dotazu, zda opravdu chcete soubor smazat. Víte, co dělá -Recurse. -Forceznamená smazat tuto věc bez ohledu na to, co. -VarováníActionje nastaveno na SilentlyContinue.

Tím zabráníte skriptu, aby vás varoval o tom, co odstraňujete. -ErrorActionje nastavena na SilentlyContinue, takže pokud dojde k nějaké chybě v procesu, bude to jen pořádně probírat.

Nyní jsme na poslední řádek.

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

Stejně jako Write-Hostto poprvé, bude vydána následující věta, takže víme, co se stalo . Řekne nám, kolik souborů bylo odstraněno ze složky, kterou právě zpracoval, a uděláme to zeleně, aby bylo snadné zjistit.

Podívejme se na skript úplně:

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

Můžete to zkopírovat a vložit do svého prostředí PowerShell ISE a uložit jako něco jako odstranit-TemporaryFiles.ps1. Také se můžete držet konvence pojmenování rutin, když jim rozumíte.

Pokud pro vás kód z nějakého důvodu nefunguje, můžete také stáhněte si skript PowerShell, které jsme vytvořili a prostě to spusťte. Nejprve jej rozbalte a zobrazte soubor skriptu.

Kdykoli chcete spustit tento skript, stačí na něj kliknout pravým tlačítkem a vybrat možnost Spustit s PowerShell. Konzola PowerShell se objeví na vteřinu nebo dvě, zatímco váš skript udělá svou věc, a poté zmizí, pokud nedojde k chybám.

Kde se mohu dozvědět více PowerShell?

Zdá se to jako hodně! Pro váš první skript PowerShell je to docela slušné. Pokud jste se dostali tak daleko, tleskejte. Dnes jste se toho hodně naučili, ale teď se chcete dozvědět více. To je skvělé!

Na internetu je mnoho zdrojů, kde se dozvíte více o PowerShell. Dobrým místem pro začátek je náš článek „Vytvořit seznam spouštěcích programů pomocí příkazového řádku nebo PowerShell “. Pak se podívejte na tyto další zdroje:

  • Začínáme s Microsoft PowerShell - Microsoft Virtual Academy
  • Výukový program PowerShell - TutorialsPoint.com
  • Související příspěvky:


    14.03.2019