Zum Inhalt wechseln


Foto

PowerShell abfrage - Mailbox Manager


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

#1 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 16. Januar 2015 - 12:40

ich möchte mir Infos über Mailboxen anzeigen lassen (Manager ja/nein)

mit

get-distributionGroup | get-memer m*

managedBy ..

get-Mailbox | get-member m*

hat KEIN ManagedBy oder Manager (obwohl über die GUI ersichtlich)

wenn ich jetzt aber eine AD Abfrage erstelle

get-AdObject | Get-Member ..
output:Filter

2 Fragen hierzu

1 - bei der AD Abfrage kommt immer die Abfrage nach einem Filter warum??

2- wie bekomme ich die Infos, ob an einer Mailbox ein "Manager" gesetzt ist?

um es anzeigen zu lassen - get-aduser "Name" -properties manager

danke


Bearbeitet von mcseboarduser23, 16. Januar 2015 - 13:25.

Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#2 Dukel

Dukel

    Board Veteran

  • 9.247 Beiträge

 

Geschrieben 16. Januar 2015 - 12:52

Kannst du deine Anfrage auch lesbar schreiben?

Ich versehe kein Wort. Kannst du z.B. Beispiele Posten?


Stop making stupid people famous.


#3 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 16. Januar 2015 - 13:25

so besser?


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#4 Dukel

Dukel

    Board Veteran

  • 9.247 Beiträge

 

Geschrieben 16. Januar 2015 - 13:41

Besser aber noch verbesserungswürdig.

 

Zur Frage 1: Meines Wissens ist der Filter ein Pflichtparameter bei AD Objekten.

Zur Frage 2: Habe leider aktuell keine Spontane Exchange Testumgebung zur Hand. Vielleicht kann dir jemand anderes helfen.


Stop making stupid people famous.


#5 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 16. Januar 2015 - 14:12

also wird der filter bei AD cmdlets immer benötigt, da bei exchange cmdlets dies nicht nötig ist.

 

wie kann ich mir aber anstelle von |Get-Member anzeigen lassen,

was ich alles abfragen lassen kann?

 

bei dem cmdlet get-uermailbox | get-member sehe ich was ich alles abfragen lassen kann.

 

wie setzte ich dies bei AD Objekten um?


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#6 Dukel

Dukel

    Board Veteran

  • 9.247 Beiträge

 

Geschrieben 16. Januar 2015 - 14:23

Was du alles abfragen kannst erfährst du mit Get-Member. Ggf. musst du mit dem Parameter "properties" alle Eigenschaften einblenden.


Stop making stupid people famous.


#7 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 16. Januar 2015 - 14:25

damit möchte ich mir alle MB einer bestimmten OU anzeigenlassen, wo KEIN Manager gesetzt ist

Get-ADUser -SearchBase "OU=SharedUMB,OU=ExchangeOb,OU=Domain Admin,DC=Domain,DC=AT,DC=corperal" | select-object name,@{Label="Manager";Expression={ (get-aduser $user -Properties manager | measure-object).count } } | Where-Object { $_.count -eq 0 }


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#8 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 17. Januar 2015 - 08:34

@dukel,

 

kannst du mich hierbei kurz aufklären?

 

l>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;}

 

die letzte Spalte "Definition" ist mit noch nicht ganz klar
"Manager           Property              System.String Manager {get;set;}"

system string ... was kann ich hier genau machen (evtl hast hier eine guten Link?)

 

Wie kann ich mir gezielt anzeigen lassen wert "Manager" gesetzte ja / nein ??

geht das mit

 


| Where-Object { $_.count -eq 0 }

 


Bearbeitet von mcseboarduser23, 17. Januar 2015 - 08:36.

Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#9 daabm

daabm

    Expert Member

  • 2.106 Beiträge

 

Geschrieben 17. Januar 2015 - 17:16

System.String Manager {get;set;}
Das ist also ein String mit dem Namen "Manager", und Du kannst ihn lesen (get) und schreiben (set). Und wenn er leer ist, dann ist er leer :D

Bearbeitet von daabm, 17. Januar 2015 - 17:17.

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 (-:


#10 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 17. Januar 2015 - 17:55

@daabm

 

also, wenn kein Manager gesetzt ist, ist der wert dann NULL?? und wenn einer gesetzt ist =1 ?


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#11 daabm

daabm

    Expert Member

  • 2.106 Beiträge

 

Geschrieben 18. Januar 2015 - 11:37

Wenn einer gesetzt ist, dann steht sein Name da drin. Deshalb ist es ein String und kein Bool...


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 (-:


#12 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 19. Januar 2015 - 07:06

das beantwortet meine Frage nicht,

welchen Wert kann ich abfragen, wenn KEIN Wert gesetzt ist?


Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#13 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 19. Januar 2015 - 08:24

so gehts:

$User = Get-ADUser "user1" -Properties manager
[String]::IsNullOrEmpty($($User.mamager))

liefert "true", wenn die Property leer ist, egal ob jemals etwas darin gestanden hat, oder nicht. Wenn du das unterscheiden willst,  kannst du auf $Null oder "" abfragen

 

 

.... Und wenn er leer ist, dann ist er leer :D

 

 

Nein! leer ist nicht gleich leer in einer Datenbank
 

 

blub


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


#14 mcseboarduser23

mcseboarduser23

    Junior Member

  • 129 Beiträge

 

Geschrieben 19. Januar 2015 - 10:41

  vielen dank.

 

 

 

Get-ADUser -Filter * -SearchBase "DN-Name" -Properties manager | where {$_.manager -eq "" }

 

Get-ADUser -Filter * -SearchBase "DN-Name" -Properties manager | where {$_.manager -eq 0 }

 

warum bringen beide Abfragen nicht den gewünschten Erfolg?

 

output:
ist einfach eine neue Zeile


Bearbeitet von mcseboarduser23, 19. Januar 2015 - 10:42.

Build  - 14.3.279.2 Um alle Unklarheiten zu beseitigen


#15 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 19. Januar 2015 - 11:32

weil $Null nicht das selbe wie 0 oder "" ist!


My name is Frank, you can say you to me.