06-09-2012 04:56 AM
Hello,
We are using VMware View Desktops. For this desktops I would like to limit OVStoreSize to 2 GB. I don't want to use a percentage of the disk size for View Desktops. But for physical desktops a percentage vault cache size is fine.
I have seen the OVStoreSize can be set in the registry under HK Current Users within the GUID. But I guess the GUID can be different with users.
Is there a way to set the OVStoreSize key for all View Desktops users in a group policy?
Thanks,
Edy
Solved! Go to Solution.
06-10-2012 11:11 AM
I know that in future versions of the client they are looking to have better handling for virtual desktops, th most common being that they want to disable Vault Cache for virtual desktops and keep it for users laptops and physical desktops, but when they have users that have both virtual and physical it makes things more complicated.
You can do it through VBScript easily enough to detect the PR KEY
This is the VBScript i wrote to detect it, its not very advanced or anything, but its worked 100% for me in the past
Option Explicit Dim is64Bit, privateKey, vcRegLocation const HKEY_CURRENT_USER = &H80000001 const HKEY_LOCAL_MACHINE = &H80000002 is64Bit = returnOSType() privateKey = returnPrivateKey(is64Bit) If is64Bit = "AMD64" Then vcRegLocation = "SOFTWARE\WOW6432Node\KVS\Enterprise Vault\Client\" & privateKey Else vcRegLocation = "SOFTWARE\KVS\Enterprise Vault\Client\" & privateKey End If setOVStoreSize(vcRegLocation) ' Sets the OVStoreSize Public Function setOVStoreSize(vcRegLocation) Dim oReg Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") oReg.SetDwordValue HKEY_CURENT_USER, vcRegLocation, "OVStoreSize", "2097152" End FunctionEnd Function ' Get the OS Type, whether its 64 bit or not Public Function returnOSType() Dim output, oReg Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") oReg.GetDWORDValue HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Session Manager\Environment", "PROCESSOR_ARCHITECTURE", output Set oReg = Nothing returnOSType = output End Function ' Return the Private Key held in the registry Public Function returnPrivateKey(OSType) Dim regPath, oReg, output, arrSubKeys, subkey output = "Not Found" Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") if OSType = "AMD64" Then regPath = "SOFTWARE\WOW6432Node\KVS\Enterprise Vault\Client" Else regPath = "SOFTWARE\KVS\Enterprise Vault\Client" End If oReg.EnumKey HKEY_CURRENT_USER, regPath, arrSubKeys For Each subkey In arrSubKeys If Len(subkey) = 32 Then output = subkey End If Next Set oReg = Nothing returnPrivateKey = output End Function
06-09-2012 07:12 AM
The GUID is a key held as an attribute in the users mailbox so it will be different for nearly all users
I take it theres no way you can create two provisioning groups and desktop policies, one with a percentage for desktops/laptops and one with a physical size for TS/Citrix type users?
06-10-2012 01:12 AM
06-10-2012 06:36 AM
Thanks for your answers.
I'm not the EV administrator. I cannot try another policy. But I doubt another policy will be helpful since the same users will be using EV in office and remotely via View desktops.
So I gues the solution is a reg key.
I tried to create the OVstoresize reg key one level above the GUID. But EV didn't recognized it. EV cache size was set according the percentage which is defined in the EV policy. Maybe there is a way to create the reg key in HK Current machine.
It would be helpful if somebody could confirm it can be done.
Thanks,
Edy
06-10-2012 08:47 AM
I think we used to do this in the past in a Citrix environment as part of a logon script. I don't have the script but the concept is that the logon script would have a method to detect if you're logging in to a virtual desktop (maybe read a key from the computer's registry, or by hostname if they all have something in common, etc, and then it would execute a command to do whatever you needed as far as drive mappings, setting environment variables, etc. i wish i had more specific details to share but i hope this can help you get on the right path.
06-10-2012 11:11 AM
I know that in future versions of the client they are looking to have better handling for virtual desktops, th most common being that they want to disable Vault Cache for virtual desktops and keep it for users laptops and physical desktops, but when they have users that have both virtual and physical it makes things more complicated.
You can do it through VBScript easily enough to detect the PR KEY
This is the VBScript i wrote to detect it, its not very advanced or anything, but its worked 100% for me in the past
Option Explicit Dim is64Bit, privateKey, vcRegLocation const HKEY_CURRENT_USER = &H80000001 const HKEY_LOCAL_MACHINE = &H80000002 is64Bit = returnOSType() privateKey = returnPrivateKey(is64Bit) If is64Bit = "AMD64" Then vcRegLocation = "SOFTWARE\WOW6432Node\KVS\Enterprise Vault\Client\" & privateKey Else vcRegLocation = "SOFTWARE\KVS\Enterprise Vault\Client\" & privateKey End If setOVStoreSize(vcRegLocation) ' Sets the OVStoreSize Public Function setOVStoreSize(vcRegLocation) Dim oReg Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") oReg.SetDwordValue HKEY_CURENT_USER, vcRegLocation, "OVStoreSize", "2097152" End FunctionEnd Function ' Get the OS Type, whether its 64 bit or not Public Function returnOSType() Dim output, oReg Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") oReg.GetDWORDValue HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Session Manager\Environment", "PROCESSOR_ARCHITECTURE", output Set oReg = Nothing returnOSType = output End Function ' Return the Private Key held in the registry Public Function returnPrivateKey(OSType) Dim regPath, oReg, output, arrSubKeys, subkey output = "Not Found" Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") if OSType = "AMD64" Then regPath = "SOFTWARE\WOW6432Node\KVS\Enterprise Vault\Client" Else regPath = "SOFTWARE\KVS\Enterprise Vault\Client" End If oReg.EnumKey HKEY_CURRENT_USER, regPath, arrSubKeys For Each subkey In arrSubKeys If Len(subkey) = 32 Then output = subkey End If Next Set oReg = Nothing returnPrivateKey = output End Function