Configure Storage for a VDI

With a persistent VDI, each user runs a desktop session independently. The settings for users are typically saved to the logical desktop while the user data is stored on a separate logical drive. Both the settings and data remain after the user session ends.

Configure Traps for a Persistent Storage Scenario

If utilizing a VDI machine to offload to a local storage area, you need to make additional changes to the golden image, including changes to the Traps service properties and the startup and shutdown scripts.
  1. Create a symbolic link from the machine's standard drive to the machine's local storage each time the VDI boots.
    On the golden image, run the startup script using GPO or schedule it to run as a task or local policy.
    set drivepath=D:\ 
    set datapath=%drivepath%\ProgramData\Cyvera
    set policypath=%ProgramData%\CyveraNotInUse\LocalSystem\Data\ClientPolicy.json 
    IF EXIST %drivepath% ( 
    	IF EXIST %ProgramData%\Cyvera ( 
    	rename %ProgramData%\Cyvera CyveraNotInUse 
    	%windir%\system32\cmd.exe /c mklink /J %ProgramData%\Cyvera %datapath% 2>&1 
    	IF NOT EXIST %datapath% ( 
    	mkdir %datapath% 
    	IF NOT EXIST %datapath%\Everyone\Data ( 
    	mkdir %datapath%\Everyone\Data 
    	IF NOT EXIST %datapath%\Everyone\Temp ( 
    	mkdir %datapath%\Everyone\Temp 
    	IF NOT EXIST %datapath%\LocalSystem ( 
    	mkdir %datapath%\LocalSystem	 
    	IF EXIST %datapath%\LocalSystem\ClientPolicy.* ( 
    	del /F %datapath%\LocalSystem\ClientPolicy.* 
    	IF NOT EXIST %datapath%\LocalSystem\Data ( 
    	mkdir %datapath%\LocalSystem\Data	
    	copy %policypath% %datapath%\LocalSystem\Data\ClientPolicy.json	
    	IF NOT EXIST %datapath%\Logs ( 
    	mkdir %datapath%\Logs 
    	IF NOT EXIST %datapath%\Prevention ( 
    	mkdir %datapath%\Prevention 
    	IF NOT EXIST %datapath%\Quarantine ( 
    	mkdir %datapath%\Quarantine 
    	IF NOT EXIST %datapath%\Administrators\Temp ( 
    	mkdir %datapath%\Administrators\Temp
    sc start cyserver 
    sc start cyveraservice
    net start tlaservice
    Code copied to clipboard
    Unable to copy due to lack of browser support.
    To configure GPO for startup scripts:
    1. Run gpmc.msc (Group Policy Management) on your domain controller and then create a new GPO.
    2. Give the GPO a meaningful name and click OK.
    3. Right-click on the newly created GPO and select Edit.
    4. In the left pane of the Group Policy Management Editor, navigate to Scripts (Startup/Shutdown), and then go to the right pane and double-click Startup.
    5. Click Add, navigate to your script, select your script, and click OK.
    6. Close both Group Policy Management snap-ins.
  2. Reset the services state before the image is sealed and migrated into a test or production environment.
    On the golden image, create a batch file using the shutdown script and then run it.
    ::Stop Cyvera services 
    net stop CyveraService 
    net stop CyServer
    net stop tlaservice
    rd c:\ProgramData\Cyvera /q 
    ren c:\ProgramData\CyveraNotInUse Cyvera 
    net start CyveraService 
    net start CyServer
    Code copied to clipboard
    Unable to copy due to lack of browser support.
  3. Configure Traps services.
    1. Open services.msc: Click StartRun, enter services.msc, and then press Enter.
    2. Right-click the Traps service and select Properties.
    3. From the service Startup type drop-down, select Manual.
    4. Click Apply and OK.
    5. Repeat the process for the Traps Dump Analyzer Service and Traps Reporting Service.

Configure Traps for a Non-Persistent Storage Scenario

In a non-persistent storage scenario, you must configure the Traps service dependency on the Spooler Service (or any of the other last loading services) per the following Microsoft KB
  1. Open the Windows Registry and locate the CyveraService key in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
  2. Double-click the DependOnService multistring.
  3. Add Spooler to the Value data list.
  4. Click OK.

Related Documentation