Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 如何在多台计算机上编辑注册表值?_Vbscript_Registry - Fatal编程技术网

Vbscript 如何在多台计算机上编辑注册表值?

Vbscript 如何在多台计算机上编辑注册表值?,vbscript,registry,Vbscript,Registry,我需要在200多台计算机上编辑注册表值,经过几个小时的研究,我仍然没有取得多大进展。我需要它是一个.vbs文件,我想到的是: Const HKEY_LOCAL_MACHINE = &H80000001 strComputer = "." Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\I placed r

我需要在200多台计算机上编辑注册表值,经过几个小时的研究,我仍然没有取得多大进展。我需要它是一个.vbs文件,我想到的是:

Const HKEY_LOCAL_MACHINE = &H80000001
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\I placed rest of the path to registry value here"
strValueName = "I placed D-WORD entry name here"
strValue = "http://example.com"
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue
我的两个主要问题是:

当我在管理命令提示符下运行脚本时,什么也没有发生。不会显示任何错误,也不会对注册表进行任何更改。 我知道,对于strComputer,我需要定义计算机名。如果我有许多计算机需要运行此功能,可以将此留空吗?
WMI注册表方法以静默方式失败,但返回状态代码。将最后一行更改为rc=objRegistry.SetStringValueHKEY_LOCAL_MACHINE、strKeyPath、strValueName、strValue,然后检查rc的值。另外,您在此处放置D字条目名称是什么意思?不能使用SetStringValue方法修改DWORD值。至于你的第二个问题:不,你不能留白。如果要在多台计算机上修改注册表,必须在循环中运行GetObject,在循环中迭代所有计算机。Re:2,这可能不是最佳解决方案,但在过去,我做过类似的事情,让脚本执行网络视图并解析标准输出以获取计算机名,然后使用reg add将注册表数据添加到每台计算机。