Tuesday, April 26, 2011

SCCM client and Provisioning server for Xendesktop

So you've setup your Xendesktop environment with a PVS (Provisioning server) delivered OS and your streaming all your applications with App-V, all is good in the world. Now typically you wouldn't need to manage these clients in the same fashion you would manage your traditional desktops as delivering applications and Os patching are now handled by App-v and PVS, however there are some scenarios where organisations with existing SCCM infrastructure need to continue using some of the SCCM client (configmgr client) functionality such as License monitoring and application targeting.

As you know a pvs standard image can be streamed to multiple hosts simultaneously and is effectively a read only image and all changes made to the image are lost on reboot. Now you may be asking yourself well what about a computers unique computer name and SID, these are handled and assigned by the PVS service and boot time to ensure each host has its own unique attributes.

The same way each computer requires a unique SID each configmrg client / sccm client requires its own unique sms GUID which is generated when the confimrg client is installed. If we did this on our PVS standard image we would end up with multiple clients in the the SCCM console with the same host name and GUID.

To avoid this you can try the following:

  1. From your master pvs image in private mode stop the ccmexec service and then delete "c:\windows\SMSCFG.ini" .
  2. Put the image back into standard mode
  3. Assign a computer shutdown script that copies the c:\windows\smscfg.ini file to you cache drive eg d:\ConfigMrgPersonality\smscfg.ini
  4. Assign a computer startup script that copies the smscfg.ini file from you cache drive d:\ConfigMrgPersonality\smscfg.ini to c:\windows\smscfg.ini
If you are fortunate enough to be using appsense you could assign the startup and shutdown scripts via environment manager or assign the copy action on the execution of ccmexec.exe service. Alternatively you could do this with group policy.