Veröffentlicht 5. April 20223 j Mahlzeit, TL;DR: kann mir jemand bei der Erstellung eines Powershell-Scripts mit Verzweigungen anhand von dynamisch auszulesenden Daten helfen? đ  Wir haben gerade vor, von Tobit David auf Exchange 2019 (On-Premise) zu migrieren, im Moment ist das alles noch in der Planungsphase. Aus der Historie heraus sind es die MitarbeiterInnen gewohnt, dass wir von der IT Berechtigungen auf Ordner und Kalender setzen. Von meiner Seite aus wĂŒrde ich sagen, dass die MitarbeiterInnen das eigentlich selbst machen sollten, mein Vorgesetzter sagt aber, dass die Akzeptanz des neuen Systems deutlich geringer ausfallen wird, wenn das fĂŒr die MitarbeiterInnen "komplizierter" wird, deswegen soll das auch weiterhin so gehandhabt werden... đ ZusĂ€tzlich ist es so, dass es oft so ist, dass MitarbeiterIn A nicht Vollzugriff auf das Postfach von MitarbeiterIn B erhalten, sondern nur den Posteingang oder den Kalender sehen können soll, sonst wĂ€re das ja mit der Postfachstellvertretung in der GUI machbar. AuĂerdem soll es nach Möglichkeit so sein, dass MitarbeiterIn A das Postfach von MitarbeiterIn B als "zusĂ€tzliches Postfach" im Outlook einbinden kann und dann nur die Ordner sieht, auf die Zugriff besteht, sonst könnte man ja auch einfach ĂŒber "Ordner eines anderen Benutzers öffnen" gehen, was ja aber auf die Standard-Ordner wie Posteingang, Gesendete Objekte etc. beschrĂ€nkt ist.  Kleiner Einschub: ich bin erst seit gut einem Monat in meiner jetzigen Firma in der internen IT. Vorher war ich bei einem IT-Dienstleister, wo ich einiges mit Exchange zu tun hatte, also habe ich prinzipiell schon Erfahrungen in der Exchange-Administration, es kamen da aber nie solche Anforderungen... đ Da Exchange ja nicht wie David mit Berechtigungen im Dateisystem arbeitet, kann da nicht einfach Lesezugriff auf den Ordner vergeben werden, sondern das muss per PowerShell durchgefĂŒhrt werden. Die grundlegenden Funktionen wie Berechtigungen ĂŒber add-mailboxfolderpermission hinzufĂŒgen oder per remove-mailboxfolderpermission sind ja kein Problem, ich wĂŒrde aber gerne ein relativ ausgefeiltes Script gestalten, damit die Kollegen, die noch nie Exchange administriert haben, da schnell rein kommen. Ich habe mir das in folgender Weise gedacht, damit keine Fehlermeldungen erscheinen, sofern die Parameter richtig eingegeben wurden: Das Script wird aufgerufen und fragt folgende Parameter ab: Sollen Berechtigungen hinzugefĂŒgt oder entzogen werden? (kein Problem mit $<Variablenname> = read-host "<Beschreibung>") Name des Postfachs, auf das die Berechtigungen gewĂ€hrt bzw. wo die Berechtigungen entzogen werden sollen (ebenfalls kein Problem mit der selben Syntax) Name des Benutzerkontos, welches die Berechtigungen bekommen bzw. dem Berechtigungen entzogen werden soll (ebenfalls kein Problem mit der selben Syntax) Bestandteil des Postfachs, auf das die Berechtigungen gewĂ€hrt werden bzw. von wo die Berechtigungen entzogen werden sollen (z.B. Posteingang oder Kalender, auch hier die selbe Syntax) Wenn in 1. Berechtigungen hinzugefĂŒgt werden sollen: Das Script prĂŒft, ob das Benutzerkonto aus 3. schon Lesezugriff auf das Stammverzeichnis des Postfachs aus 2. hat Falls nein, soll Leseberechtigung auf das Stammverzeichnis plus den Postfach-Bestandteil vergeben werden Falls ja, soll Leseberechtigung nur auf den Postfach-Bestandteil vergeben werden Wenn in 1. Berechtigungen entfernt werden sollen: Das Script prĂŒft, ob das Benutzerkonto aus 3. Zugriff auf andere Postfach-Bestandteile hat (z.B. wenn Berechtigungen vom Kalender entfernt werden sollen, soll geprĂŒft werden, ob noch Berechtigungen auf den Posteingang bestehen) Falls nein, werden die Berechtigungen von dem Bestandteil entfernt, welcher in 3. angegeben wurde und aus dem Stammverzeichnis Falls ja, werden nur die Berechtigungen von dem Bestandteil entfernt, welcher in 3. angegeben wurde  Mit folgendem Script werden schon mal die Punkte 2-4 ordentlich abgefragt sowie Berechtigungen hinzugefĂŒgt bzw. entfernt (die erste Zeile ist aktuell komplett ĂŒberflĂŒssig, habe ich aber schon mal eingefĂŒgt, weil das abgefragt werden soll): $hinzufuegen_oder_entfernen = read-host "Sollen Berechtigungen hinzugefĂŒgt oder entfernt werden? HinzufĂŒgen = 1, Entfernen = 2" $postfach = read-host "Bitte den Benutzernamen eingeben, auf dessen Postfach zugegriffen werden soll" $benutzer = read-host "Bitte den Benutzernamen eingeben, der Zugriff auf das andere Postfach erhalten soll" $bestandteil = read-host "Bitte den Postfachbestandteil eingeben, fĂŒr den diese Ănderung gelten soll" # Hier geschieht Magie, der nĂ€chste Abschnitt soll nur angesprochen werden, wenn bei der ersten Frage "1" eingegeben wurde # AuĂerdem soll geprĂŒft werden, ob das Benutzerkonto schon Lesezugriff auf das Stammverzeichnis hat, sonst wĂŒrde die erste Zeile eine Fehlermeldung erzeugen Add-MailboxFolderPermission -identity ${postfach} -user ${benutzer} -accessrights foldervisible Add-MailboxFolderPermission -identity ${postfach}:\${bestandteil} -user ${benutzer} -accessrights reviewer # Hier geschieht Magie, der nĂ€chste Abschnitt soll nur angesprochen werden, wenn bei der ersten Frage "1" eingegeben wurde # AuĂerdem soll geprĂŒft werden, ob das Benutzerkonto noch Lesezugriff auf andere Bestandteile des Postfachs hat, damit nicht ggf. fĂ€lschlicherweise die Berechtigung auf das Stammverzeichnis entfernt wird Remove-MailboxFolderPermission -identity ${postfach} -user ${benutzer} Remove-MailboxFolderPermission -identity ${postfach}:\${bestandteil} -user ${benutzer} # Hier kommt noch ein bisschen Ausgabe ĂĄ la "Berechtigungen wurden erfolgreich gesetzt/entfernt" etc.  Die KĂŒr wĂ€re es, wenn auch Berechtigungen auf Unterordner unter dem Posteingang gesetzt werden könnten, dann mĂŒssten eben nicht nur fĂŒr das Stammverzeichnis, sondern auch fĂŒr den Posteingang automatisch Berechtigungen gesetzt werden.  Schon mal danke an diejenigen, die bis hierhin mitgelesen haben und sich ggf. am Brainstorming beteiligen. đ
6. April 20223 j Puhhh... verstehe ich richtig, dass du den Part noch gerne hĂ€ttest: vor 19 Stunden schrieb Eye-Q: Die KĂŒr wĂ€re es, wenn auch Berechtigungen auf Unterordner unter dem Posteingang gesetzt werden könnten, dann mĂŒssten eben nicht nur fĂŒr das Stammverzeichnis, sondern auch fĂŒr den Posteingang automatisch Berechtigungen gesetzt werden. Der Rest funktioniert soweit?
6. April 20223 j vor 19 Stunden schrieb Eye-Q: Die KĂŒr wĂ€re es, wenn auch Berechtigungen auf Unterordner unter dem Posteingang gesetzt werden könnten, dann mĂŒssten eben nicht nur fĂŒr das Stammverzeichnis, sondern auch fĂŒr den Posteingang automatisch Berechtigungen gesetzt werden. Wenn ich mich recht erinnere mĂŒsstest du hier mit Pipe und Rekursion arbeiten. Irgendwie so: Get-MailboxFolder -Identity ${postfach} -Recurse | Remove-MailboxFolderPermission -user ${benutzer} Gebe keine Garantie auf korrekte funktionsweise.. wĂŒrde es nur so ungefĂ€hr angehen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.