我们正在尝试在VM中提取以下注册表设置:
Key: HKEY_CURRENT_USER\Volatile Environment
Value Name: ViewClient_Machine_Name
Value Data: "Desktop1"
这将为我们提供运行VM(Desktop1)的当前物理设备的名称。然后我们需要将该机器名称写入以下密钥:
Key: HKLM\SOFTWARE\WOW6432Node\Citrix\ICA Client
Value Name: ClientName
Value Data: "Desktop1"
我已经尝试过VBS,BAT和KIX脚本,而我最接近的是它在键中添加了一个空白值。帮助
这就是我们正在努力的方法:
$strwkstn = READVALUE("HKEY_CURRENT_USER\Volatile Environment", "ViewClient_Machine_Name")
$RC = writevalue("HKEY_LOCAL_MACHINE\Software\Wow6432Node\Citrix\ICA Client","ClientName", $strwkstn,"REG_SZ")
当我运行时,没有任何反应。
这是我的第一篇文章,很抱歉打扰它,我最终会把它弄好!
答案 0 :(得分:1)
您不应该写入WOW6432Node
密钥。
如果您需要将信息放入64位系统的32位注册表中,那么您可以使用Reg.exe
选项从包含/Reg:32
的批处理文件中执行此操作:
@Echo Off
Set "BO="
Set PROCESSOR_ARCHITE|Find "64">Nul&&(Set "BO=/Reg:32")
For /F "Tokens=2*" %%A In (
'Reg Query "HKCU\Volatile Environment" /V "ViewClient_Machine_Name"'
) Do Reg Add "HKLM\SOFTWARE\Citrix\ICA Client" /V ClientName /D "%%~B" /F %BO%