111359
15.04.2016, aktualisiert um 13:43:16 Uhr
4703
4
0
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.
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: ( [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
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: ( [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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 301953
Url: https://administrator.de/contentid/301953
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
die csv müsste glaube ich so aussehen:
SamAccountName
User1
User2
User3
usw...
und der Befehl dann so:
Kann gerade nicht Testen aber so könnte es funktionieren.
Grüße
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"}
Grüße
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
Der Kalendername kann in jeder Mailbox in einer anderen Sprache vorhanden sein, deswegen muss man ihn vorher auslesen. Siehe Kalenderberechtigungen auslesen
Gruß jodel32
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
}
Gruß jodel32