PowerShell alapok -Contains, -CContains & -NotContains feltételes operátorok

Windows PowerShell -Contains

Ha szűrésről, vagy adatok kereséséről van szó, a -Match, -Like és -Contains parancsokkal el vagyunk kényeztetve. Bár vannak átfedések, mindegyik feltételes operátornak sajátos szerepe van a PowerShell szkriptelésben.

A Contains a legjobb egy pontos érték keresésére. Ha azt akarom, hogy egy parancs True vagy False értéket adjon vissza, akkor a -Contains-t használom, míg ha egy eredménylistát akarok, akkor a -Match vagy a -Like kapcsolóval próbálkozom.

Témák a PowerShell -Contains feltételes operátorához

  • 1. példa: PowerShell -Contains (alap)
  • 2. példa: Érték keresése egy gyűjteményben
  • 3. példa: PowerShell -Contains Táblázat
  • 4. példa: PowerShell -CContains
  • 5. példa: PowerShell -NotContains
  • PowerShell -Match
  • PowerShell -Like

Példa 1a: PowerShell -Contains

A PowerShell egyes számú főneveket használ; így a “contains” ige, és nem többes számú főnév. A -Contains jellemzője, hogy általában “True” vagy “False” értéket ad vissza. Ha olyan parancsot keres, amely értékek listáját adja vissza, akkor használja a -Match vagy a -Like parancsot.

# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flat","Bungalow")$ArraySimple -Contains "Flat"# Result PS> True

Példa 1b: A PowerShell -Contains nagyon szigorú

A -Contains frusztráló lehet, mert nagyon válogatós. Egy idő után rájössz, hogy ez csak egy tervezési funkció, ha nem tetszik, próbáld ki a -Match-et.

# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flats","Bungalow")$ArraySimple -Contains "Flat"# Result PS> False

1. megjegyzés: A -Contains a “Flats”-t és a “Flat”-t különbözőként értelmezi, ezért False-t ad vissza; nem számít, hogy a Flat a Flats részhalmaza.

Kihívás: Helyettesítsd a -Contains-t a -Match-tal.

Az ember ajánlja: Free WMI Monitor for PowerShell (FREE TOOL)

A Windows Management Instrumentation (WMI) a Microsoft operációs rendszereinek egyik rejtett kincse. Szerencsére a SolarWinds létrehozott egy Free WMI Monitor for PowerShell-t, hogy felfedezhesse a teljesítményinformációk ezen gyöngyszemeit, és ezáltal javíthassa PowerShell szkriptjeit.

Ne kelljen többet találgatnia, hogy melyik WMI számlálót használja az operációs rendszer, az Active Directory vagy az Exchange Server szkriptelésénél. Próbálja ki ezt a WMI-monitort – ingyenes.

SolarWinds WMI Monitor Download 100% ingyenes eszköz

2. példa: Egy érték keresése egy gyűjteményben

A feltételes operátorok közül a Contains-t választanám olyan helyzetekben, amikor egy gyűjtemény, tömb vagy hashtable egy adott elemét szeretném tesztelni.

# PowerShell -Contains$Collection = "Peter Smith", "Paula Harris", "Joan Evans"$Collection -Contains "Paula"# Result PS> False

2. megjegyzés: Ha a következő kódot használnánk: $Collection -Contains “Paula Harris”
Az eredmény a következő lenne: Az eredmény: True. A teljes elem pontos egyezésére van szükség.

3. példa: PowerShell -Contains Spreadsheet

Tegyük fel, hogy a links.csv nevű fájlban szeretnénk keresni. Továbbá az Import-Csv segítségével beolvashatjuk az adatokat, hogy a -Contains segítségével tesztelhessük az értékeket.

Előkészítés
A táblázatom neve links.csv
A fájlt a D:\PowerShell
Az oszlop neve “Custom channel”
A képernyőképet lásd jobbra.

Az ember ajánlja: Network Performance Monitor (FREE TRIAL)

A SolarWinds Network Performance Monitor (NPM) segít felfedezni, hogy mi történik a hálózaton. Ez a segédprogram a hibaelhárításban is eligazít; a műszerfal jelzi, hogy a hibás kapcsolat, a hibás berendezés vagy az erőforrások túlterheltsége a kiváltó ok.

A legjobban az tetszik, ahogyan az NPM megoldásokat javasol a hálózati problémákra. Emellett képes az egyes VMware virtuális gépek állapotának felügyeletére is. Ha érdekli a hibaelhárítás és a hálózati térképek készítése, akkor javaslom, hogy próbálja ki az NPM-et egy 30 napos ingyenes próbaverzió keretében.

SolarWinds Network Performance Monitor Download 30-day FREE Trial

4. példa: PowerShell -CContains

A PowerShell többi feltételes operátorához hasonlóan a parancs előtt egy “C” betűvel kényszerítheti ki a nagybetű-érzékenységet; a CContains nem elírás!

4. megjegyzés: A lényeg az, hogy a táblázatban az érték egyértelműen ‘LinkTop’, ha a CContains segítségével kikényszerítjük az esetérzékenységet, ez nem ugyanaz, mint a ‘linktop’, ezért Hamis eredményt kapunk.

5. példa: PowerShell -NotContains

A negatív -NotContains nem olyan hasznos, mint a -NotMatch. A már megtanultak alapján azonban a szintaxis kiszámítható.

5. megjegyzés: Ne feledje, hogy a -Contains és kiterjesztve a -NotContains esetén az egyezésnek pontosnak kell lennie. Nincs olyan ‘Custom channel’, amelynek a neve pontosan ‘link’.”

Még többet a PowerShell -Like összehasonlításokról”

Guy Recommends: SolarWinds Engineer’s Toolset (FREE TRIAL)

Ez a mérnöki eszközkészlet 50 segédprogramból álló átfogó konzolt biztosít a számítógépes problémák elhárításához. Guy szerint segít nyomon követni, hogy mi történik a hálózaton, és minden egyes eszközzel többet tudok meg arról, hogyan működik a mögöttes rendszer.”

Túl sok jó kütyü van; olyan, mintha szabad kezet kapnék egy édességboltban. Szerencsére a segédprogramok logikusan vannak megjelenítve: felügyeleti, hálózatfelfedező, diagnosztikai és Cisco-eszközök. Próbálja ki a SolarWinds Engineer’s Toolsetet egy 14 napos ingyenes próbaverzió keretében most!

SolarWinds Engineer’s Toolset letöltése 14 napos ingyenes próbaverzió

About_Operators

# For even more information about PowerShell Operators try:Get-Help about_Operators

Itt a PowerShell operátorok típusainak listája

Lásd még a PowerShell -et.Match”

A PowerShell -Contains feltételes operátorának összefoglalása

Ha pontos értéket keres, akkor a -Contains lenne az első választásom feltételes operátornak. A -Match vagy a -Like jobban megfelel olyan esetekben, amikor csak részleges egyezésre van szükségünk, vagy egy elemlistára van szükségünk.

Még több Windows PowerShell folyamatkezelési példa

– PowerShell Home – PowerShell If utasítás – PowerShell ElseIf – Free Permissions Analyzer

– Feltételes operátorok – PowerShell -Match – PowerShell -Like – PowerShell -Contains

– PowerShell összehasonlító operátorok – PowerShell szintaxis – Where szűrő – PowerShell Else

Kérlek írj nekem, ha van jobb példaszkripted. Továbbá kérem, jelezzenek minden ténybeli hibát, nyelvtani hibát vagy törött linket, szívesen kijavítom a hibát.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük