rmw-home
Goto Top

Powershell Exchange Public Folder Berechtigung

Servus zusammen,

ich bastel gerade an einem Power Shell Script um einer neuen Verteilergruppe die gleichen Rechte einer bereits berechtigten Verteilergruppe auf dem öffentlichen Ordner zu erteilen.

Dazu lese ich eine CSV ein in welcher der Pfad zum öffentlichen Ordner, der alte und der neue Name des Verteilers steht.

$Import = Import-csv "C:\Scripte\2022\Importe\Gruppen_Branch_OE_Final_Test.csv" -delimiter ";" -Encoding     default     

ForEach ($Gruppe in $Import)
{

    $PFolder = $Gruppe.Ordner
    $NGruppe = $Gruppe.Neu
    $OldGruppe = $Gruppe.Mail_Alt

$GetPFP = Get-PublicFolder "\$PFolder" -Recurse |  Get-PublicFolderClientPermission -User "$OldGruppe" | Select Identity, User, AccessRights |   


add-publicfolderclientpermission  -user $NGruppe -AccessRights $GetPFP.AccessRights #-ErrorAction SilentlyContinue -Confirm:$false
}

Die Berechtigung der alten Gruppe wird sauber an die Variable $GetPFP.AccessRights übergeben aber scheibar wird die Variable nicht beim setzten der Berechtigung akzeptiert.

Hat da jemand eine Idee ?

Gruß
Rainer

Content-ID: 2517869915

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

Ausgedruckt am: 14.11.2024 um 07:11 Uhr

1915348599
Lösung 1915348599 17.04.2022 aktualisiert um 11:45:17 Uhr
Goto Top
Der Inhalt der Variablen existiert zu dem Zeitpunkt noch gar nicht weil du dich innerhalb der Pipeline für die Zuweisung der Variablen befindest 😉.
$Import = Import-csv "C:\Scripte\2022\Importe\Gruppen_Branch_OE_Final_Test.csv" -delimiter ";" -Encoding default  
ForEach ($Gruppe in $Import){
    (Get-PublicFolder "\$($Gruppe.Ordner)" -Recurse |  Get-PublicFolderClientPermission -User $Gruppe.Mail_Alt) | %{Add-PublicfolderClientpermission -Identity $_.Identity -User $gruppe.Neu -AccessRights $_.AccessRights -Confirm:$false}  
}
RMW-Home
RMW-Home 17.04.2022 um 11:20:34 Uhr
Goto Top
Vielen Dank für die Antwort,

leider bekomme ich damit folgenden Fehler:

Add-PublicfolderClientpermission : The session Session1, a486dc4e-a488-401d-8849-419ee38be8f0, bvme1603.bo-it.de is not available to run commands.  The session availability is Busy.
At line:3 char:116
+ ... il_Alt  | %{Add-PublicfolderClientpermission -Identity $_.Identity -U ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: ([PSSession]Session1:PSSession) [Invoke-Command], InvalidRunspaceStateException
    + FullyQualifiedErrorId : InvokeCommandCommandInvalidSessionAvailability,Microsoft.PowerShell.Commands.InvokeCommandCommand
 
Add-PublicfolderClientpermission : No valid sessions were specified.  Ensure you provide valid sessions that are in the Opened state and are available to run commands.
At line:3 char:116
+ ... il_Alt  | %{Add-PublicfolderClientpermission -Identity $_.Identity -U ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Invoke-Command], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.InvokeCommandCommand

Die PSSession auf dem Exchange starte ich mit:
. 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'  
Connect-ExchangeServer -auto -ClientApplication:ManagementShell

Hast du dazu noch eine Idee ?

Gruß und frohe Ostern
Rainer
1915348599
1915348599 17.04.2022 aktualisiert um 11:46:44 Uhr
Goto Top
Deine Session ist zusammengebrochen oder du hast schon zu viele offene Sessions aufgebaut und nicht geschlossen, oder dein Exchange throttled deine vielen Anfragen.
https://www.windowspro.de/tipp/exchange-throttling-policy-maximale-anzah ...
https://www.google.com/search?q=Exchange+ThrottlingPolicy
erikro
Lösung erikro 19.04.2022 um 17:15:13 Uhr
Goto Top
Moin,

mach mal das Pipe-Symbol am Ende der Zeile 10 weg.

hth

Erik