Pojďme programovat elektroniku

Hrajeme si v PowerShellu: Když Luboška zapne počítač, okamžitě nám dorazí e-mail

  • Hrátky v PowerShellu pokračují
  • Dnes se naučíme vytahovat informace ze systému
  • A naplánujeme úlohu, když se ve Windows něco stane

Minule jsem se v našem seriálu o programování elektroniky trošičku (a přátelsky) navezl do fanoušků Linuxu, když jsem si dovolil kacířský výrok, že práce v textovém prostředí Windows není vůbec špatná a v některých aspektech je možná dokonce i lepší než na Red Hatu, Debianu a dalších ikonách současného světa open-source.

Abych své tvrzení podpořil něčím hmatatelným, společně jsme si krok za krokem vysvětlili práci jednoduchého skriptuPowerShellu, který se po spuštění spojil s webovým serverem České národní banky a zobrazil v textové podobě aktuální kurzy předem zvolených devízových měn.

Podívejte se na video dnešního experimentu v PowerShellu:

No dobrá, uznávám, že to byla opravdu jen základní ochutnávka a na Linuxu bych samozřejmě zvládnul úplně to samé, ovšem tím také skriptovací možnosti PowerShellu ani zdaleka nekončí. Ba právě naopak, můžete v něm totiž ovládnout a automatizovat kompletní Windows od A do Z

Když někdo spustí PC, dorazí mi e-mail

A právě to si ukážeme v druhém experimentu, který bude fungovat tak trochu jako Velký bratr. Pomocí vestavěného Plánovače úloh totiž nastavíme pravidlo, aby systém pod naším účtem spustil speciální skript pokaždé, když se jakýkoliv jiný uživatel přihlásí k naší mašině v redakční kanceláři.

35b78ace-e4d9-46e6-a73a-45274f1b0dce
Na Gmail dorazila zpráva, že se mi někdo přihlásil k pracovnímu laptopu

Jakmile k tomu dojde, zhruba po minutě skript vygeneruje report s údaji o počítači, informací, kdo se nám to k němu právě přihlásil a vše skrze poštovní server odešle na můj Gmail.

Fiktivní Luboška Květáková

Za tímto účelem jsem na počítači vytvořil dalšího uživatele – Lubošku Květákovou. Bude představovat fiktivní a v kolektivu nepříliš oblíbenou kolegyni z kanceláře, která se kolegům v jejich nepřítomnosti ráda přihlašuje do jejich mašin a tropí v nich nezbednosti.

1d98babd-f8f7-4d10-850e-9a5e4bef6bba
Kdykoliv se Luboška přihlásí k PC, dorazí mi e-mail s reportem

Do Květákové můžete projektovat své vlastní kolegy, rodinné příslušníky a vlastně kohokoliv, kdo by mohl mít práva k přihlášení na PC, ať už to bude osobní účet, anebo třeba nějaký společný a generický.

V každém případě, jakmile se Luboška přihlásí, do několika minut dorazí e-mail. Skript se spustí s mírným zpožděním, abychom měli jistotu, že se počítač třeba po studeném startu stačil přihlásit k síti, a nastavíme také jeho několikanásobné opakování, pokud první průběh selže. Redundance musí být!

Zkoušíme to v PowerShellu 7

Než se vrhneme na popis příkazů v PowerShellu krok za krokem, jen připomenu, že vše demonstruji v jeho nejnovější 7. generaci, zatímco na současných Windows včetně posledních Jedenáctek straší i nadále stárnoucí 5. generace pod názvem Windows PowerShell.

V příkazové řádce nejnovějšího PowerShellu bude přinejmenším korektně fungovat čeština v UTF-8 a obecně nemá smysl začínat se softwarem, který to má dříve či později tak jako tak spočítané.

Jako testovací platformu zároveň používám Windows 11, ve kterých mohu garantovat funkčnost příkladů. Přece jen máme rok 2022, a tak vše připravuji v aktuálních verzích produktů. Ze stejného důvodu nepoužívám prehistorické rozhraní příkazové řádky, ale PowerShell spouštím v moderním Windows Terminalu. Jako vývojové prostředí jsem zvolil Visual Studio Code a doplněk pro PowerShell, nicméně klidně si to celé napište v Poznámkovém bloku.

Diskuze (130) Další článek: U jihokorejských břehů vznikne soběstačné plovoucí město. Vyřeší problém se stoupající hladinou moří

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,