madmax93
Goto Top

Exchange 2016 Öffentliche Ordner Zugriffsrechte entziehen

Guten Tag zusammen,

wir haben die Berechtigungen für öffentliche Ordner immer über die Exchange-PowerShell geregelt.

Zunächst als Admin gestartet und danach in die Scripte Navigiert:

cd "$env:ProgramFiles\Microsoft\Exchange Server\V15\Scripts  

Mit folgendem Befehl konnten wir dann dem einzelnen User die Berechtigungen entziehen:

.\RemoveUserFromPFRecursive.ps1 -TopPublicFolder "NAME-DES-ORDNERS" ` -User "PERSONALNUMMER"  

Jetzt haben wir aber eine Gruppe "TTT_Public_Folder_Einkauf"

Leider weiß ich hierfür nicht den passenenden Befehel... Es handelt sich um eine Sicherheitsgruppe.

Ich habe oben im Befehl "User" schon mit "Group" ersetzt, aber gebracht hat es leider nichts.... Die PowerShell nimmt den Befehl zwar irgendwie an, aber außer ">>" zeigt er mir nichts weiter an und spuckt auch sonst keine Fehlermeldung raus.


Ich hoffe Ihr könnt mir hier weiterhelfen, dass wäre echt super. Vielen Dank!

VG,
Max

Content-Key: 21889423840

Url: https://administrator.de/contentid/21889423840

Printed on: April 27, 2024 at 18:04 o'clock

Member: erikro
erikro Mar 25, 2024 at 15:28:31 (UTC)
Goto Top
Moin,

in Deinem Befehl ist ein Backtick. Den will er haben, wenn es in einer neuen Zeile weitergehen soll. Daher will nun die Powershell wissen, ob Du schon fertig bist und zeigt die zwei spitzen Klammern an. Einfach entweder den Backtick weglassen oder nochmal Enter drücken. Dann gibt es auch eventuelle Fehlermeldungen.

hth

Erik
Member: MadMax93
MadMax93 Mar 26, 2024 updated at 08:47:11 (UTC)
Goto Top
Hallo Erikro,

vielen Dank für die Info. Also ich erhalte dann folgende Fehlermeldung:

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts> .\RemoveGroupFromPFRecursive.ps1 -TopPublicFolder "\50_Produktion und Logistik" -Group "OV_PublicFolder_Einkauf_und_Auftragsabwicklung"  

.\RemoveGroupFromPFRecursive.ps1 : 
Die Benennung ".\RemoveGroupFromPFRecursive.ps1" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.  

In Zeile:1 Zeichen:1

+ .\RemoveGroupFromPFRecursive.ps1 -TopPublicFolder "\50_Produktion und Logistik"  ...  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (.\RemoveGroupFromPFRecursive.ps1:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>


EDIT: Ich bin mal in den Skripte-Ordner gegangen und ich finde dort nur "RemoveUser..." PowerShell Skripte. Kann es sein, dass das für Gruppen gar nicht geht?

Das Problem ist halt, dass wenn ich es über die Exchange Oberfläche mache, er dann immer auf Fehler stößt und dann einige Berechtigungen nicht 100% entfernt... das ist wohl ein bekannter Bug. Über die PowerShell lief es aber immer sehr zuverlässig...

@erik du hattest mir ja damals diesen Link gegeben: https://www.windowspro.de/roland-eich/exchange-2016-berechtigungen-fuer- ... und da wird auch nur User erwähnt, aber keine Gruppen =( ich hoffe aber sehr das es auch irgendwie mit Gruppen geht?
Member: erikro
erikro Mar 26, 2024 at 10:54:06 (UTC)
Goto Top
Moin,

na wenn das Skript nicht existiert ... face-wink

So wie ich die Hilfe verstehen, sollte der Parameter USER auch mit Gruppen gehen, sofern Du die Gruppe in der Form domain\gruppenaccount angibst.

hth

Erik
Member: MadMax93
MadMax93 Mar 26, 2024 at 12:32:15 (UTC)
Goto Top
Hey erikro, danke für deine Rückmeldung face-smile

also mein Befehl lautet nun:

.\RemoveUserFromPFRecursive.ps1 -TopPublicFolder "\50_Produktion und Logistik" -User "domainname\OV_PublicFolder_Einkauf_und_Auftragsabwicklung"


Es kommt zwar keine Fehlermeldung und auch keine ">>" , aber nach ca. 5min springt er wieder zu:

cd "$env:ProgramFiles\Microsoft\Exchange Server\V15\Scripts"


Mache ich noch irgendwas falsch?
Member: erikro
erikro Mar 26, 2024 at 13:45:11 (UTC)
Goto Top
Normalerweisen, wenn es keine Meldung gibt, dann hat es geklappt. Was meinst Du mit

Es kommt zwar keine Fehlermeldung und auch keine ">>" , aber nach ca. 5min springt er wieder zu:

cd "$env:ProgramFiles\Microsoft\Exchange Server\V15\Scripts"
Member: MadMax93
MadMax93 Mar 26, 2024 updated at 14:05:30 (UTC)
Goto Top
Hier ist ein Screenshot, der verdeutlicht, was ich meine. Ich war der Meinung, dass es funktioniert hat, aber als ich auf dem Exchange (über das Webinterface) nachschaute, war die Gruppe immer noch auf dem Ordner "50_Produktion und Logistik" berechtigt face-sad
exchange
Member: erikro
erikro Mar 26, 2024 at 14:30:23 (UTC)
Goto Top
Und was sagt:

Get-PublicFolderClientPermission -identity "\50_Produktion und Logistik"  
Member: MadMax93
MadMax93 Mar 27, 2024 at 10:45:29 (UTC)
Goto Top
Hey @erikro, habe dir ein Screenshot angehängt. Hoffe es hilft weiter.
screenshot 2024-03-27 114439
Member: erikro
erikro Mar 28, 2024 at 14:03:59 (UTC)
Goto Top
Moin,

das sehe ich jetzt erst. Nochmal. Bei Gruppen muss der Name in der Form

domainname\gruppenname

angegeben werden.

Liebe Grüße

Erik
Member: MadMax93
MadMax93 Mar 28, 2024 at 16:33:00 (UTC)
Goto Top
Hm wenn ich

Get-PublicFolderClientPermission -identity "domainname\50_Produktion und Logistik"

Namen haben ich durch *** unkentlich gemacht

Eingebe kommt nur eine rote Fehlermeldung:

Neue Sitzung für implizite Remotevorgänge des Befehls "Get-PublicFolderClientPermission" wird erstellt...  
Die Argumenttransformation für den Parameter "Identity" kann nicht verarbeitet werden. Der Wert  
"*******\50_Produktion und Logistik" kann nicht in den Typ  
"Microsoft.Exchange.Configuration.Tasks.PublicFolderIdParameter" konvertiert werden. Fehler: "Der für den Parameter  
"******\50_Produktion und Logistik" bereitgestellte Wert liegt nicht im richtigen Format vor. Das richtige Format  
lautet "\<FolderPath>"."  
    + CategoryInfo          : InvalidData: (:) [Get-PublicFolderClientPermission], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-PublicFolderClientPermission
    + PSComputerName        : *********
Member: MadMax93
MadMax93 Apr 02, 2024 at 13:19:20 (UTC)
Goto Top
Hallo ich bin es nochmal, ich habe die Befehle jetzt mal Schritt für Schritt eingegeben und für ein normale User und bekomme jetzt diese Fehlermeldung:

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>.\AddUsersToPFRecursive.ps1 -TopPublicFolder "\01_Testorder\Testunterorder"  

Cmdlet AddUsersToPFRecursive.ps1 an der Befehlspipelineposition 1
Geben Sie Werte für die folgenden Parameter an:
User: 9999
Permissions: Owner

Die Argumenttransformation für den Parameter "Identity" kann nicht verarbeitet werden. Der Wert "Testprojekte" kann nicht in den Typ "Microsoft.Exchange.Configuration.Tasks.PublicFolderIdParameter" konvertiert werden. Fehler: "Die Hashtabelle kann nicht in ein Objekt folgenden Typs konvertiert werden: "Microsoft.Exchange.Configuration.Tasks.PublicFolderIdParameter". Eine Hashtabelle-in-Objekt-Konvertierung wird im eingeschränkten Sprachmodus oder in einem "Data"-Abschnitt nicht unterstützt."  
    + CategoryInfo          : InvalidData: (:) [Add-PublicFolderClientPermission], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Add-PublicFolderClientPermission
    + PSComputerName        : ******

Kann es sein das die Befehle gar nicht mehr funktionieren? Was ist hier los hm