将多字符串值添加到注册表

时间:2014-05-12 07:41:09

标签: vbscript registry

此代码是更大应用程序的一部分。它旨在向注册表添加新的Multi String值。我在网上搜索过,无法找到解决方案。

我可以使用DOS命令执行此操作,但似乎无法使用VBScript执行此操作。

这是我发现的可能有效的VBScrip。

' Create a MultiString Value in the registry.
    Const HKEY_LOCAL_MACHINE = &H80000002
    strComputer = "."

    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
        strComputer & "\root\default:StdRegProv")

    strKeyPath = "SYSTEM\CurrentControlSet\services\WebClient\Parameters"
    strValueName = "AuthForwardServerList"
    arrStringValues = Array("*.server1.com", "*.server2.com")

    oReg.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath, _
    strValueName,arrStringValues

提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要以管理员身份运行脚本。


如果您检查SetMultiStringValue返回值,请执行以下操作:

res = oReg.SetMultiStringValue(HKEY_LOCAL_MACHINE, strKeyPath, strValueName, arrStringValues)
WScript.Echo res

您在非提升模式下获得5,意味着“访问被拒绝”(请参阅​​MSDN中的System Error Codes)。

相关问题