创建注册表项(和子项)?

2023-12-31

我正在尝试创建一个注册表项和子项,以便为计算机上的所有用户启用 IE 11 企业模式。这就是我当前用于 VBScript 的内容,但它失败得很厉害(不添加密钥)。我需要一些帮助来纠正这个问题。

    Const HKEY_LOCAL_MACHINE = &H80000002

    strComputer = "."

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

    strPath = strKeyPath & "\" & strSubPath
    strKeyPath = "Software\Policies\Microsoft"
    strSubPath = "Internet Explorer\Main\EnterpriseMode"
    strName = "Enabled" 

    ObjRegistry.CreateKey (HKEY_LOCAL_MACHINE, strPath)
    ObjRegistry.SetStringValue HKEY_LOCAL_MACHINE, strPath, strName, strValue
    MsgBox "Successfully enabled Internet Explorer Enterprise Mode." 
End Function

除了您发布的代码示例不完整之外,您的代码还存在多个问题。

  • "winmgmts:{impersonationLevel = impersonate}! \\" & strComputer & "\root\default:StdRegProv"
    世界管理协会moniker https://msdn.microsoft.com/en-us/library/windows/desktop/aa389292.aspx安全设置和路径之间包含虚假空格(...! \\...)。去掉它。
    顺便说一句,如果主机名永远不会改变,那么使用主机名变量是没有意义的。
  • strPath = strKeyPath & "\" & strSubPath
    你定义strPath在定义构建路径的变量之前。此外,您的路径组件被定义为字符串文字,因此您可以删除连接和附加变量并简单地定义strPath作为字符串文字。
  • ObjRegistry.CreateKey (HKEY_LOCAL_MACHINE, strPath)
    除非您在子表达式上下文中调用函数/方法/过程,否则不得将参数列表放在括号中。看here http://blogs.msdn.com/b/ericlippert/archive/2003/09/15/52996.aspx更多细节。但是,您可能需要检查方法调用的返回值以查看它们是否成功。

还有FTR,匈牙利记数法 https://en.wikipedia.org/wiki/Hungarian_notation是毫无意义的代码膨胀。不要使用它。

修改后的代码:

Function SetEnterpriseMode(value)
    Const HKLM = &h80000002

    Set reg = GetObject("winmgmts:{impersonationLevel=impersonate}!//./root/default:StdRegProv")

    path = "Software\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode"
    name = "Enabled"

    rc = reg.CreateKey(HKLM, path)
    If rc <> 0 Then
        MsgBox "Cannot create key (" & rc & ")."
        Exit Function
    End If

    rc = reg.SetStringValue(HKLM, path, name, value)
    If rc = 0 Then
        MsgBox "Successfully enabled Internet Explorer Enterprise Mode."
    Else
        MsgBox "Cannot set value (" & rc & ")."
    End If
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建注册表项(和子项)? 的相关文章

  • 如何使用 webpack 填充 Promise?

    我正在使用 webpack 来捆绑我的 JavaScript 我依赖于类似的模块popsicle https www npmjs com package popsicle哪个使用任何承诺 https www npmjs com packag
  • 重载 VBScript 中的构造函数

    我找到了一种在 VBScript 中扩展类的方法 但是有什么方法可以传入参数或重载构造函数吗 我当前正在使用 Init 函数来初始化属性 但希望能够在创建对象时执行此操作 这是我的示例类 Class Test Private strText
  • 使用 CFExecute 运行 VBScript 会引发错误,但通过命令行可以正常工作

    我正在尝试运行 VBScript 但 CFExecute 抛出错误
  • 从 IE EPM BHO 内访问命名管道服务器

    我正在尝试对我们的旧产品进行一些更改 以支持 BHO 上的 IE EPM 我已经设法加载它并调用各种方法 SetSite DocumentComplete 等 当我尝试连接到 Windows 服务中运行的命名管道服务器时 我似乎遇到了障碍
  • VBScript 运行时错误“800a000d”

    在我们的业务中 我们使用安全向导来控制和管理活动目录安全性 并对所做的更改进行审计跟踪 这是一个带有 ASP 前端的 SQL 数据库 它还可以与我们的 Active Directory 进行通信 编写该向导的人已经在我们的网站上为公司的另一
  • ADO 参数化查询不返回任何结果

    我正在使用此查询从经典 asp 页面中的 vbscript 获取一些结果 但它不会返回任何值 该页面是空白的 也没有错误 请问有什么建议吗 dim cmd admin no admin no request QueryString admi
  • IE11 中图标字体未加载

    我们使用 icomoon 作为图标字体 它们在 Chrome 和 Firefox 中运行良好 但在 IE11 中无法显示 有时 它似乎适用于第一个页面加载 但不适用于后续页面加载 清除缓存似乎不会重置它 其他IE版本也可能存在此问题 目前我
  • 使用标签强制 IE 11“用户代理字符串”

    我的网站在 IE11 中无法正常工作 我们都知道HTML标签允许开发者强制IE兼容模式 在例子中 效果很好 解决了 IE10 的可视化问题 但实际上在 IE11 上 即使Compatibility mode被设定为IE9 User agen
  • 使用 VBScript 检查排序顺序

    假设我有一个数组 arr1 其中包含日期值 如下所示 Arr1 50 9 3 2012 4 57 02 AM 22 3 2012 5 57 02 AM 9 5 2012 8 57 02 AM 9 3 2011 4 57 02 上午 Edit
  • 如何将 VBScript 转换为可执行 (EXE) 文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我四处寻找转换 VBScript 的信息 vbs 到可执行文件 并意识到大多数可用的工具实际上是将脚本包装在可执行文件中 尝试了一些工
  • 启用 JavaScript 时,Azure B2C 中的自定义模板在 IE11 中不起作用

    I have a SignIn V2 policy in Azure Active Directory B2C I also enabled JavaScript Because I use it to manipulate some el
  • 在 VBScript 中导航 XML 节点(对于 Dummy)

    我正在尝试编写一个脚本来为我操作 xml 文件中的一些数据 我对 VBScript 还很陌生 但有 VB NET 和 VBA 背景 所以我觉得我知道自己在做什么 我认为可能有更好的方法来导航文件 而不是对每一行进行大量调用 InStr 或类
  • 什么时候必须将 XPath 属性设置为 XML DOM 对象?

    例如 Set objXML CreateObject Microsoft XMLDOM objXML async False objXML validateOnParse False objXML resolveExternals Fals
  • 为什么根据检索顺序从 ADO Recordset 中获取空值而不是正确值? (DB表有NTEXT值)

    我有一个数据库表有两个datetime我需要使用 VBScript 从 ASP 页面读取可为空的列 这是我写的代码 Set cmd Server CreateObject ADODB Command With cmd ActiveConne
  • VBScript 中的对象/类字典

    vbscript 中是否可以有对象 类的字典 例如 Class employeeclass Public first last salary End Class Dim employeedict Set employeedict Creat
  • 等待程序完成

    为了监视带宽使用情况并且不要在启动时加载不必要的程序 我想先执行dumeter exe 然后执行firefox exe 当我关闭firefox时 它应该杀死dumeter 我使用以下代码启动 Set WshShell WScript Cre
  • Richfaces 与 Internet Explorer 11 的兼容性问题

    我正在使用 RichFaces JSF 开发 Web 应用程序 该应用程序在 Safari Mozilla Chrome 和 IE 9 上的表现符合预期 但是 我在 IE 11 上遇到了严重的兼容性问题 当 rich modalPanel
  • 如何在远程机器上执行vbs文件

    如何在不使用 PsExec 的情况下执行位于同一域中的远程计算机上的 VBScript 我尝试了以下代码 但没有运气 Sub RunCommand strComputer Command Set objWMIService GetObjec
  • 如何设置任务在使用 vbs 登录时以当前用户身份运行而无需管理员权限?

    从命令行 我可以创建一个在登录时运行的计划任务 无需管理员权限或用户输入密码来设置任务 但是我必须使用 xml 文件来执行此操作 下面是一个示例 xml 其中 Domain User 部分必须在运行时替换为当前用户的域和名称
  • 经典的asp字符编码

    我在经典 asp 网站中遇到西班牙字符问题 用户可以在 aspx 页面上的表单中提交他们的姓名 地址 然后 aspx 页面将 ajax post 发送到经典的 asp 页面 它所做的所有操作都存储在我们的 Sql 2008 DB 中 我可以

随机推荐