Zum Inhalt wechseln


Foto

PowerShell abfrage - Mailbox Manager


  • Bitte melde dich an um zu Antworten
27 Antworten in diesem Thema

#16 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 19. Januar 2015 - 12:54

Get-ADUser "User1" -Properties manager | ? {$._Manager -eq [string]::IsNullOrEmpty}

 

 

The term '$._Manager' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

 

>Get-ADUser "User1" -Properties manager | Get-Member

   TypeName: Microsoft.ActiveDirectory.Management.ADUser

Name              MemberType            Definition
----              ----------            ----------
Contains          Method                bool Contains(string propertyName)
Equals            Method                bool Equals(System.Object obj)
GetEnumerator     Method                System.Collections.IDictionaryEnumerator GetEnumerator()
GetHashCode       Method                int GetHashCode()
GetType           Method                type GetType()
ToString          Method                string ToString()
Item              ParameterizedProperty Microsoft.ActiveDirectory.Management.ADPropertyValueCollection Item(string p...
DistinguishedName Property              System.String DistinguishedName {get;set;}
Enabled           Property              System.Boolean Enabled {get;set;}
GivenName         Property              System.String GivenName {get;set;}

Manager           Property              System.String Manager {get;set;}
Name              Property              System.String Name {get;}
ObjectClass       Property              System.String ObjectClass {get;set;}
ObjectGUID        Property              System.Nullable`1[[System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, ...
SamAccountName    Property              System.String SamAccountName {get;set;}
SID               Property              System.Security.Principal.SecurityIdentifier SID {get;set;}
Surname           Property              System.String Surname {get;set;}
UserPrincipalName Property              System.String UserPrincipalName {get;set;}

 

Manager           Property              System.String Manager {get;set;} an der Stelle drehe ich mich im Kreis


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#17 tesso

tesso

    Board Veteran

  • 2.263 Beiträge

 

Geschrieben 19. Januar 2015 - 13:15

Get-ADUser -Filter * | Where-Object {$_.Manager -eq $null }


#18 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 19. Januar 2015 - 13:31

danke dir:

 

Get-ADUser -Filter * | Where-Object {$_.Manager -eq $null }

 

output:

manager:

 

sowie:

 

Manager: -

 

wenn ich jedoch in der EMC nachsehe ist ein Manager gesetzt

auch der output in der AD Shell mit emc module bringt den gleichen "falschen" output


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#19 tesso

tesso

    Board Veteran

  • 2.263 Beiträge

 

Geschrieben 19. Januar 2015 - 14:34

Mein Befehl bringt die User ohne Managereintrag raus.

 

Wenn du die Konten mit Manager haben willst musst du die Condition ändern.

Get-ADUser -Filter * | Where-Object {$_.Manager -ne $null }


#20 daabm

daabm

    Expert Member

  • 2.111 Beiträge

 

Geschrieben 19. Januar 2015 - 19:13

Nein! leer ist nicht gleich leer in einer Datenbank

 

Weiß ich - wollte den TO nicht noch mehr durcheinanderbringen :D


Greetings/Grüße, Martin

Mal ein gutes Buch über GPOs lesen? Oder ein kleines, aber feines Blog darüber?

Und wenn mir die IT mal auf die Nerven geht - coke bottle design refreshment (-:


#21 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 20. Januar 2015 - 09:29

@tesso,

Get-ADUser -Filter * -properties -manager  | Where-Object {$_.Manager -ne $null } ... klappt

 

 

also, wenn ich eine Abfrage haben möchte, ob ein wert gesetzt ist benötige ich immer Varibale $Null ??

 

 

worin besteht dann der unterschied zw "", 0, $Null?

 

danke für eine kurze erläuterung


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#22 Sunny61

Sunny61

    Expert Member

  • 22.236 Beiträge

 

Geschrieben 20. Januar 2015 - 09:53

worin besteht dann der unterschied zw "", 0, $Null?


NULL bedeutet, das Feld hat keinerlei Inhalt, es ist NULL. 0 ist nicht NULL und nicht "", sondern 0. Und "" ist nicht NULL und auch nicht 0.
Evtl. kommst Du hiermit weiter: http://de.wikipedia.org/wiki/Nullwert

Get-ADUser -Filter * -properties -manager  | Where-Object {$_.Manager -ne $null } ... klappt
  
also, wenn ich eine Abfrage haben möchte, ob ein wert gesetzt ist benötige ich immer Varibale $Null ??


Das -ne deute ich für NotEqual, d.h. für mich NICHT NULL. Zeige nur die Datensätze an, die Inhalt in diesem Feld haben, und zwar nicht NULL.

BTW: Deine ?-Taste prellt.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#23 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 20. Januar 2015 - 11:05

$null: im Managerfeld gab es noch nie einen Wert

"" : es gab mal einen Eintrag im Feld, aber der wurde wieder gelöscht

0 : der Manager ist eine 0  

 

deswegen ist wahrscheinlich dieser Ausdruck richtig:

Get-ADUser -Filter * -properties -manager  | Where-Object {   $([String]::IsNullOrEmpty($($_.manager)))  }

 

BTW: "-Filter * "  kannst du dir auch sparen


Ein Kluger bemerkt alles, Ein Dummer macht über alles eine Bemerkung. (Heinrich Heine)


#24 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 20. Januar 2015 - 12:48

soweit ich weiss,  wird bei AD cmdlets zwingen ein Filter verlangt "ohne -filter *" fragt Powershell nach der Entertaste nach der identity..
aber vielen dank, das bringt licht ins dunkel..
gruss


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#25 daabm

daabm

    Expert Member

  • 2.111 Beiträge

 

Geschrieben 20. Januar 2015 - 21:37


"" : es gab mal einen Eintrag im Feld, aber der wurde wieder gelöscht
 
Da würde ich eher sagen "er wurde als Leerstring gesetzt". Wenn man das richtig macht, steht wieder $Null drin (aka "<not set>").

Greetings/Grüße, Martin

Mal ein gutes Buch über GPOs lesen? Oder ein kleines, aber feines Blog darüber?

Und wenn mir die IT mal auf die Nerven geht - coke bottle design refreshment (-:


#26 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 21. Januar 2015 - 14:42

Hallo,

 


-properties manager  | ? { $([String]::IsNullOrEmpty($($_.manager)))}

 

könntet Ihr mir bitte weitere Infos diesbezzüglich zukommen lassen, Links oder dergleichen.

bin aktuell auf der Suche nach dem roten Faden


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#27 daabm

daabm

    Expert Member

  • 2.111 Beiträge

 

Geschrieben 21. Januar 2015 - 20:49

Google kennst Du aber, oder? Mußt Du wohl, sonst hättest Du nicht hierher gefunden :D
https://www.google.d...($_.manager)))}

Greetings/Grüße, Martin

Mal ein gutes Buch über GPOs lesen? Oder ein kleines, aber feines Blog darüber?

Und wenn mir die IT mal auf die Nerven geht - coke bottle design refreshment (-:


#28 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 22. Januar 2015 - 07:43

Hallo,
 
könntet Ihr mir bitte weitere Infos diesbezzüglich zukommen lassen, Links oder dergleichen.
bin aktuell auf der Suche nach dem roten Fade

 
Hallo
"IsNullOrEmpty" ist eine sogenannte statische Methode der Klasse String. Erkennbar an dem roten "S" hier
https://msdn.microso...(v=vs.110).aspx
-> Methods Table -> Linke Spalte
bzw.
[string]$a | gm -static    (benutz aber lieber die MSDN)
 
Die Syntax für den Aufruf statischer Methoden lautet in PS:

[<Klasse>]::<statische Methode>(<parameter1,parameter2,....>)
bzw. für die Stringklasse
[System.String]::IsNullOrEmpty($a)  -> True/ False
[System.String]::Concat($a,$b)
usw..

für nicht statische Methoden (also die ohne rotes "S") muss dagegen zuerst ein Objekt mit z.B. "New-Object" gebaut werden

$a=New-Object System.String("ddd")
$a.ToUpper()

Die String-Klasse ist natürlich nicht so wahnsinnig interessant :-)
 
blub


Ein Kluger bemerkt alles, Ein Dummer macht über alles eine Bemerkung. (Heinrich Heine)