:::: MENU ::::
Posts tagged with: PowerShell

PowerShell a barvy ve Wordu

V rámci některých našich projektů pracujeme se zápisem dat automatizovaně do Microsoft Word dokumentu. V rámci zápisu dat do tabulek občas potřebujeme i obarvovat některé buňky. Barvy se ve Wordu ale nepoužícají u Cell objektů v RGB ale ve formátu Microsoft Access, nebo taky wdColor. Napsal jsem teda mikrofunkci, která převede RGB na wdColor. Třeba se vám to bude taky někdy hodit.

 


Vytvoření Windows Service pomocí SAPIEN PowerShell Studia

Nedávno vyšla nová verze mého oblíbeného powershell editoru SAPIEN PowerShell Studia, která kromě jiných novinek také přináší možnost buildu vašeho skriptu do formátu Windows Service exe souboru. Pomocí parametru /i se dá pak tento exe rovnou zavést jako služba a už váš skript frčí na pozadí.

Více info zde.

PS. Jestli stále hledáte nejen editor na psaní PowerShellu, tak neváhejte a jděte do SAPIENu. Za tu cenu to stojí!


Jak zvětšit velikost partition na max pomocí PowerShellu

Rychlovka bez většího komentáře 🙂


posh skript v orchestratoru hlásí “Exception setting „ForegroundColor“”

Cela chybová hláška zní takto:

Exception setting „ForegroundColor“: „Cannot convert null to type „System.ConsoleColor“ due to invalid enumeration values. Specify one of the following enumeration values and try again. The possible enumeration values are „Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White“.“

V Runbook Testeru to vypadá takhle:

image

V celém PowerShell skriptu zdůrazňuji nemám žádný cmdlet, který používá parametr ForegroundColor.

Po dvou hodinách troubleshootingu celého skriptu (upozorňuju, že má cca 3500 řádek, takže to chvíli trvalo) jsem už přistoupil k postupnému odmazávání nepotřebného balastu.

Najednou koukám, že mám ve skriptu zapomenutý cmdlet Clear-Host, který je tam “na nic”, ale protože skript vždy nejdřív testuju v klasickém PowerShell endžínu, tak jsem si tím čistil obrazovku.

Clear-Host

Ano, toto byl ten problém. Orchestrator se s Clear-Host nedokáže vypořádat. Takže jsem ho vyhodil a už to jede!

image

Magické! 🙂


posh: soubory v cestě delší než 256 znaků

Dnes jsem trochu bojoval se synchronizací OneDrive souborů. Nakonec byl poblém v tom, že některé soubory jsem měl v tolika podadresářích, že už takhle dlouho cestu OneDrive nezvládl. Blbé bylo ale to, že OneDrive psal jen, že některé soubory mají příliš dlouhou cestu (více než 256 znaků), ale už nepsal o jaké soubory se jedná. Vyrobil jsem si tedy takový jednoduchý mikro skript v PowerShellu, abych je našel. Tady je, pokud ho budete jednou taky potřebovat (ať už na cokoli)…

get-childitem D:\Onedrive -Recurse | foreach-object {

   if ($_.pspath.length -ge 256) {

      write-host ‘Path Length:’ –f white –b black

      write-host $_.pspath.length -f cyan -b black

      write-host ‘File Path:’ –f white –b black

      write-host $_.fullname -f yellow -b black

      write-host

   }

}

Ano, dalo by se to udělat do tabulky, ale takhle mi to stačilo 🙂

posh-path-length