Valitsee objekteja kokoelmasta niiden ominaisuuksien arvojen perusteella.
- Syntax
- Kuvaus
- Esimerkkejä
- Esimerkki 1: Hae pysäytetyt palvelut
- Esimerkki 2: Hae prosessit työmäärän perusteella
- Esimerkki 3: Hae prosessit prosessin nimen perusteella
- Esimerkki 4: Vertailulausekemuodon käyttäminen
- Esimerkki 5: Ominaisuuksiin perustuvien komentojen haku
- Esimerkki 6: Useiden ehtojen käyttäminen
- Parameters
- Inputs
- Outputs
- Huomautuksia
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-Object
palauttaa 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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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