PowerShell

Jak dostat data z Powershellu do Excelu

Pro zápis dat, resp. jejich přenos do Excelu, za účelem např. dalších složitějších analýz a reportování, existuje v Powershellu dvě základní možnosti. Jednak můžeme data vyexportovat do textového souboru CSV a následně je v Excelu otevřít, resp. naimportovat, nebo můžeme Excel přímo otevřít a data zapisovat přímo do excelovského sešitu. Zápis dat pomocí textového souboru CSV Zápis dat do textového souboru pomocí cmdletu Export-Csv, který se...

Geokódování v Powershellu pomocí Google Maps

Geokódování je proces, při němž se k zadané adrese dohledávají zeměpisné souřadnice. S využitím Google Maps API Web Services je to pomocí Powershellu velmi jednoduché. Google Maps API Web Services vrací na požadavek JSON nebo XML dokument, který obsahuje informaci o adrese, souřadnice adresy a souřadnice pro optimální zobrazení. Pro získání zmíněného výstupu stačí poslat požadavek s patřičnými parametry na...

Odstranění diakritiky

V rámci různých skriptů můžeme občas potřebovat odstranit z načtených textů českou diakritiku (např. chceme-li následně text poslat jako smsku). Ke změně určitého znaku v textu na jiný můžeme použít operátory -replace nebo -creplace. Operátor creplace rozlišuje malá a velká písmena a je pro nás tedy vhodnější. $text = "Žluťočký kůň úpěl ďábelské ódy" $text = $text -creplace("á","a") $text = $text -creplace("ě","e") $text = $text...

Spouštění skriptů se změnou ExecutionPolicy

V některých případech chceme ponechat nastavenou hodnotu ExecutionPolicy na Restricted, ale zároveň potřebujeme spustit Powershell script. Můžeme tedy použít nastavení Execution Policy při spuštění powershellu, např.: powershell -ExecutionPolicy Bypass -File script.ps1 Tímto způsobem můžeme spustit i konzoli Powershellu, tak že povolíme (popř. naopak zakážeme) spouštění skriptů v dané konzoli. powershell -ExecutionPolicy RemoteSigned Příkaz spustí...

Členství uživatele ve skupinách AD

Zjištění resp. výpis skupin, jejichž je uživatel členem není zcela triviální a není možné se na tuto informaci dotázat, jako na vlastnost objektu uživatele. Je potřeba to trochu obejít. Musíme tedy nejprve projít všechny skupiny Active Directory a zjistit, jestli je daný uživatel jejich členem, následně si vypíšeme skupiny, v nichž je daný uživatel zařazen. Ve skriptu musíme nejprve načíst modul ActiveDirectory, abychom mohli pracovat s patřičnými...

Parametry -ErrorAction a -ErrorVariable

Tyto velice zajímavé parametry cmdletů v Powershellu umožňují ovlivnit chování při výskytu chyby. Jde o tzv. common parametry, které jsou dostupné u všech cmdletů. Pomocí následujícího cmdletu můžeme zjistit o Commonparametrs více: PS C:\> Get-Help about_CommonParameters Parametr -ErrorAction Parametr -ErrorAction umožňuje ovlivnit chování Powershellu při výskytu chyby. Parametr může nabývat následujících hodnot: Continue [Default] - cmdlet vypíše...

Confirmation v PowerShellu

Všechny cmdlety v Powershellu, které nějakým způsobem mění nastavení systému mají parametr -confirm. Pokud spustíme cmdlet s parametrem -confirm, dotáže se cmdlet, zda chceme opravdu akci provést. Cmdlety, které mají parametr -confirm, mají také většinou nastavenu úroveň učinku. Tato úroveň je jednoduše Low, Medium a High, podle toho, jak autor cmdletu vyhodnotil jeho potenciální riziko na systém. Powershell sám má vestavěnou proměnou $ConfirmPreference,...

Spouštění skriptů odkazem

Pokud máme vytvořeny Powershell skripty a chceme mít možnost je rychle spouštět je možné udělat si pro tyto skripty odkazy např. na Ploše. Jak už zde bylo uvedeno není možné spouštět přímo soubory s příponou PS1 a proto musíme udělat odkaz trochu složitější. Při vytvoření nového zástupce zadáme do položky cíl např. následující: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe c:\skript\skript.ps1 Pomocí takto vytvořeného zástupce pak...

Spouštění Powershell skriptů

Powershell skripty jsou soubory s příponou PS1 (např. test.ps1). Tyto soubory není možné v systému spustit stejně jako běžné spustitelné soubory BAT nebo EXE apod. Skripty je možné spouštět v konzoly Powershellu, následujícím způsobem: c:\PS> test.ps1 nebo je nutné spustit Powershell s parametrem konkrétního skriptu. Parametr s názvem skriptu však nemůže být uveden pouze názvem, ale musí buď obsahovat celou cestu k souboru nebo pokud je skript v...

Převod VB scriptu na Powershell

Pro znalce VBscriptu vytvořil Microsoft zajímavou stránku s popisem, jak nahradit jednotlivé příkazy z VBscriptu commandlety...