Powershell: Pipelining

Z MiS
Verze z 16. 1. 2023, 09:29; Spravce (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání


Obsah

Princip

Get-Process *ss | Where handles -gt 900 | Sort handles
Get-Service Sym* | Stop-Service -WhatIf


Zpracování

| Get-Member
| Select
Get-ChildItem | Select -Property Name,Length | Sort -Property Length -Descending
| Sort
| Measure
Get-Verb | Measure

Filtrování

| Where-Object
Get-Service | Where {$_.Status -eq "Running"}
Get-Service | Where Status -eq "Running"
Operátory
Doporučený postup
Pro filtrování je lépe použít parametr -Filter

Místo:

Get-ChildItem | Where Name -like "*.xls"

Můžeme tedy psát:

Get-ChildItem -Filter "*.xls"

Nebo dokonce:

Get_ChildItem *.xls

Výstup do souboru

... | Out-File vystup.txt

Lze použít také operátor >, který znáte z příkazového řádku Linuxu a Windows:

ls *.txt | Select name, length | Out-File vystup.txt
ls *.txt | Select name, length > vystup.txt

Pokud chcete obsah připojit ke stávajícímu obsahu souboru, lze použít operátor >> nebo přepínač -Append:

echo "Ahoj" | Out-File -Append vystup.txt
echo "Ahoj" >> vystup.txt

Předávání dat

Přijímání vstupu

Get-Process calc | dir
  • Spusť předtím kalkulačku
  • Zobrazí obsah adresáře, ve kterém je program, který realizuje proces Calc.

Předávání počítačů

Lze použít {...}
Get-ADComputers -Filter * | Get-WMIObjects -class Win32_bios -ComputerName {$_.Name}
Mnoho příkazů umí také
Get-WMIObjects -class Win32_bios -ComputerName (Get-ADComputers -Filter *).Name
Lze kombinovat se závorkou a -ExpandProperty
Get-WMIObjects -class Win32_bios -ComputerName (Get-ADComputers -Filter * | Select -ExpandProperty name)
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje