OSX iCloud Contacts not syncing

In the last month I was plagued by a Addressbook problem on one of my macs. No matter what, only about 500 of my over 1000 contacts where syncing on my Mac Pro. I have tired many times to disable and re-enable the contacts, to export all the contacts on the only mac where my contacts were complete, empty the address book and reimporting the contacts, but with limited success. Some corrupt contact was blocking my Mac Pro form syncing.

The console messages where not really helpful ranging from a generic

AddressBookSourceSync[1717]: -[ABAddressBook save] failed. (<ABAddressBook: 0x7ff22409be10>)
AddressBookSourceSync[1717]: [CardDAVPlugin-ERROR] -_saveChanges: [syncAddressBook(<ABAddressBook: 0x7ff22409be10>) save] FAILED

to a more usefull

AddressBookSourceSync[1717]: Error saving address book: Error Domain=NSCocoaErrorDomain 
Code=1570 "originalLine is a required value." UserInfo=0x7ff221476830 {NSValidationErrorKey=originalLine, NSLocalizedDescription=
originalLine is a required value., NSValidationErrorObject=<NSManagedObject: 0x7ff2260b0bd0> (entity: ABCDUnknownProperty; id: 0x
7ff2260b0e30 <x-coredata:///ABCDUnknownProperty/tDF644D3A-163E-41D1-9FF1-FE3FFFEACCB9313> ; data: {
            originalLine = nil;
            owner = "0x297080014b <x-coredata://27456235-94C4-4D22-865D-648669DD6CA2/ABCDContact/p42434>";
            propertyName = "X-MS-OL-DESIGN";
        })}

X-MS-OL-DESIGN was a starting clue so I exported again all contacts in vcf and opened the file in a text editor to find which ones had the X-MS-OL-DESIGN property. The idea was to edit them, and remove the offending property. But first I wanted to check if this was really the cause of my problems. So every time I found a contact with the X-MS-OL-DESIGN property I copied it into a secondary iCloud account that I created years ago and deleted it from my primary account. After removing all entries with the X-MS-OL-DESIGN property, I was able to sync all remaining contacts on the Mac Pro. Moreover, by moving the offending contacts to the secondary account, the offending property was gone, and I was able to move them back in the primary account and they where synced perfectly.

RDP fix for XP Clients connecting to new Windows releases – MS15-031 Freak

Some XP desktop can no longer connect via Remote Desktop to newer windows releases where the patch  MS15-031 (KB 3046049) was installed. I was able to restore connectivity by specifying a GPO setting.

Run gpedit.msc and find “Computer Configuration – Administrative templates – Network – SSL Configuration Settings – SSL Cipher Suite Order

Enable the setting and paste those values:

TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5

YMMV, try not to enable  SSL or TLS ciphers that are to weak for your environment.

Provisioning Adobe CS6 with Citrix PVS

Adobe CS6 on provisioned desktops resets the license and therefore users receive a notification asking them to start a trial. After you ensure you have a volume license, you can follow the procedure below to successfully deliver this application through Citrix Provisioning Services.

1. Install Adobe CS6 in a Read/Write enabled image (Standard image) by specifying the license code and the account ID.

2. Install Adobe Application Manager, Enterprise edition downloadable here and start it by selecting Serialization File. Select a folder containing the installation files for Adobe CS6, insert the required license and login with your account ID. It will generate two files: AdobeSerialization.exe and prov.xml

3. Copy files to a directory inside the machine, create a bat file to be run as a scheduled task at user login, containing:

AdobeSerialization.exe --tool=VolumeSerialize --stream --provfile=prov.xml

4. Perform other tasks if needed before shutting down the R/W image, promote it to production and TADA!