In PowerShell, il "Dove-oggetto"CMDLET viene utilizzato per filtrare gli oggetti o i valori da un oggetto. Il filtro Whow-Object comprende condizioni singole o multiple. Il filtro a più condizioni consente di filtrare gli articoli e restituire solo alcuni che corrispondono a queste condizioni.
Per applicare dove-oggetto, si consiglia di pipirlo con altri cmdlet PowerShell. Inoltre, possono essere definite più condizioni utilizzando blocchi di script, vari operatori e così via.
Questo post dimostrerà il funzionamento e l'utilizzo di più condizioni in PowerShell dove-oggetto.
Come utilizzare più condizioni in PowerShell "dove-oggetto"?
PowerShell fornisce le seguenti tre possibilità di utilizzare più condizioni in PowerShell:
Metodo 1: utilizzare più condizioni in PowerShell "dove-oggetto" con blocchi di script e operatori di uguaglianza
Un blocco di script comprende una serie di più istruzioni racchiuse in parentesi cure. Questi tipi di blocchi possono essere uniti al cmdlet Where-Object usando "-Filterscript"Parametro.
Esempio
Nell'esempio seguente, eserciteremo operatori di uguaglianza con blocchi di script per utilizzare più condizioni in PowerShell.
Comprendiamo come viene creato un blocco di script utilizzando la sintassi di seguito:
> $ _.PropertyName -Matching -Parameter
Nella sintassi sopra, il "$ _."È il simbolo usato per fare riferimento a una proprietà. La proprietà e il suo valore (da cercare) sono uniti utilizzando qualsiasi operatore di uguaglianza (-gt, -ge, -lt, -le, -eq).
Qui useremo un blocco di script per filtrare i processi in base all'utilizzo della CPU del processo e NPM (memoria non pagata utilizzata da un processo). I processi che soddisfano le seguenti condizioni vengono filtrati utilizzando il blocco di script:
> Get-process | Dove -object -filterscript ($ _.Npm -lt 30) -and ($ _.CPU -GT 300)
L'output mostra che solo i processi che hanno NPM maggiori
Metodo 2: utilizzare più condizioni in PowerShell "dove-oggetto" con blocchi di script e operatori di contenimento
Gli operatori di contenimento sono i tipi di operatori di confronto. Questi operatori sono facili da capire e leggi rispetto ai blocchi di script in PowerShell.
L'elenco degli operatori di contenimento e le loro descrizioni adatte è elencato nella tabella seguente:
Operatore | Descrizione |
---|---|
"-Conteins" | Il valore sul lato destro dell'operatore è presente sul gruppo di valori sul lato sinistro. |
"-Ccontains" | L'operando giusto è presente nel gruppo di valori presenti a destra. Il -Ccontains è sensibile al caso. |
"-NotContains" | Il valore sul lato destro dell'operatore non è presente sul lato sinistro. |
"-CnotContains" | Questo operatore funziona uguale a quello di -NotContains ma con la sensibilità del caso. |
Esempio
> Get-Service | Dove-object ($ _.Starttype -in 'manual') -and ($ _.Stato -NotContains 'running')
Secondo il codice sopra:
Metodo 3: utilizzare più condizioni in PowerShell "dove-oggetto" con l'utilizzo degli operatori di uguaglianza e corrispondenza
Gli operatori corrispondenti vengono utilizzati per abbinare una condizione o un modello di elementi specificati. Questi operatori includono "-abbina "," -notmatch "," -like "e"-nolike".
Esempio
Questo comando contiene più condizioni in base all'uguaglianza e agli operatori corrispondenti:
> Get-comand | Dove-object ($ _.CommandType -eq 'cmdlet') -and ($ _.Nome -like '*import*')
Secondo questo esempio:
Si trattava di usare più condizioni in PowerShell.
Conclusione
Sono definite più condizioni in cui sono definite più di due dichiarazioni o condizioni. Queste condizioni sono utilizzate in PowerShell "Dove-oggetto"Con la combinazione di blocchi di script e dichiarazioni di confronto. Questo post ha fornito una guida completa per utilizzare più condizioni in PowerShell.