Powershell Get-Mailboxpermission mit Benutzer vor und nachname

Mitglied: violak

violak (Level 1) - Jetzt verbinden

01.03.2021 um 10:48 Uhr, 604 Aufrufe, 9 Kommentare

Guten Morgen,

ich muss bei SharedMailboxen regelmäßig die "FullAccess" Berechtigungen auslesen und diese dann per Excel an die jeweilige Abteilung mailen.

Dazu nutze ich folgendes Skript


Das geht soweit auch ganz sauber.

Mein Problem ist nur, dass die Spalte User, dann den Anmeldenamen enthält, welcher aber eine fordlaufende Nummer ist Domain\123456

Damit kann derjenige, welcher die Berechtigungen prüfen soll nicht so wirklich viel machen.

Ich muss irgendwie den Usernamen gegen den User selbst abprüfen und eine Spalte mit Vor und Nachname mit reinbekommen.

Ich weiß aber nicht wie ich das da rein bekomme.

Hat da jemand von Euch eine Idee zu?

Vielen Dank
Mitglied: Doskias
01.03.2021, aktualisiert um 12:17 Uhr
Moin

gibt dir die hinterlegten Daten des User aus dem AD wieder, darunter auch Vor und Nachname. Der ausführende Rechner braucht allerdings die PS Befehle für den DC. Sollte auf dem Exchange problemlos möglich sein

Gruß
Doskias

Nachtrag: Grade getestet. Die Exchange-Console lädt die DC Plugins bei Anwendung des Befehls automatisch nach.
Bitte warten ..
Mitglied: violak
01.03.2021 um 12:58 Uhr
Hi, vielen Dank für deine Rückmeldung.

Das beringt mich aber nicht weiter.

Ich brauche das komplett in einem Array oder in einer CSV Datei.

So habe ich jetzt einmal meine Abfrage und einmal deine aber keine Zusammenführung.
Bitte warten ..
Mitglied: Doskias
01.03.2021 um 15:48 Uhr
Doch bringt es, aber ich mach nicht die Arbeit für dich ;)

ich helfe dir aber gerne weiter. Mit einem
erhältst du den Namen des Users (mit entsprechen anderen Variablen halt nur den Nachnamen, je nach Bedarf).

Du musst dann nur noch in deinem Abfrageergebnis prüfen wo in der Spalter User 123456 steht und dies dann mit $aktueller_User ersetzen. Das kannst du theoretisch auch machen nachdem du deine CSV-Datei erzeugt hast und dann in der CSV 123456 durch den jeweiligen Benutzer ersetzen.
Bitte warten ..
Mitglied: violak
03.03.2021 um 14:12 Uhr
ja aber ich möchte dich die Spalten erweitern.

Habe es schon mit ADD-Member probiert, dann wird das aber nur darunter aber nicht direkt daneben geschrieben.

Was mache ich denn falsch?
Bitte warten ..
Mitglied: violak
03.03.2021 um 14:15 Uhr
was zudem nicht funktioniert, der User wird ja mit domain\usernamen ausgegeben, dass kann ich dann nicht mit einem Get-Aduser abfangen.

Sorry aber ich weiß nach wie vor nicht wie ich deine Tipps umsetzen soll.
Bitte warten ..
Mitglied: Doskias
03.03.2021 um 15:52 Uhr
Also ich hab jetzt mal n kleines Skript nebenbei für dich geschrieben :) face-smile


In Zeile 5 trägst du dein Postfach ein, welches du testen willst
In Zeile 6 deine Domäne

Zeile 11 ignoriert die Schleife die für jeden Eintrag durchgegangen wird, wenn die Rechte vererbt sind. Das war nötig, da nach deiner Abfrage noch Exchange Domain Servers und Exchange Services unter $user abgefragt wurden. Das kann theoretisch weg, wenn deine Abfrage sauber ist :) face-smile

Zeile 13 wandelt den Eintrag unter User in einen String um
Zeile 14 ersetzt dann in diesem String die Domäne und den \ durch nichts. Wird praktisch entfernt. Das kann zu Problemen führen, wenn dein Domänname im Benutzernamen enthalten ist. Je nachdem wie deine Domäne heißt. Würde sie zum Beispiel DOS heißen, würde bei mir neben der Domäne auch das DOS aus dem Namen verfallen. Die Aufgabe das zu korrigieren überlass ich dir ;-) face-wink

Zeile 15 führt dann den get-aduser aus und holt sich nur den SamAccountName
Zeile 16 Packt das ganze in ein neues array

Zeile 19 erstellt eine leere Textdatei unter c:\temp mit dem Namen des Postfaches und löscht eine ggf. vorhandene
Zeile 20 Zeigt dir die User an, die Vollzugriff auf dein ausgewähltes Postfach haben
Zeile 21 fügt die User in die Datei in Zeile 19 ein

Und ja, das ginge sicherlich auch kürzer, aber ich habe lieber ein Skript was ein paar Zeilen länger ist, denn das lässt sich leichter erklären ;-) face-wink

Noch Fragen?

Gruß
Doskias
Bitte warten ..
Mitglied: violak
04.03.2021 um 13:10 Uhr
mein Versuch hätte nun wie folgt ausgesehen, hatte nicht mehr mit Dir gerechnet ;)


Ich glaube das Ergebnis ist das gleiche.

Jetzt versuche ich gerade, dass automatisiert für alle Sharedpostfächer durchlaufen zu lassen ohne, dass ich da eine Eingabe tätigen muss.
Bitte warten ..
Mitglied: Doskias
04.03.2021 um 13:52 Uhr
das ist das schöne an powershell. es gibt immer mehrere Lösungen. wenn es klappt, ist doch schön.


gibt dir alle Postfächer der OU Users. An deine Umgebung anpassen und noch eine foreach Schleife um das was du hast. und immer den Namen des Postfaches ersetzen. dann läuft es für alle Postfächer durch.
Bitte warten ..
Mitglied: violak
04.03.2021 um 15:37 Uhr
habe mir jetzt sowas gebaut



Nur die Ausgabe geht nicht richtig.

Sprich die Dateien der Postfächer, da sind dann nicht die richtigen Mitglieder drin.
Bitte warten ..
Heiß diskutierte Inhalte
Microsoft
Meine Gruppenrichtlinie wird nicht angewendet oder ich bin zu dumm
gelöst RandonDudeVor 1 TagFrageMicrosoft16 Kommentare

Hallo zusammen, ich bin Hobby-Admin für einen Versicherungsmakler. Wir haben ein Active Directory im Einsatz. Ich möchte verhindern, dass sich Benutzer an PCs anmelden, ...

Weiterbildung
Das Impostersyndrom oder: "Was kann ich eigentlich?"
AnduinVor 1 TagFrageWeiterbildung7 Kommentare

Werte Mitadmins, ich würde mich heute gerne mit einem mir wichtigen Thema an euch wenden. Ich bin 40 Jahre alt und seit 21 Jahren ...

Windows 10
Dokumentenanzeige auf 2.Bildschirm
gelöst Rico.lehmann93Vor 1 TagFrageWindows 107 Kommentare

Hey Leute, ein Kunde von uns sucht eine Möglichkeit Mietverträge dem Kunden auf einem Bildschirm anzeigen zu lassen. Auf dem Bildschirm soll aber wirklich ...

Windows Server
Igel + Terminalserver + VoIP + Softphone
Asgard-LokiVor 1 TagFrageWindows Server13 Kommentare

Gude Kolleginnen und Kollegen, ich habe da mal eine Frage zu einem Thema was für mich relativ neu ist. Wir wollen unsere Telefonie gerne ...

Off Topic
Ein Weg weg von Microsoft. Wie würde man es angehen? Lasst uns doch etwas spinnen
it-fraggleVor 5 StundenAllgemeinOff Topic18 Kommentare

Guten Morgen Kollegen, es treibt mich schon seit einigen Jahren um, dass es sinnvoll wäre langsam einen Weg weg von Microsoftprodukten zu finden. Mir ...

Batch & Shell
Wieso funktioniert das nicht?
gelöst Hundy132Vor 1 TagFrageBatch & Shell10 Kommentare

Hallo Freunde, kann mir irgendjemand sagen wieso meine Batch datei nicht funktioniert? So sieht Sie aus: Hier soll ein ein vorgegebenes Passwort Eingegeben werden ...

Windows Server
Zwei Netzwerkkarten im Server
gelöst Big.TurboladerVor 1 TagFrageWindows Server4 Kommentare

Hallo allerseits, ich habe ein Windows Server 2016 in einer VM erstellt um mein Wissen zu erweitern. Doch jetzt hänge ich an einem Problem ...

Windows 7
Win 10 frisst WIN 7 Treiber für Keyboard und Mouse ??
warnetVor 1 TagFrageWindows 711 Kommentare

Hallo, will meine beiden uralt Drucker HP 720c und mHP 995c unter Win xp, 7, und 10 irgendwie noch zum laufen bringen. Hab mir ...