注册表找到值,获取密钥名称然后搜索并更新另一个值

时间:2015-09-19 20:33:07

标签: variables batch-file registry

不知道标题是否有帮助,所以我会像我一样描述。

我需要更新"在DNS注册中使用此连接的DNS后缀"对于某个网卡的值,我只知道NIC名称(" NIC3-Networkname")是什么,并且在我触摸的每个服务器上都会有所不同。

我已经确定了所需的步骤,但不确定如何处理第2步。

1)查询" NIC3-Networkname"

reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network" /f "NIC3-Networkname" /s

然后返回以下内容。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{EFBE1796-C4F0-4612-B3D6-E94B794E84D4}\Connection Name REG_SZ NIC3-Networkname

2)接下来我需要取{EFBE1796-C4F0-4612-B3D6-E94B794E84D4}密钥名称,将其设置为变量 - 假设为%NICUID%

3)然后需要采取上述变量并添加DNS名称。

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\%NICUID%" /f /v "Domain" /t REG_SZ /d "Company.com"

欢迎任何提示和建议!

由于 乙

1 个答案:

答案 0 :(得分:2)

使用reg作为分隔符解析\的输出并获取第7个标记:

for /f "delims=\ tokens=7" %%a in (
    'reg query "HKLM\SYSTEM\CurrentControlSet\Control\Network" /f "NIC3-Networkname" /s'
) do set NICUID=%%a