Module: Microsoft.PowerShell.Core

Valitsee objekteja kokoelmasta niiden ominaisuuksien arvojen perusteella.

Syntax

Where-Object <String> <Object>] 
Where-Object <ScriptBlock> 
Where-Object <String> <Object>] -Match 
Where-Object <String> <Object>] -CEQ 
Where-Object <String> <Object>] -NE 
Where-Object <String> <Object>] -CNE 
Where-Object <String> <Object>] -GT 
Where-Object <String> <Object>] -CGT 
Where-Object <String> <Object>] -LT 
Where-Object <String> <Object>] -CLT 
Where-Object <String> <Object>] -GE 
Where-Object <String> <Object>] -CGE 
Where-Object <String> <Object>] -LE 
Where-Object <String> <Object>] -CLE 
Where-Object <String> <Object>] -Like 
Where-Object <String> <Object>] -CLike 
Where-Object <String> <Object>] -NotLike 
Where-Object <String> <Object>] -CNotLike 
Where-Object <String> <Object>] -CMatch 
Where-Object <String> <Object>] -NotMatch 
Where-Object <String> <Object>] -CNotMatch 
Where-Object <String> <Object>] -Contains 
Where-Object <String> <Object>] -CContains 
Where-Object <String> <Object>] -NotContains 
Where-Object <String> <Object>] -CNotContains 
Where-Object <String> <Object>] -In 
Where-Object <String> <Object>] -CIn 
Where-Object <String> <Object>] -NotIn 
Where-Object <String> <Object>] -CNotIn 
Where-Object <String> <Object>] -Is 
Where-Object <String> <Object>] -IsNot 
Where-Object <String> -Not 

Kuvaus

Cmdlet Where-Object valitsee sille välitetystä objektien kokoelmasta objekteja, joilla on tietyt ominaisuusarvot. Voit esimerkiksi valita Where-Object-komentokomennolla tiedostot, jotka on luotu tietyn päivämäärän jälkeen, tapahtumat, joilla on tietty tunniste, tai tietokoneet, jotka käyttävät tiettyä Windows-versiota.

Windows PowerShell 3.0:ssa on kaksi eri tapaa rakentaa Where-Object-komento.

  • Skriptilohko. Skriptilohkon avulla voit määrittää ominaisuuden nimen, vertailuoperaattorin ja ominaisuuden arvon. Where-Objectpalauttaa kaikki objektit, joiden osalta komentosarjalohkon lauseke ontosi.

    Seuraavalla komennolla haetaan esimerkiksi Normal-prioriteettiluokkaan kuuluvat prosessit eli prosessit, joiden PriorityClass-ominaisuuden arvo on yhtä suuri kuin Normal.

    Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}

    Kaikki PowerShell-vertailuoperaattorit kelpaavat komentosarjalohkon muodossa. Lisätietoja vertailuoperaattoreista on kohdassavertailuoperaattoreista.

  • Vertailulauseke. Voit myös kirjoittaa vertailulausekkeen, joka on paljon luonnollisempaa kieltä. Vertailulausekkeet otettiin käyttöön Windows PowerShell 3.0:ssa.

    Esimerkiksi seuraavat komennot saavat myös prosessit, joiden prioriteettiluokka on Normal. Nämäkäskyt vastaavat toisiaan, ja niitä voidaan käyttää vaihdellen.

    Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"

    Get-Process | Where-Object PriorityClass -eq "Normal"

    Windows PowerShell 3.0:sta alkaen Where-Object lisää vertailuoperaattorit parametreiksiWhere-Object-komentoon. Ellei sitä ole määritetty, kaikki operaattorit eivät erota isoja ja pieniä kirjaimia. Ennen WindowsPowerShell 3.0:a PowerShell-kielen vertailuoperaattoreita voitiin käyttää vain komentosarjalohkoissa.

Kun annat yksittäisen ominaisuuden Where-Object:lle, ominaisuuden arvoa käsitellään boolean-ilmaisuna. Kun Lengthin arvo ei ole nolla, lausekkeen arvoksi tuleeTrue. Esim: ('hi', '', 'there') | Where-Object Length

Edellinen esimerkki vastaa toiminnallisesti:

  • ('hi', '', 'there') | Where-Object Length -GT 0
  • ('hi', '', 'there') | Where-Object {$_.Length -gt 0}

Esimerkkejä

Esimerkki 1: Hae pysäytetyt palvelut

Näillä komennoilla saadaan luettelo kaikista tällä hetkellä pysäytetyistä palveluista. Automaattinen muuttuja $_edustaa jokaista kohdetta, joka välitetään komentoon Where-Object.

Ensimmäisessä komennossa käytetään komentosarjalohkomuotoa, toisessa komennossa käytetään vertailulausemuotoa. Komennot vastaavat toisiaan, ja niitä voidaan käyttää vaihdellen.

Get-Service | Where-Object {$_.Status -eq "Stopped"}Get-Service | where Status -eq "Stopped"

Esimerkki 2: Hae prosessit työmäärän perusteella

Nämä komennot luettelevat prosessit, joiden työmäärä on yli 250 megatavua (KB). Thescriptblock- ja statement-syntaksi vastaavat toisiaan, ja niitä voidaan käyttää vaihdellen.

Get-Process | Where-Object {$_.WorkingSet -GT 250MB}Get-Process | Where-Object WorkingSet -GT (250MB)

Esimerkki 3: Hae prosessit prosessin nimen perusteella

Nämä komennot hakevat prosessit, joiden ProcessName-ominaisuuden arvo alkaa kirjaimella p. Match-operaattorin avulla voit käyttää säännöllisiä lausekkeita.

Skriptilohko- ja lausekesyntaksi vastaavat toisiaan, ja niitä voidaan käyttää vaihdellen.

Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}Get-Process | Where-Object ProcessName -Match "^p.*"

Esimerkki 4: Vertailulausekemuodon käyttäminen

Tässä esimerkissä näytetään, miten käytetään Where-Object-cmdlet-tiedonsiirtokomennon Where-Object uutta vertailulausekemuotoa.

Ensimmäisessä komennossa käytetään vertailulausekemuotoa.Tässä komennossa ei käytetä peitenimiä, ja kaikki parametrit sisältävät parametrin nimen.

Toinen komento on vertailulausekemuodon luonnollisempi käyttö. Alias where korvaa Where-Object cmdlet-nimen ja kaikki valinnaisten parametrien nimet jätetään pois.

Get-Process | Where-Object -Property Handles -GE -Value 1000Get-Process | where Handles -GE 1000

Esimerkki 5: Ominaisuuksiin perustuvien komentojen haku

Tässä esimerkissä näytetään, miten kirjoitetaan komentoja, jotka palauttavat kohteita, jotka ovat tosi tai epätosi tai joilla on mikä tahansa arvo määritetystä ominaisuudesta. Jokaisessa esimerkissä näytetään sekä komennon komentolohko- että vertailulausekemuodot.

# Use Where-Object to get commands that have any value for the OutputType property of the command.# This omits commands that do not have an OutputType property and those that have an OutputType property, but no property value.Get-Command | where OutputTypeGet-Command | where {$_.OutputType}# Use Where-Object to get objects that are containers.# This gets objects that have the **PSIsContainer** property with a value of $True and excludes all others.Get-ChildItem | where PSIsContainerGet-ChildItem | where {$_.PSIsContainer}# Finally, use the Not operator (!) to get objects that are not containers.# This gets objects that do have the **PSIsContainer** property and those that have a value of $False for the **PSIsContainer** property.Get-ChildItem | where {!$_.PSIsContainer}# You cannot use the Not operator (!) in the comparison statement format of the command.Get-ChildItem | where PSIsContainer -eq $False

Esimerkki 6: Useiden ehtojen käyttäminen

Get-Module -ListAvailable | where {($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri}

Tässä esimerkissä näytetään, miten luodaan Where-Object-komento, jossa on useita ehtoja.

Tällä komennolla haetaan ei-ydinmoduuleja, jotka tukevat päivitettävissä olevan ohjeen ominaisuutta. Komento käyttää Get-Module-cmdletinListAvailable-parametria saadakseen kaikki tietokoneessa olevat moduulit. Apipeline-operaattori (|) lähettää moduulit Where-Object-cmdletille, joka hakee moduulit, joiden nimet eivät ala Microsoftilla tai PS:llä ja joilla on arvo HelpInfoURI-ominaisuudelle, joka kertoo PowerShellille, mistä moduulin päivitetyt ohjetiedostot löytyvät. Vertailulausekkeet on liitetty toisiinsa loogisella And-operaattorilla.

Esimerkissä käytetään skriptilohkon komentomuotoa. Loogiset operaattorit, kuten And ja Or, ovat voimassa vain komentosarjalohkoissa. Niitä ei voi käyttääWhere-Object-komennon vertailulausekemuodossa.

  • Lisätietoja PowerShellin loogisista operaattoreista on kohdassa about_Logical_Operators.
  • Lisätietoja päivitettävän ohjeen ominaisuudesta on kohdassa about_Upddatable_Help.

Parameters

-CContains

Merkitsee, että tämä cmdlet hakee objekteja kokoelmasta, jos objektin ominaisuuden arvo vastaa täsmälleen määritettyä arvoa. Tämä toiminto erottaa isot ja pienet kirjaimet.

Esimerkiksi: Get-Process | where ProcessName -CContains "svchost"

CContains viittaa arvojen kokoelmaan ja on tosi, jos kokoelma sisältää kohteen, joka vastaa täsmälleen määritettyä arvoa. Jos syöte on yksittäinen objekti, PowerShell muuntaa sen yhden objektin kokoelmaksi.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-CEQ

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on sama kuin määritetty arvo.Tämä toiminto erottaa isot ja pienet kirjaimet.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Ensimmäinen arvo: None
Hyväksyy putkiston syötteen: False
Accept wildcard characters: False
-CGE

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on suurempi tai yhtä suuri kuin määritetty arvo. Tämä toiminto on case-sensitive.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CGT

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on suurempi kuin määritetty arvo.Tämä toiminto on case-sensitive.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Ensimmäinen arvo: None
Hyväksy putkiston syöttö: False
Accept wildcard characters: False
-CIn

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo sisältää määritetyn arvon. Tämä operaatio on case-sensitive.

Esimerkiksi: Get-Process | where -Value "svchost" -CIn ProcessName

CIn muistuttaa CContainsia, paitsi että ominaisuuden ja arvon sijainnit ovat päinvastaiset. Esimerkiksi seuraavat lausekkeet ovat molemmat totta.

"abc", "def" -CContains "abc"

"abc" -CIn "abc", "def"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Esimerkkiliitteen oletusarvo: Ei mitään
Hyväksy putkiston syöttö: False
Accept wildcard characters: False
-CLE

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on pienempi tai yhtä suuri kuin määritettyarvo. Tämä toiminto on case-sensitive.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CLike

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo täsmää arvoon, joka sisältää jokerimerkkejä. Tämä toiminto erottaa isot ja pienet kirjaimet.

Esimerkiksi: Get-Process | where ProcessName -CLike "*host"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CLT

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on pienempi kuin määritetty arvo. Tämä toiminto on case-sensitive.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-CMatch

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo täsmää määritettyyn regularexpressioniin. Tämä toiminto on isojen ja pienten kirjainten suhteen erilainen. Kun syöttö on skalaarinen, sovitettu arvo tallennetaan $Matches automaattiseen muuttujaan.

Esim: Get-Process | where ProcessName -CMatch "Shell"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CNE

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo poikkeaa määritetystä arvosta.Tämä toiminto on suur- ja pienaakkoset huomioiva.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Ensimmäinen arvo: None
Vastaanottaa putkilinjan syötteen: False
Accept wildcard characters: False
-CNotContains

Koskee sitä, että tämä cmdlet saa objekteja, jos objektin ominaisuuden arvo ei vastaa täsmällisesti määritettyä arvoa. Tämä toiminto erottaa isot ja pienet kirjaimet.

Esimerkiksi: Get-Process | where ProcessName -CNotContains "svchost"

NotContains ja CNotContains viittaavat arvojen kokoelmaan ja ovat tosi, kun kokoelmassa ei ole yhtään kohdetta, joka täsmälleen vastaa määritettyä arvoa. Jos syöttö on yksi objekti, PowerShell muuntaa sen yhden objektin kokoelmaksi.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Ensisijainen arvo: False
Accept wildcard characters: False
-CNotIn

Koskee sitä, että tämä cmdlet saa objekteja, jos ominaisuuden arvo ei vastaa täsmällisesti määritettyä arvoa. Tämä toiminto erottaa isot ja pienet kirjaimet.

Esimerkiksi: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName

NotIn- ja CNotIn-operaattorit muistuttavat NotContains- ja CNotContains-operaattoreita, paitsi että ominaisuuden ja arvon sijainnit ovat päinvastaiset. Esimerkiksi seuraavat lausekkeet ovat totta.

"abc", "def" -CNotContains "Abc"

"abc" -CNotIn "Abc", "def"

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CNotLike

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo ei vastaa arvoa, joka sisältääwildcard-merkkejä. Tämä toiminto erottaa isot ja pienet kirjaimet.

Esimerkiksi: Get-Process | where ProcessName -CNotLike "*host"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-CNotMatch

Koskee sitä, että tämä cmdlet saa objekteja, jos ominaisuuden arvo ei täsmää määritettyyn säännösilmaisuun. Tämä toiminto on suur- ja pienaakkoset huomioiva. Kun syöttö on skalaarinen, sovitettu arvo tallennetaan $Matches automaattiseen

muuttujaan.

Esimerkiksi: Get-Process | where ProcessName -CNotMatch "Shell"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Contains

Merkitsee, että tämä cmdlet saa objekteja, jos mikä tahansa objektien ominaisuuksien arvoon sisältyvä elementti vastaa täsmälleen määritettyä arvoa.

Esimerkiksi: Get-Process | where ProcessName -Contains "Svchost"

Jos ominaisuuden arvo sisältää yhden objektin, PowerShell muuntaa sen yhden objektin kokoelmaksi.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: IContains
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-EQ

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on sama kuin määritetty arvo.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: IEQ
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-FilterScript

Määrittää skriptilohkon, jota käytetään kohteiden suodattamiseen. Sulje skriptilohko sulkeisiin({}).

Parametrin nimi FilterScript on valinnainen.

Type: ScriptBlock
Position: 0
Default value: None
Vastaanottaa putkilinjan syötteen: False
Accept wildcard characters: False
-GE

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on suurempi tai yhtä suuri kuin määritetty arvo.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: IGE
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-GT

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on suurempi kuin määritetty arvo.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: IGT
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-In

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo täsmää johonkin määritetyistä arvoista.Esimerkiksi:

Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"

Jos Value-parametrin arvo on yksittäinen objekti, PowerShell muuntaa sen yhdestä objektista koostuvaksi kokoelmaksi.

Jos objektin ominaisuuden arvo on joukko, PowerShell käyttää viittausten yhdenvertaisuutta määrittäessään amatchin. Where-Object Palauttaa objektin vain, jos Property-parametrin arvo ja Value-parametrin anyvalue ovat sama objektin instanssi.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: IIn
Position: Named
Ohjearvo: None
Accept pipeline input: False
Accept wildcard characters: False

-InputObject

Määrittää suodatettavat objektit. Voit myös putkittaa objektit osoitteeseen Where-Object.

Kun käytät InputObject-parametria yhdessä Where-Object:n kanssa, sen sijaan, että komentotulokset putkitettaisiin osoitteeseen Where-Object, InputObject-arvoa käsitellään yhtenä objektina. Tämä pätee, vaikka arvo olisi komennon tuloksena syntynyt kokoelma, kuten -InputObject (Get-Process). Koska InputObject ei voi palauttaa yksittäisiä ominaisuuksia joukosta tai objektien kokoelmasta, suosittelemme, että jos käytät Where-Object:tä suodattaaksesi objektien kokoelman niiden objektien osalta, joilla on tiettyjä arvoja määritellyissä ominaisuuksissa, käytät Where-Object:tä putkistossa, kuten tämän aiheen esimerkeissä on esitetty.

Type: PSObject
Position: Named
Default value: None
Esimerkkiputken syöte: True
Accept wildcard characters: False
-Is

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on määritetyn .NETtyyppi. Sulje tyypin nimi hakasulkeisiin.

Esimerkiksi Get-Process | where StartTime -Is

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-IsNot

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo ei ole määritellyn instanssi.NET-tyyppi.

Esimerkiksi Get-Process | where StartTime -IsNot

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Position: Named
Esimerkkiliitteen oletusarvo: None
Hyväksy putkiston syöttö: False
Accept wildcard characters: False
-LE

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on pienempi tai yhtä suuri kuin määritettyarvo.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: ILE
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Like

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo täsmää arvoon, joka sisältää jokerimerkkejä.

Esimerkiksi: Get-Process | where ProcessName -Like "*host"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: ILike
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-LT

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo on pienempi kuin määritetty arvo.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: ILT
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Match

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo täsmää määritettyyn regularexpressioniin. Kun syöttö on skalaarinen, täsmäävä arvo tallennetaan $Matches automaattiseen muuttujaan.

Esim: Get-Process | where ProcessName -Match "shell"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: IMatch
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-NE

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuuden arvo poikkeaa määritetystä arvosta.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: INE
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Not

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuutta ei ole olemassa tai sen arvo on null taifalse.

Esimerkiksi: Get-Service | where -Not "DependentServices"

Tämä parametri otettiin käyttöön Windows PowerShell 6.1:ssä.

Type: SwitchParameter
Position: Named
Default value: None
Vastaanottaa putkistosyötteen: False
Accept wildcard characters: False
-NotContains

Koskee sitä, että tämä cmdlet saa objekteja, jos yksikään ominaisuuden arvoon sisältyvistä elementeistä ei vastaa täsmällisesti määritettyä arvoa.

Esimerkiksi: Get-Process | where ProcessName -NotContains "Svchost"

NotContains viittaa arvojen kokoelmaan ja on tosi, jos kokoelma ei sisällä yhtään kohdetta, joka vastaa täsmälleen määritettyä arvoa. Jos syöte on yksittäinen objekti, PowerShellmuuntaa sen yhden objektin kokoelmaksi.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: INotContains
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-NotIn

Merkitsee, että tämä cmdlet saa objekteja, jos ominaisuustietoarvo ei vastaa täsmällisesti mitään määritetyistä arvoista.

Esimerkiksi: Get-Process | where -Value "svchost" -NotIn -Property ProcessName

Jos Value-arvon arvo on yksittäinen objekti, PowerShell muuntaa sen yhden objektin kokoelmaksi.

Jos objektin ominaisuuden arvo on joukko, PowerShell käyttää viittausten yhdenvertaisuutta määrittäessään amatchin. Where-Object palauttaa objektin vain, jos Property:n arvo ja mikä tahansa Value:n arvo eivät ole sama objektin instanssi.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: INotIn
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-NotLike

Koskee sitä, että tämä cmdlet saa objekteja, jos ominaisuuden arvo ei vastaa arvoa, joka sisältääwildcard-merkkejä.

Esimerkiksi: Get-Process | where ProcessName -NotLike "*host"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: INotLike
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-NotMatch

Koskee sitä, että tämä cmdlet saa objekteja, kun ominaisuuden arvo ei täsmää määritettyyn regularexpressioniin. Kun syöttö on skalaarinen, sovitettu arvo tallennetaan $Matches automaattiseen

muuttujaan.

Esim: Get-Process | where ProcessName -NotMatch "PowerShell"

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: SwitchParameter
Aliases: INotMatch
Position: Named
Esimerkkisijoitus: None
Accept pipeline input: False
Accept wildcard characters: False
-Property

Määrittää objektin ominaisuuden nimen. Parametrin nimi Property on valinnainen.

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: String
Position: 0
Default value: None
Hyväksyy putkiston syötteen: False
Accept wildcard characters: False
-Value

Määrittää ominaisuuden arvon. Parametrin nimi Value on valinnainen. Tämä parametri hyväksyyWildcard-merkit, kun sitä käytetään seuraavien vertailuparametrien kanssa:

  • CLike
  • CNotLike
  • Like
  • NotLike

Tämä parametri otettiin käyttöön Windows PowerShell 3.0:ssa.

Type: Object
Position: 1
Default value: None
Ensisijainen arvo: None
Hyväksy putkiston syöttö: False
Accept wildcard characters: True

Inputs

PSObject

Voit putkella objekteja tähän cmdletiin.

Outputs

Object

Tämä cmdlet palauttaa input-objektijoukosta valitut kohteet.

Huomautuksia

Windows PowerShell 4.0:sta alkaen metodit Where ja ForEach lisättiin kokoelmien käyttöä varten.

Voit lukea lisää näistä uusista metodeista täältä about_arrays

  • Compare-Object
  • ForEach-Object
  • Group-Object
  • Measure-Object
  • New-Object
  • Select-Object
  • Sort-Object Tee-Object

Vastaa

Sähköpostiosoitettasi ei julkaista.