Powershell: Pipelining

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Dokončení formátování, -eq místo =.)
m (Opravy formátu v sekci Filtrování.)
Řádka 54: Řádka 54:
 
  | Where-object
 
  | Where-object
 
  | Where
 
  | Where
$_
+
; Lze využít
*Zastupuje aktuální objekt z kolekce
+
# <code>$_</code>
Get-Service | Where {$_.status -eq "Running"}
+
#* Zastupuje aktuální objekt z kolekce.
{...}
+
#* Můžeme pracovat s&nbsp;vlastnostmi tohoto objektu.
* Spustí kód v závorkách.
+
# <code>{''...''}</code>
* Pokud vrací $true, ponechá objekt v kolekci
+
#* Spustí kód v závorkách.
* Pokud vrací $false, zahodí objekt
+
#* Pokud spuštěný kód vrací pro tento objekt z&nbsp;kolekce <code>$true</code>, ponechá tento objekt v kolekci.
 +
#* Pokud vrací <code>$false</code>, zahodí tento objekt.
 +
<div class="Priklad">
 +
Get-Service | Where {$_.Status -eq "Running"}
 +
</div>
  
 
; Operátory
 
; Operátory

Verze z 7. 1. 2019, 07:25


Obsah

Princip

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


Zpracování

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


Filtrování

| Where-object
| Where
Lze využít
  1. $_
    • Zastupuje aktuální objekt z kolekce.
    • Můžeme pracovat s vlastnostmi tohoto objektu.
  2. {...}
    • Spustí kód v závorkách.
    • Pokud spuštěný kód vrací pro tento objekt z kolekce $true, ponechá tento objekt v kolekci.
    • Pokud vrací $false, zahodí tento objekt.
Get-Service | Where {$_.Status -eq "Running"}
Operátory
Doporučený postup
Zjednodušená syntaxe
| Where podmínka
Get-Service | Where Status -eq "Running"
Get-ChildItem | Where Name -like "*.xls"


Výstup do souboru

... | Out-File 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