Powershell alle Benutzer mit Abwesenheitsnotiz auflisten
Moin zusammen, ich hoffe das mir hier jemand helfen kann.
Ich versuche per Powersehll die Benutzer anzuzeigen welche eine Abwesenheitsnachricht aktiv haben.
Das funktioniert mit
Auch super, allerdings bekomme ich dort die Identity zurück in der Form:
Ich würde aber gerne den Samaccountnamen haben, weiß jetzt aber nichtmehr weiter. Ich hab schon haufenweise dinge getestet. Habt ihr da einen Tipp für mich wie ich als Ausgabe den Samaccountnamen bekomme?
Besten Dank und einen schönen Tag euch
Ich versuche per Powersehll die Benutzer anzuzeigen welche eine Abwesenheitsnachricht aktiv haben.
Das funktioniert mit
Get-Mailbox | Get-MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState -eq "scheduled" } | fl identity
Auch super, allerdings bekomme ich dort die Identity zurück in der Form:
Identity : test.local/EXCHANGE/T6/Max Drei
Identity : test.local/EXCHANGE/T6/Max Vier
Identity : test.local/EXCHANGE/T5/Max Neunzehn
Identity : test.local/EXCHANGE/T5/Max Sechs
Ich würde aber gerne den Samaccountnamen haben, weiß jetzt aber nichtmehr weiter. Ich hab schon haufenweise dinge getestet. Habt ihr da einen Tipp für mich wie ich als Ausgabe den Samaccountnamen bekomme?
Besten Dank und einen schönen Tag euch
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 461369
Url: https://administrator.de/forum/powershell-alle-benutzer-mit-abwesenheitsnotiz-auflisten-461369.html
Ausgedruckt am: 23.04.2025 um 16:04 Uhr
15 Kommentare
Neuester Kommentar

get-Mailbox -resultSize Unlimited | Get-MailboxAutoReplyConfiguration | ?{$_.AutoReplyState -in @('Enabled','Scheduled')} | %{(Get-ADUser $_.Identity.DistinguishedName).SamAccountName}

Doch, du musst nur das ActiveDirectory Module laden
Oder wenn du das Module nicht aktiviert/installiert hast, nutze einen ADSISearcher.
Import-Module ActiveDirectory
get-Mailbox -ResultSize Unlimited | Get-MailboxAutoReplyConfiguration | ?{$_.AutoReplyState -in @('Enabled','Scheduled')} | %{([adsi]"LDAP://$($_.Identity.DistinguishedName)").sAMAccountName}

Setze Get-Mailbox in Klammern dann funktioniert das auch in deinem Fall weil die Mailboxen erst in den Speicher geladen werden und dann erst die AutoReplyAbfragen geschehen, ansonstenm sind das zwei parallele Anfragen auf die selbe Mailbox.
Du nutzt offensichtlich eine Remote EX Verbindung ohne FULL-Serialization da kommt das mit den parallelen Pipes die sich gegenseitig behindern vor.
(get-Mailbox) | .........

Ist ja auch Blödsinn was du da machst!! Schau mal wad du da in der For-Each-Schleife benutzt! Kopiere es von oben richtig, statt Get-ADUser nutzt du Get-Mailbox und das führt zu dem Fehler weil du schon die Mailbox und die AutoReplyConfig in der Pipeline abfragst!
Fertig!
get-Mailbox -ResultSize Unlimited | Get-MailboxAutoReplyConfiguration | ?{$_.AutoReplyState -in @('Enabled','Scheduled')} | %{([adsi]"LDAP://$($_.Identity.DistinguishedName)").sAMAccountName}
Hi shellschrubber
Habe das gerade getestet aber bekomme nicht alle mit aktivem oof. Das weiß ich deswegen so genau weil ich gerade bei einer Kollegin den OOf Text korrigieren musste.
Grüße
Zitat von @139920:
Ist ja auch Blödsinn was du da machst!! Schau mal wad du da in der For-Each-Schleife benutzt! Kopiere es von oben richtig, statt Get-ADUser nutzt du Get-Mailbox und das führt zu dem Fehler weil du schon die Mailbox und die AutoReplyConfig in der Pipeline abfragst!
Fertig!
Ist ja auch Blödsinn was du da machst!! Schau mal wad du da in der For-Each-Schleife benutzt! Kopiere es von oben richtig, statt Get-ADUser nutzt du Get-Mailbox und das führt zu dem Fehler weil du schon die Mailbox und die AutoReplyConfig in der Pipeline abfragst!
> get-Mailbox | Get-MailboxAutoReplyConfiguration | ?{$_.AutoReplyState -eq 'Enabled'} | %{([adsi]"LDAP://$($_.Identity.DistinguishedName)").sAMAccountName}
>
Habe das gerade getestet aber bekomme nicht alle mit aktivem oof. Das weiß ich deswegen so genau weil ich gerade bei einer Kollegin den OOf Text korrigieren musste.
Grüße

> Zitat von @LeeX01:
Habe das gerade getestet aber bekomme nicht alle mit aktivem oof. Das weiß ich deswegen so genau weil ich gerade bei einer Kollegin den OOf Text korrigieren musste.
Beachte das bei obigen Skript nur Mailboxen gelistet werden bei dem die Antwort immer aktiviert ist.Habe das gerade getestet aber bekomme nicht alle mit aktivem oof. Das weiß ich deswegen so genau weil ich gerade bei einer Kollegin den OOf Text korrigieren musste.
Wenn du meinst das auch Mailboxen gelistet bei denen die Antwort mit Zeitraum "geplant" ist, das geht mit einer einfachen Ergänzung im Where Object, das beinhaltet dann sowohl immer als auch zeitlich aktivierte Assistenten :
Get-Mailbox -ResultSize Unlimited | Get-MailboxAutoReplyConfiguration | ?{$_.AutoReplyState -in @('Enabled','Scheduled')} | %{([adsi]"LDAP://$($_.Identity.DistinguishedName)").sAMAccountName}
Get-Mailbox -ResultSize Unlimited | Get-MailboxAutoReplyConfiguration | ?{$_.AutoReplyState -ne 'Disabled'} | %{([adsi]"LDAP://$($_.Identity.DistinguishedName)").sAMAccountName}
Hab das oben auch noch mal zusätzlich ergänzt.

Hast du dir mit
Heut ist schon wieder sehr früh Freitag...
Wenn ich es richtig verstanden habe, wollt Ihr damit Mailboxen auslesen die den Abwesenheitsstatus aktiv haben/nutzen.
schon selbst beantwortet.Heut ist schon wieder sehr früh Freitag...
Zitat von @139920:
Hast du dir mit
Heut ist schon wieder sehr früh Freitag...
Hast du dir mit
Wenn ich es richtig verstanden habe, wollt Ihr damit Mailboxen auslesen die den Abwesenheitsstatus aktiv haben/nutzen.
schon selbst beantwortet.Heut ist schon wieder sehr früh Freitag...
ja aber wozu...?

Da gibt es unendlich viele Anwendungsfälle, sollen wir die jetzt alle auflisten???
Jede Firma und User hat andere Skripte und Anforderungen, Abgleich mit Urlaubskalender und und und.
Jede Firma und User hat andere Skripte und Anforderungen, Abgleich mit Urlaubskalender und und und.