Перетащите параметр реестра в другое значение реестра - PullRequest
0 голосов
/ 25 мая 2018

Мы пытаемся получить следующую настройку реестра на ВМ:

Key: HKEY_CURRENT_USER\Volatile Environment
Value Name: ViewClient_Machine_Name
Value Data: "Desktop1"

Это даст нам имя текущего физического устройства, на котором запущена ВМ (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")

Когда я запускаю это, ничего не происходит.

Это мой 1-й пост, извините, что все испортил, со временем я все исправлю!

1 Ответ

0 голосов
/ 25 мая 2018

Вы не должны писать в ключ WOW6432Node.

Если вам нужно, чтобы информация помещалась в 32-битный реестр в 64-битной системе, вы можете сделать это из пакетного файла с 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%
...