Benutzer mit den meisten Antworten
where Klausel mit neuer Schreibweise

Frage
-
moin,
man kann ja mit der neuen Schreibweise die Klammern weglassen
Get-Process|where{$_.processname -eq'ccsvchst'}
Get-Process|whereprocessname -eqccsvchst
ich habe jetzt ein Property mit meheren Werten (scheinbar kein Array sonst wäre ja ein {} dabei)
get-mailboxdatabasecopystatus huser | where {$_.ReplaylagStatus.enabled -eq $true 0
wie müsste da die neue Schreibweise aussehen?
diese funktionieren nicht?
get-mailboxdatabasecopystatus huser | where ReplaylagStatus.enabled -eq $true
get-mailboxdatabasecopystatus huser | where $ReplaylagStatus.enabled -eq $true
get-mailboxdatabasecopystatus huser | where (ReplaylagStatus.enabled) -eq $true
- Bearbeitet Dont - Worry Mittwoch, 8. November 2017 10:21
Antworten
-
Moin,
wieso ist das eine "neue Schreibweise"? Bereits in PS 3.0 hatte Where-Object die Argumente -Property, -Value und die ganzen Vergleichsoperatoren. Sprich, wenn man das komplett ausschreibt, passiert folgendes:
Get-Process | where {$_.processname -eq 'ccsvchst' }
bedeutet soviel wie
Get-Process | Where-Object -FilterScript {$_.processname -eq 'ccsvchst' }
während
Get-Process | where processname -eq ccsvchst
nichts anderes heißt als
Get-Process | Where-Object -Property 'processname' -EQ -Value 'ccsvchst'
Bei Properties, die selbst Objekte sind, ist diese Schreibweise nicht möglich, und Du musst -FilterScript verwenden.
Nachtrag: Wenn Dein Exchange zufällig ein 2010er sein sollte, agiert die EMS ja auf der PowerShell-Versionsebene 2.0 (schau Dir den Aufruf in der Verknüpfung an), da ist die "neue" Schreibweise natürlich nicht zulässig.
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
- Bearbeitet Evgenij Smirnov Mittwoch, 8. November 2017 12:18
- Als Antwort markiert Dont - Worry Mittwoch, 8. November 2017 13:49
Alle Antworten
-
Moin,
wieso ist das eine "neue Schreibweise"? Bereits in PS 3.0 hatte Where-Object die Argumente -Property, -Value und die ganzen Vergleichsoperatoren. Sprich, wenn man das komplett ausschreibt, passiert folgendes:
Get-Process | where {$_.processname -eq 'ccsvchst' }
bedeutet soviel wie
Get-Process | Where-Object -FilterScript {$_.processname -eq 'ccsvchst' }
während
Get-Process | where processname -eq ccsvchst
nichts anderes heißt als
Get-Process | Where-Object -Property 'processname' -EQ -Value 'ccsvchst'
Bei Properties, die selbst Objekte sind, ist diese Schreibweise nicht möglich, und Du musst -FilterScript verwenden.
Nachtrag: Wenn Dein Exchange zufällig ein 2010er sein sollte, agiert die EMS ja auf der PowerShell-Versionsebene 2.0 (schau Dir den Aufruf in der Verknüpfung an), da ist die "neue" Schreibweise natürlich nicht zulässig.
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
- Bearbeitet Evgenij Smirnov Mittwoch, 8. November 2017 12:18
- Als Antwort markiert Dont - Worry Mittwoch, 8. November 2017 13:49
-
danke für die Information,
eigentlich wäre es ein Exchange 2016. Sollte hier bereits die neuere Schreibweise gehen?
Ich glaube das Problem der Schreibweise liegt daran dass das Property ein Unterproperty hat. Also
ReplaylagStatus.enabled
Du kannst es ja bei dir einmal testen.
-
Ich glaube das Problem der Schreibweise liegt daran dass das Property ein Unterproperty hat.
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com