berlinger
Goto Top

Exchange 2010 vRTM (ohne SP1) Kalender per PowerShell freigeben

Hallo meine lieben Leute

ich versuche verzweifelt per PowerShell alle Kalender im Unternehmen freizugeben.
Dazu habe ich ein PowerShell Command gefunden....:

get-mailbox * | foreach-object {Add-MailboxFolderPermission $_":Kalender" -User Default -PublishingAuthor}

Durch ":Kalender" sollte mein Deutsches System unterstützt werden und durch "-PublishingAuthor" auch die von mir gewünschte Berechtigung gesetzt werden.

Tja, leider geht dies aber nicht so wie gewünscht... beim Ausführen erhalte ich folgende Fehlermeldung:

Die Argumenttransformation für den Parameter "Identity" kann nicht verarbeitet werden. Der Wert "MaxMustermann-XXXX:Kal
ender" kann nicht in den Typ "Microsoft.Exchange.Configuration.Tasks.MailboxFolderIdParameter" konvertiert werden. Fehl
er: "Die Postfachordneridentität "MaxMustermann-XXXX:Kalender" hat nicht das ordnungsgemäße Format. Das ordnungsgemäß F
ormat ist wie folgt: "<Postfachidentität>: <Ordnerpfad>". "
+ CategoryInfo : InvalidData: (face-smile [Add-MailboxFolderPermission], ParameterBindin...mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Add-MailboxFolderPermission

Wie im titel beschrieben handelt es sich um einern 2010er ohne SP1 auf einem 2008R2 System...

bevor ich keine Haare auf dem Kopf mehr habe, hoffe ich nun auf Eure Hilfe...

Liebe Grüsse

Content-Key: 196280

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

Ausgedruckt am: 28.03.2024 um 21:03 Uhr

Mitglied: Onitnarat
Onitnarat 27.12.2012 um 15:31:44 Uhr
Goto Top
Hi berlinger,
ich glaube da ist ein Syntaxfehler drin:

1. fehlender Slash:
$_":\Kalender"

2. fehlender Parameter:
-AccessRights PublishingAuthor

Give it a try...
Marcus
Mitglied: berlinger
berlinger 27.12.2012 um 15:52:53 Uhr
Goto Top
Hi Onitnarat

danke für Deine hilfe...

Sieht schon besser aus... bekomme leider immer noch einen Fehler

Die Pipeline wird nicht ausgeführt, da bereits eine Pipeline ausgeführt wird. Pipelines können nicht gleichzeitig ausge
führt werden.
+ CategoryInfo : OperationStopped: (Microsoft.Power...tHelperRunspace:ExecutionCmdletHelperRunspace) ,
PSInvalidOperationException
+ FullyQualifiedErrorId : RemotePipelineExecutionFailed

dies konnte ich nun umgehen in dem ich folgenden Befehl durch-Jage...:

(get-mailbox) * | foreach-object {Add-MailboxFolderPermission $_":\Kalender" -User Default -AccessRights PublishingAuthor}

Aber auch dies bringt Fehler:

Der Vorgang konnte nicht ausgeführt werden, weil 'Nicolas Jaquet:\Kalender' nicht gefunden wurde.
+ CategoryInfo : NotSpecified: (0:Int32) [Add-MailboxFolderPermission], ManagementObjectNotFoundException
+ FullyQualifiedErrorId : D8DD1534,Microsoft.Exchange.Management.StoreTasks.AddMailboxFolderPermission

Der User besteht...

Kann es evt. sein, dass das Lehrzeichen Probleme macht? Könnte man hier evt. auf den MailBox-Alias gehen, da dieser ja keine Leerzeichen drinn hat?
Mitglied: Onitnarat
Onitnarat 27.12.2012 aktualisiert um 16:11:47 Uhr
Goto Top
Schau mal hier: http://www.n2networksolutions.com/2011/02/22/manage-exchange-2010-calen ...

{codecitation}$users = Get-mailbox
$users | ForEach-Object {
Add-MailboxFolderPermission $_”:\Kalender” -User Default -AccessRights PublishingAuthor
}$users = Get-mailbox $users | ForEach-Object {{codecitation}

Wenn "Nicolas Jaquet" nun tatsächlich keinen "Kalender" hat, sondern einen "Calendar" oder einen "Calendrier" hat, weil seine Mailbox auf Englisch oder Französisch eingestellt ist, hast Du ein Problem.
Versuche doch mal die rein englische Bezeichnung "Calendar", die sollte allgemeingültig sein. Du nutzt ja auch das Recht "PublishingAuthor" und nicht "Veröffentlichender Autor". face-wink

Gruß
Marcus
Mitglied: berlinger
berlinger 27.12.2012 um 16:28:09 Uhr
Goto Top
Danke für Deine super hilfe...

Also die Sprache spielt wirklich eine Rolle. Wenn ich nun im Script auf Calendar switche, bekomme ich auch fehler... ich vermute einfach bei den Deutsch-Sprachigen Konten.

Zu deinem Script...

bin noch einen Neuling auf PowerShell

- Kopiere das Zeugs in eine Text-Datei und speichere dies z.B. als Test.ps1
- kopiere das Script nach "C:\Program Files\Microsoft\Exchange Server\V14\Scripts"
- Rufe in der Powershell nun Tets.ps1 auf

oder wie läuft das genau...? face-smile
Mitglied: Onitnarat
Onitnarat 27.12.2012 um 16:35:21 Uhr
Goto Top
Zitat von @berlinger:
bin noch einen Neuling auf PowerShell

- Kopiere das Zeugs in eine Text-Datei und speichere dies z.B. als Test.ps1
- kopiere das Script nach "C:\Program Files\Microsoft\Exchange Server\V14\Scripts"
- Rufe in der Powershell nun Tets.ps1 auf

oder wie läuft das genau...? face-smile

Ja, so in etwa. Du brauchst es aber nicht zwingend in das Scriptverzeichnis abzulegen. Ich habe meine Powershells z.B. unter D:\Batch liegen und führe sie von dort aus.
Einfach im Powershellfenster mit dem bekannten Befehlen "cd" in das Verzeichnis wechseln und dort die PS1 aufrufen. Aber Achtung, wenn du sie direkt im Verzeichnis aufrufen willst, dann ".\Test.ps1" tippen.

Zu "meinem" Skript. Ich habe das von der Seite, die ich oben verlinkt habe, adaptiert. Ob es überhaupt funktioniert weiß ich nicht, sieht aber generell gut aus.

Gruß
Marcus
Mitglied: Onitnarat
Onitnarat 27.12.2012 um 16:41:33 Uhr
Goto Top
http://blogs.technet.com/b/ilvancri/archive/2009/11/24/exchange-2010-an ...

Wenn Du Dir die Kommentare unten durchliest, da wird das Problem mit den Sprache diskutiert und wohl auch gelöst.

Get-MailboxFolderStatistics <mailbox> | %{Get-MailboxFolderPermission ("<mailbox>:{0}" -f $_.FolderId)}  

Wenn man mit der FolderID arbeitet ist es egal ob das Ding "Kalender", "Calendar" oder wie auch immer heißt.
Aber das müsste man jetzt mal testen...dazu reicht meine Zeit gerade nicht. face-sad
Mitglied: berlinger
berlinger 27.12.2012 um 17:03:39 Uhr
Goto Top
und nocheinmal danke...

muss mir das noch einmal anschauen... so wie es aber aussieht, passt das Script die Berechtigung schon ganz unten an und nicht nur auf den Kalender.

werde die Tage mal ein wenig googlen ob ich hierzu noch was finde bevor ich da gross was teste.