Since you have the images pre-prepared, you should be able to bring them in using a built in Exchange 2010 PowerShell cmdlet or a free product from Exclaimer themselves. Bear in mind though that (as I'm sure you're aware) this does kind of defeat the object of Exclaimer, since if somebody gets married or changes their phone number the QR code image will have to manually be changed.
These pictures will be stored as raw bytes in Active Directory, so there are a few things you should bear in mind.
- The ideal size of a picture is 96x96 pixels
- The size of your Active Directory database will increase and as a consequence will take longer to back up
- This is just another attribute on each user object, so populating it will cause replication traffic between Domain Controllers. Maybe do it in the evening when the extra network traffic won't be noticed
On the Exchange blog post on the subject, they say thumbnails for 10,000 users would add around 100 MB to your Active Directory database, but obviously your mileage will vary. That blog post is a must-read by the way and contains loads of useful information about this feature.
To import a single photo into Active Directory you can use the following cmdlet. I don't think it will be too hard to wrap this up in a
Get-Mailbox | Import-RecipientDataProperty ... loop (my Exchange VM is busted at the moment, or I'd have whipped one up for you).
Import-RecipientDataProperty -Identity <Username> -Picture -FileData ([Byte]$(Get-Content -Path "C:\GalPhotos\Some Photo.jpg" -Encoding Byte -ReadCount 0))
Alternatively, just use the freebie from Exclaimer which I linked to above.
Note that both the cmdlet and the Exclaimer utility will populate the field which Outlook 2010 uses as its picture, so the QR codes will start showing up in people's Outlook. That's up to management whether they want that, and if they don't you can write a PowerShell script to store the data in one of the other picture attributes which Exchange/Outlook doesn't use (
Once your pictures are in Exchange, you can add a field in each Exclaimer disclaimer you want and Exclaimer should do all of the decoding of the raw bytes into a picture.