locked
VDI and Config Mgr 2007 RRS feed

  • Question

  • I have a VDI non-persistent environment and need to know on how successfully SCCM 2007 can successfully achieve following requirements. Especially when users will be jumping between virtual desktops on a daily basis, or perhaps even more frequently.

    Questions:

    1. How SCCM would cope with virtual desktops that are all created from a single, cloned image and reset to the initial cloned state every time a user logs off.
    2. How it would be possible to reprot for performance aspects like RAM consumption of a User assigned machine (non-persistent).
    3. Can I run Reports against virtual desktops and all reported values should be presentable as an Excel spreadsheet, containing all values for any given month. With date- and time-stamped, e.g. 240 GB physical RAM in use at 09:15 on 01/11/2012.
    4. Is it possible to define a desktop application as a combination of disparate executable, scripts etc., so if any one or more of them is running on a given virtual desktop, it 'counts' as a single instance of the application running.
    5. Is it possible to record all applications that are run without needing to define the applications in advance (Software Metering)

    Cheers


    Ankit (MSFT)


    • Edited by Ankit09 Thursday, November 1, 2012 11:22 AM
    • Moved by TorstenMMVP Thursday, November 1, 2012 12:17 PM moved to CM07 forums (From:Configuration Manager 2012 - Application Management)
    Thursday, November 1, 2012 11:21 AM

Answers

  • Hi

    I have designed and implemented an enterprise VDI environment using citrix technologies and it was a small challenge configuring ConfigMgr clients to work correctly.

    By default CCM 2007 clients do not support non-persistent VDI desktops. ConfigMgr 2007 clients store certificates and the SMSCFG.ini file on the computer that contains the GUID for the machine.

    In order to work correctly you need to write startup and shutdown scripts that export the SMS certificates and the SMSCFG.ini file to a persistant storage repository for the machine, and then import them on startup. You should also set the SMS Agent Host service to manual so that your script can control the starting and stopping of the service so that you can import and export the files successfully.

    I am intending to add the powershell script I wrote to the TechNet Gallery as there isn't anything available on the web that I have found.

     

    As for your remaining questions - once you get the CCM client working correctly for each individual machine the client behaves as though it was a normal desktop and it will upload inventory etc...

     

    With regards to RAM consumption and resource usage - this is more of a monitoring functionality and not really something that you should use or expect ConfigMgr to cater for. I would suggest you consider System Centre Operations Manager or a third party tool like Splunk http://www.splunk.com


    Kriss Milne | MCSE


    *Please click 'Vote As Helpful' or 'Mark as Answer' if a post has helped you or answered your question*

    • Marked as answer by Ankit09 Saturday, November 3, 2012 5:04 AM
    Thursday, November 1, 2012 12:47 PM

All replies

  • Hi

    I have designed and implemented an enterprise VDI environment using citrix technologies and it was a small challenge configuring ConfigMgr clients to work correctly.

    By default CCM 2007 clients do not support non-persistent VDI desktops. ConfigMgr 2007 clients store certificates and the SMSCFG.ini file on the computer that contains the GUID for the machine.

    In order to work correctly you need to write startup and shutdown scripts that export the SMS certificates and the SMSCFG.ini file to a persistant storage repository for the machine, and then import them on startup. You should also set the SMS Agent Host service to manual so that your script can control the starting and stopping of the service so that you can import and export the files successfully.

    I am intending to add the powershell script I wrote to the TechNet Gallery as there isn't anything available on the web that I have found.

     

    As for your remaining questions - once you get the CCM client working correctly for each individual machine the client behaves as though it was a normal desktop and it will upload inventory etc...

     

    With regards to RAM consumption and resource usage - this is more of a monitoring functionality and not really something that you should use or expect ConfigMgr to cater for. I would suggest you consider System Centre Operations Manager or a third party tool like Splunk http://www.splunk.com


    Kriss Milne | MCSE


    *Please click 'Vote As Helpful' or 'Mark as Answer' if a post has helped you or answered your question*

    • Marked as answer by Ankit09 Saturday, November 3, 2012 5:04 AM
    Thursday, November 1, 2012 12:47 PM
  • Hi Kriss, 

    Any chances to have your porwershell script somewhere ?

    Thanks a lot.

    Wednesday, December 5, 2012 1:04 PM
  • Hi Kriss, 

    Any chances to have your porwershell script somewhere ?

    Thanks a lot.

    I'll get it onto the technet gallery soon and post on this thread the link:

    Watch this space :)


    Kriss Milne | MCSE


    *Please click 'Vote As Helpful' or 'Mark as Answer' if a post has helped you or answered your question*

    Thursday, December 6, 2012 11:09 AM
  • Hi Kriss,

    No news, good news ?

    Seb

    Wednesday, December 12, 2012 4:14 PM
  • Hi Kriss, 

    I had a look on the technet gallery with no chance to find the script. Could you help on that ?

    Thanks a lot.

    Monday, December 17, 2012 10:14 AM
  • Not sure if anyone is still following this, but I had this same issue and I think I have managed to put together something that works.  As Kriss said, you have to create startup and shutdown scripts that copy the smscfg.ini and sms certificates to/from a persistent store.  Here are my scripts (formatting is ugly because I am running powershell from within batch):

    shutdown.cmd:

    if not exist E:\SCCM mkdir e:\sccm
    
    COPY c:\windows\SMSCFG.ini E:\SCCM\SMSCFG.ini /y > E:\sccm\smserror.txt
    
    powershell -Command "& { $type = [System.Security.Cryptography.X509Certificates.X509ContentType]::pfx;$pass = 'password';$cert = (dir cert:\LocalMachine\SMS)[0];$bytes = $cert.export($type, $pass);[System.IO.File]::WriteAllBytes('e:\sccm\sms1.pfx', $bytes);$cert = (dir cert:\LocalMachine\SMS)[1];$bytes = $cert.export($type, $pass);[System.IO.File]::WriteAllBytes('e:\sccm\sms2.pfx', $bytes) } "
    


    startup:

    IF EXIST E:\SCCM\SMSCFG.ini (
    
    	START /WAIT CMD /C "COPY E:\SCCM\SMSCFG.ini C:\Windows\SMSCFG.ini /y > c:\smserror.txt"
    
    	START /WAIT powershell -Command "& { $store = new-object system.security.cryptography.X509Certificates.X509Store -argumentlist 'SMS', LocalMachine; $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]'ReadWrite'); $pfxcert = new-object system.security.cryptography.x509certificates.x509certificate2; $flags = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::MachineKeySet -bor [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::PersistKeySet -bor [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable; $pfxcert.Import('e:\sccm\sms1.pfx', 'password',$flags);$store.Add($pfxcert);$pfxcert.Import('e:\sccm\sms2.pfx', 'password', $flags);$store.Add($pfxcert) } "
    
    
    )
    
    net start ccmexec

    e:\ is my persistent drive.  On the vDisk, delete the smscfg.ini, as well as the SMS certs (either manually or using ccmdelcert).  I also set the ccmexec service to manual in my vDisk, otherwise the service was starting before the startup script was running.


    • Edited by gammann Friday, May 24, 2013 11:55 PM
    Friday, May 24, 2013 11:51 PM