Windows PowerShell 15 užitečných příkazů pro CLI

PowerShell (PS) je 16 bitový program pro automatizaci úloh a správu konfigurace od společnosti Microsoft, který se skládá z příkazového řádku a souvisejícího skriptovacího jazyka. Původně se jednalo pouze o součást systému Windows, známou pod názvem Windows PowerShell, která se 18. srpna 2016 stala open-source a multiplatformní díky uvedení PowerShell Core.

První z nich je postaven na frameworku .NET Framework, druhý na jádře .NET Core. V prostředí PS se úkoly správy obvykle provádějí prostřednictvím rutin (vyslovováno command-lets), což jsou specializované třídy .NET implementující určitou operaci. Ty fungují tak, že přistupují k datům v různých datových úložištích, jako je souborový systém nebo registr systému Windows, která jsou prostředí PS zpřístupněna prostřednictvím poskytovatelů.

Vývojáři třetích stran mohou do prostředí PS přidávat rutiny a zprostředkovatele. Příkazy mohou být použity skripty, které mohou být následně zabaleny do modulů. Příkazy pracují společně s rozhraním .NET API.

BIOS info pomocí PowerShell

Get-WmiObject -Class Win32_BIOS

Výše uvedený příkaz zobrazí malou podmnožinu vlastností, které existují pro třídu Win32_BIOS. Chcete-li zobrazit seznam všech vlastností a jejich výsledků, použijte tento příkaz:

Get-WmiObject -Class Win32_BIOS | Format-List *

Další třídy (-Class) pro Get-WmiObject jsou:

  • CIM_BIOSElement
  • CIM_BIOSFeature
  • CIM_BIOSFeaturedBIOSElements
  • CIM_BIOSLoadedlnNV
  • CIM_VideoBIOSElemnt
  • CIM_VideoBIOSFeatureVideoBIOSElements
  • Win32_SMBIOSMemory
  • Class Win32_SystemBIOS

Vyhledávač Select-String alias Grep

Vyhledat slovo v souboru (logu) nebo projektu.. S použitím filtru „hledat pouze“ v .txt -Filter + ve všech složkách -Recurse

 Get-ChildItem C:\"Program Files (x86)"\Brackets -Filter *.txt -Recurse | Select-String "slovo"

Když je cesta ke složce s mezerou C:\Program Files (x86) je nutný space escape C:\Program Files (x86)\…

Všechny soubory s obsahem slova (výrazu) slovo nakopírova do jiné složky projekt pomocí příkazu

Get-ChildItem C:\"Program Files (x86)"\Brackets -Filter *.txt -Recurse | Select-String "slovo" | Copy-Item -Destination C:\User\ABC\projekt

Rekurzivní odstranění souborů ve složce

Následující příkaz načte každý soubor v adresáři (-Path) a odstraní jej z pevného disku.

Get-ChildItem –Path "C:\Users\Franta\Download" -Recurse -File | Remove-Item

Kopírování souboru pomocí rutiny Copy-Item

Jednoché kopírování

Copy-Item C:\User\Franta\Download\soubor.txt C:\Users\Franta\Záloha

Rekurzivní kopírování (všeho ve) obsahu složky

Copy-Item C:\User\Franta\Download\* C:\Users\Franta\Záloha\ -recurse

Kopírování souborů z více adresářů do jedné složky

Copy-Item C:\Složka\1\*, C:\Složka\2\* C:\User\Franta\Záloha

Pomocí přepínače -exclude lze nastavit vyloučení určitého typu souboru z kopírování. V příkladu je vyločení všech .txt souborů s obsahem písmen ad.

Copy-Item C:\Složka\1\* C:\User\Franta\Záloha -recurse -exclude [a-d]*.txt

Refresh karet v prohlížeči

PowerShell skript automaticky přepíná a obnovuje otevřené karty prohlížeče. Okno musí být aktivní, to znamená na pozadí se karty přepínat ani obnovovat nebudou.

while(1 -eq 1){
	$wshell=New-Object -ComObject wscript.shell;
	$wshell.AppActivate('Firefox');
	Sleep 5;
	$wshell.SendKeys('^{PGUP}'); 
	$wshell.SendKeys('{F5}');
}

Konfigurovatelné proměnné (čas prodlevy + Prohlížeč) jesou vyznačeny boldem.

Windows PoweShell konzole
Windows PoweShell konzole

Užitečné

Text Jak kopírovat soubory přes internet.
Práce se soubory v Microsoft PowerShell.

ICTIS.CZ