111359
Goto Top

Frage bzgl. Exchange2013 - Add-MailboxFolderPermission (mit Varible aus .csv)

Hi,

möchte mit einem kleinen Skript: Über die Variable $Alias den Exchange Alias unserer Exchange User einfügen um z.B. JEDEN Kalender für eine bestimmte Person freizugeben.

Import-csv C:\powershell-exchange\test.csv | Foreach-object {Add-MailboxFolderPermission $Alias":\Kalender" -User cb -AccessRights Owner}  

Allerdings versteht die Exchange Shell wohl irgendetwas an meinem Skript nicht.

Fehlermeldung:

Es wurde kein Positionsparameter gefunden, der das Argument "Add-MailboxFolderPermission" akzeptiert.
+ CategoryInfo : InvalidArgument: (face-smile [Get-Mailbox], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Get-Mailbox

Setze ich die Varible $Alias an die stelle nach -User "cb" funktioniert das Skript. So will Ich es ja aber nicht haben. Ersetze Ich Kalender durch "Calendar" funktioniert das Skript auch...aber da legt er die rechte einfach nur auf den Administrator Account und das will Ich noch weniger.

Führt man den befehl ohne Variable aus und nimmt :\Kalender, geht es auch....

Wie kann Ich denn dem Skript klarmachen, das einfach nur die Variable $Alias vor ":\Kalender" gesetzt werden soll?

Vielen dank schonmal für tipps face-smile

Content-ID: 301953

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

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

skahle85
skahle85 15.04.2016 aktualisiert um 15:50:12 Uhr
Goto Top
Hallo,

die csv müsste glaube ich so aussehen:
SamAccountName
User1
User2
User3
usw...

und der Befehl dann so:
Import-csv C:\powershell-exchange\test.csv | ForEach-Object {Add-MailboxFolderPermission -identity $_Samaccountname":\Kalender" -User "cb" -AccessRights "Owner"}  
Kann gerade nicht Testen aber so könnte es funktionieren.

Grüße
111359
111359 15.04.2016 um 16:01:53 Uhr
Goto Top
Hi,

das Problem ist wie auch jetzt bei deinem Skript das er an ':\Kalender' meckert.

Der Vorgang konnte nicht ausgeführt werden, weil ':\Kalender' nicht gefunden wurde.  

Und Ich weiß nicht wie Ich im klarmache das er einfach nur vor dem : meine variable ausgibt...

aber danke schonmal!!
114757
Lösung 114757 15.04.2016 aktualisiert um 16:21:07 Uhr
Goto Top
Moin,
wie sieht denn die CSV überhaupt aus (Namen der Spalten und Trennzeichen?)
Wenn in der CSV der Mailbox-Alias unter der Spalte 'Alias' läuft, dann so
(Import-csv 'C:\powershell-exchange\test.csv') | %{  
   $LocalizedCalendarName = [string](Get-mailboxfolderstatistics $_.Alias -folderscope calendar).Name
   Add-MailboxFolderPermission "$($_.Alias):\$LocalizedCalendarName" -User cb -AccessRights Owner  
}
Der Kalendername kann in jeder Mailbox in einer anderen Sprache vorhanden sein, deswegen muss man ihn vorher auslesen. Siehe Kalenderberechtigungen auslesen

Gruß jodel32
111359
111359 16.04.2016 um 12:01:44 Uhr
Goto Top
hey! Vielen Dank! Das hat funktioniert!!!! face-smile