如何读取VBS中的DWORD注册表?



我想读一个REG_DWORD,把信息放在BGinfo与VBS文件

我执行这个脚本,但不工作

Const HKEY_USERS=&H80000003

strComputer = "."
DW="tct"

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

strKeyPath = "HKEY_USERSS-1-5 20SOFTWAREMicrosoftWindowsCurrentVersionDeliveryOptimizationSettings"
strValueName = "DownloadMode" 
oReg.GetDWORDValue HKEY_USERS,strKeyPath,strValueName,dwValue
dw="t "& swValue
msgbox DW

在消息框中显示t但不显示swValue

我有兴趣在下载模式中显示值,如果它是0或1,在Bginfo数据访问字段中自动注册

我做错了什么?

用户S-1-5-20为网络服务帐户。您的脚本必须以提升的权限运行才能读取其中的值。为自己看到这,打开一个常规Cmd提示并也打开另一个Cmd提示管理员。运行以下脚本之一。它们将在常规Cmd提示下出错,但将在管理员Cmd提示下返回DownloadMode的值(如果存在)。

使用RegRead:

读取dword值
Set oWSH = CreateObject("Wscript.Shell")
x = oWSH.RegRead("HKEY_USERSS-1-5-20SOFTWAREMicrosoftWindowsCurrentVersionDeliveryOptimizationSettingsDownloadMode")
MsgBox x

使用WMI读取dword值:

Const HKEY_USERS=&H80000003
Set oReg = GetObject("winmgmts:\.rootdefault:StdRegProv")
oReg.GetDWORDValue HKEY_USERS,"S-1-5-20SOFTWAREMicrosoftWindowsCurrentVersionDeliveryOptimizationSettings","DownloadMode",x
MsgBox x

注意:我找不到"下载模式"的参考。该键下的Dword值。我创建这个值是为了测试这个脚本。我确实在HKLM下找到了对该键的引用,其中包含"配置"下的DownloadMode STRING值和DODownloadMode dword值。关键。因此,请确保键、值名和数据类型正确。

我发现问题出现在strKeyPath = "HKEY_USERSS-1-5 20SOFTWAREMicrosoftWindowsCurrentVersionDeliveryOptimizationSettings中你必须把strKeyPath = "S-1-5 20SOFTWAREMicrosoftWindowsCurrentVersionDeliveryOptimizationSettings"没有HKEY_USERS

最新更新