ifm-hschwarz
Goto Top

Mailboxrechte in Schleife abfragen

Hallo Community,
ich würde gerne die Rechte auf allen Kalendern unserer Mailboxen auslesen. Wenn ich mit dem Einzeiler

Connect-ExchangeOnline -UserPrincipalName <Name>@infomotion.de
$List = @(
"Benutzer01";  
"Benutzer02"  
)
foreach ($Postfach in $List)
{
Get-MailboxFolderPermission $Postfach:\Kalender
}

ran geh, schlägt das mit der folgenden Fehlermeldung fehl:

In Zeile:8 Zeichen:29
+ Get-MailboxFolderPermission $Postfach:\Kalender
+                             ~~~~~~~~~~
Ungültiger Variablenverweis. Nach ":" folgte kein Zeichen, das für einen Variablennamen gültig ist. Verwenden Sie ggf. "${}", um den Namen zu begrenzen.  
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : InvalidVariableReferenceWithDrive

Kann mir hier jemand weiterhelfen? Bin etwas neu was die PowerShell angeht.

Viele Grüße
Horst Schwarz

Content-Key: 7722192199

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

Printed on: May 23, 2024 at 02:05 o'clock

Mitglied: 7426148943
7426148943 Jul 03, 2023 updated at 09:26:33 (UTC)
Goto Top
Die Fehlermeldung sagt es schon und zeigt übrigens auch die Lösung auf. Es gibt in PowerShell Variablenamen die Doppelpunkte enthalten (Z.B. fürs Scoping, $global:var1 $script:var2 usw.) deswegen musst du das Kapseln, damit der Doppelpunkt nicht als Teil des Variablennamens interpretiert wird sondern als String.
Connect-ExchangeOnline -UserPrincipalName <Name>@xxx.de
$List = @(
"Benutzer01",  
"Benutzer02"  
)
foreach ($Postfach in $List){
    Get-MailboxFolderPermission "${Postfach}:\Kalender"  
}
Denke auch daran das der Name des Kalenderordners bei einer anderen Mailbox-Sprache (Localization) anders lauten kann (Calendar, Calendario, ...)! Das kannst du mit Get-MailboxFolderStatistics oder Get-EXOMailboxFolderStatistics abfragen.
# ...
[string]$name = (Get-Mailboxfolderstatistics $Postfach -folderscope calendar | ?{$_.FolderType -eq 'Calendar'} | select -First 1).Name  
Get-MailboxFolderPermission "${Postfach}:\$name"  
# ...
Zeppel