Exchange 2010 RBAC ImportGALPicture

Hallo zusammen,

Wie dass man Bilder ins Active Directory bringt habe ich bereits im folgenden Blog Artikel erklärt http://blog.icewolf.ch/archive/2010/02/01/outlook-2010-with-pictures-in-active-directory.aspx 

In diesem Artikel zeige ich euch wie man eine Exchange 2010 RBAC Rolle dazu baut.

Zum Importieren der Bilder ins Active Directory wird das Import-RecipientDataProperty Cmdlet benutzt http://technet.microsoft.com/en-us/library/dd351252(v=exchg.141).aspx

Also schauen wir doch mal wo dieses cmdlet vorkommt.

Get-ManagementRole -cmdlet Import-RecipientDataProperty

Das cmdlet ist also in der ManagementRole "Migration". Was beinhaltet denn diese Rolle?

Get-ManagementRoleEntry -Identity Migration\*

Die Management Role "Migration" enthält also fünf cmdlets. Welche Parameter gibt es denn für Import-RecipientDataProperty?

Get-ManagementRoleEntry -Identity "Migration\Import-RecipientDataProperty" | select -expand parameters

Nun wissen wir alles was wir brauchen um eine neue ManagementRole zu erzeugen. Diese können jedoch nur von einer bestehenden ManagementRole abgeletet werden.

New-ManagementRole -Parent "Migration" -Name ICE-ImportGALPicture

Nun werden die drei cmdlets Set-MailUser, Write-AdminAuditLog und Get-DomainController entfernt.

Get-ManagementRoleEntry -Identity "ICE-ImportGALPicture\Set-MailUser" | Remove-ManagementRoleEntry
Get-ManagementRoleEntry -Identity "ICE-ImportGALPicture\Write-AdminAuditLog" | Remove-ManagementRoleEntry
Get-ManagementRoleEntry -Identity "ICE-ImportGALPicture\Get-DomainController" | Remove-ManagementRoleEntry

Nun lassen wir uns die Parameter der Import-RecipientDataProperty anzeigen

Get-ManagementRoleEntry -Identity "ICE-ImportGALPicture\Import-RecipientDataProperty" | select -expand parameters

Der Parameter "SpokenName" wird nicht für das GAL Bild benutzt. Deshalb entfernen wir den Parameter.

Set-ManagementRoleEntry -Identity "ICE-ImportGALPicture\Import-RecipientDataProperty" -Parameters Confirm,Debug,DomainController,ErrorAction,ErrorVariable,FileData,Identity,OutBuffer,OutVariable,Picture,Verbose,WarningAction,WarningVariable,WhatIf

Nun schauen wir uns die ManagementRole "ICE-ImportGALPicture" an.

Get-ManagementRoleEntry -Identity "ICE-ImportGALPicture\*"
Get-ManagementRoleEntry -Identity "ICE-ImportGALPicture\Import-RecipientDataProperty" | select -expand parameters

Im ECP erzeugen wir nun eine neue Role Group.

Ich habe mir ein Bild gemacht, welches kleiner als 12.5 KB ist und 96x96 Pixel gross ist.

Nun importiere ich das Bild mit dem Import-RecipientDataProperty.

Import-RecipientDataProperty -identity j.cocker -picture -FileData ([Byte[]]$(Get-Content -path "C:\temp\j.cocker.jpg" -Encoding Byte -ReadCount 0))

Anscheinend geht das nur, wenn der Account Mailenabled ist oder eine Mailbox hat.

Also nochmal - nun klappt es.

Voila, das Bild ist über eine RBAC Rolle importiert worden.

Grüsse
Andres Bohren