- Windows PowerShell -Contains
- Temi per l’operatore condizionale -Contains di PowerShell
- Esempio 1a: PowerShell -Contains
- Esempio 1b: PowerShell’s -Contains è molto severo
- Guy Recommends: Free WMI Monitor for PowerShell (FREE TOOL)
- Esempio 2: Cercare un valore in una collezione
- Esempio 3: PowerShell -Contains Spreadsheet
- Guy Recommends: Network Performance Monitor (FREE TRIAL)
- Esempio 4: PowerShell -CContains
- Esempio 5: PowerShell -NotContains
- Guy Recommends: SolarWinds Engineer’s Toolset (FREE TRIAL)
- About_Operators
- Ecco la lista dei tipi di operatori di PowerShell
- Sommario dell’operatore condizionale -Contains di PowerShell
- Vedi altri esempi di controllo del flusso di Windows PowerShell
Windows PowerShell -Contains
Quando si tratta di filtrare, o trovare dati abbiamo l’imbarazzo della scelta con -Match, -Like e -Contains. Anche se c’è una sovrapposizione, ogni operatore condizionale ha un ruolo distintivo nello scripting PowerShell.
-Contains è meglio per cercare un valore esatto. Se voglio che un comando restituisca True o False, inizio con -Contains, mentre, se voglio un elenco di risultati, provo con -Match o -Like.
Temi per l’operatore condizionale -Contains di PowerShell
- Esempio 1: PowerShell -Contains (Base)
- Esempio 2: Cercare un valore in una collezione
- Esempio 3: PowerShell -Contains Spreads Spreadsheet
- Esempio 4: PowerShell -CContains
- Esempio 5: PowerShell -NotContains
- PowerShell -Match
- PowerShell -Like
Esempio 1a: PowerShell -Contains
PowerShell usa nomi singolari; quindi “contains” è un verbo e non un nome plurale. Una caratteristica di -Contains è che di solito restituisce “True” o “False”. Se state cercando un comando che restituisca un elenco di valori, allora impiegate -Match o -Like.
# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flat","Bungalow")$ArraySimple -Contains "Flat"# Result PS> True
Esempio 1b: PowerShell’s -Contains è molto severo
-Contains può essere frustrante perché è così esigente. Dopo un po’ ti rendi conto che è solo una caratteristica di design, se non ti piace, prova -Match.
# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flats","Bungalow")$ArraySimple -Contains "Flat"# Result PS> False
Nota 1: -Contains interpreta “Flats” e “Flat” come diversi, quindi restituisce False; non importa che Flat sia un sottoinsieme di Flats.
Sfida: sostituisci -Match con -Contains.
Guy Recommends: Free WMI Monitor for PowerShell (FREE TOOL)
Windows Management Instrumentation (WMI) è uno dei tesori nascosti dei sistemi operativi Microsoft. Fortunatamente, SolarWinds ha creato un Monitor WMI gratuito per PowerShell in modo che tu possa scoprire queste gemme di informazioni sulle prestazioni, e quindi migliorare i tuoi script PowerShell.
Togli la congettura su quali contatori WMI usare quando fai lo scripting del sistema operativo, Active Directory o Exchange Server. Provate questo monitor WMI – è gratuito.
SolarWinds WMI Monitor Download 100% Free Tool
Esempio 2: Cercare un valore in una collezione
-Contains sarebbe la mia scelta di operatori condizionali per situazioni in cui voglio testare un elemento particolare in una collezione, array o hashtable.
# PowerShell -Contains$Collection = "Peter Smith", "Paula Harris", "Joan Evans"$Collection -Contains "Paula"# Result PS> False
Nota 2: Se avete codificato: $Collection -Contains “Paula Harris”
il risultato sarebbe: Vero. Hai bisogno di una corrispondenza esatta dell’elemento completo.
Esempio 3: PowerShell -Contains Spreadsheet
Prevediamo di voler cercare in un file chiamato links.csv. Inoltre, possiamo usare Import-Csv per leggere i dati in modo da poter testare i valori con -Contains.
Preparazione
Il mio foglio di calcolo si chiama links.csv
Ho salvato il file in D:\PowerShell
Il nome della colonna è “Custom channel”
Vedi lo screenshot a destra.
Guy Recommends: Network Performance Monitor (FREE TRIAL)
SolarWinds Network Performance Monitor (NPM) ti aiuterà a scoprire cosa sta succedendo sulla tua rete. Questa utility vi guiderà anche attraverso la risoluzione dei problemi; il dashboard indicherà se la causa principale è un collegamento interrotto, attrezzature difettose o sovraccarico di risorse.
Quello che mi piace di più è il modo in cui NPM suggerisce soluzioni ai problemi di rete. Ha anche la capacità di monitorare la salute delle singole macchine virtuali VMware. Se siete interessati alla risoluzione dei problemi e alla creazione di mappe di rete, vi consiglio di provare NPM in prova gratuita per 30 giorni.
SolarWinds Network Performance Monitor Download 30-day FREE Trial
Esempio 4: PowerShell -CContains
Come per gli altri operatori condizionali di PowerShell, è possibile forzare la sensibilità alle maiuscole precedendo il comando con una ‘C’; CContains non è un refuso!
Nota 4: Il punto è che nel foglio di calcolo il valore è chiaramente ‘LinkTop’, quando forziamo la sensibilità alle maiuscole con CContains, questo non è lo stesso di ‘linktop’, quindi un risultato Falso.
Esempio 5: PowerShell -NotContains
Il negativo -NotContains non è utile come -NotMatch. Tuttavia, da quello che abbiamo già imparato la sintassi è prevedibile.
Nota 5: Ricorda che con -Contains, e per estensione -NotContains, la corrispondenza deve essere esatta. Non esiste un ‘canale personalizzato’ con il nome appunto di ‘link’.
Vedi di più sui confronti con -Like di PowerShell”
Guy Recommends: SolarWinds Engineer’s Toolset (FREE TRIAL)
Questo Engineer’s Toolset fornisce una console completa di 50 utility per la risoluzione dei problemi del computer. Guy dice che mi aiuta a monitorare ciò che sta accadendo sulla rete, e ogni strumento mi insegna di più su come funziona il sistema sottostante.
Ci sono così tanti buoni gadget; è come avere libero accesso a un negozio di dolci. Per fortuna le utilità sono visualizzate in modo logico: monitoraggio, scoperta della rete, diagnostica e strumenti Cisco. Provate subito il SolarWinds Engineer’s Toolset con una prova gratuita di 14 giorni!
SolarWinds Engineer’s Toolset Download 14-day FREE Trial
About_Operators
# For even more information about PowerShell Operators try:Get-Help about_Operators
Ecco la lista dei tipi di operatori di PowerShell
Vedi anche PowerShell -Match”
“
Sommario dell’operatore condizionale -Contains di PowerShell
Quando si cerca un valore esatto, allora -Contains sarebbe la mia prima scelta di operatore condizionale. -Match o -Like sono più adatti a scenari in cui si ha bisogno solo di una corrispondenza parziale o di un elenco di elementi.
Vedi altri esempi di controllo del flusso di Windows PowerShell
– PowerShell Home – PowerShell If Statement – PowerShell ElseIf – Free Permissions Analyzer
– Operatori condizionali – PowerShell -Match – PowerShell -Like – PowerShell -Contains
– Operatori di confronto PowerShell – Sintassi PowerShell – Where Filter – PowerShell Else
Si prega di inviare un’email se hai uno script di esempio migliore. Inoltre vi prego di segnalare eventuali errori fattuali, errori grammaticali o link non funzionanti, sarò felice di correggere il difetto.