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-Key: 301953

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

Printed on: April 20, 2024 at 04:04 o'clock

Member: skahle85
skahle85 Apr 15, 2016 updated at 13:50:12 (UTC)
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
Mitglied: 111359
111359 Apr 15, 2016 at 14:01:53 (UTC)
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!!
Mitglied: 114757
Solution 114757 Apr 15, 2016 updated at 14:21:07 (UTC)
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
Mitglied: 111359
111359 Apr 16, 2016 at 10:01:44 (UTC)
Goto Top
hey! Vielen Dank! Das hat funktioniert!!!! face-smile