excel - 具有更高权限的 VBA GetObject(以其他用户身份运行)
问题描述
我正在编写一个脚本,该脚本将返回给定远程计算机的驱动程序信息。
我想知道是否有可能或者是否有一种解决方法可以让它以更高的权限工作。
例如,我将创建一个会弹出的表单,询问用户凭据,并且脚本将使用输入的用户凭据运行。
这是到目前为止的脚本:
Sub start()
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PnPSignedDriver", , 48)
For Each objItem In colItems
Debug.Print "Description: " & objItem.Description
Debug.Print "DeviceClass: " & objItem.DeviceClass
Debug.Print "DeviceID: " & objItem.DeviceID
etc...
那么这可能吗?有没有办法做到这一点?
解决方案
经过一番挖掘,我发现Win32_PnPSignedDriver
支持使用用户/密码/域调用。以下代码非常适合我。
Set objWMIService = objSWbemLocator.ConnectServer(strComputer, "Root\CIMv2", strUser, strPassword, "MS_409", "ntlmdomain:" + strDomain)
Set colItems = objWMIService.ExecQuery("Select * from Win32_PnPSignedDriver", , 48)
推荐阅读
- angular - Angular 5 中具有不同输入的反应式表单和数学运算
- python - 从两列(标签、文本)数据源进行文本分类从哪里开始?
- jquery - 在打字稿中使用 $.get 的成功回调时无法将数据绑定到类变量
- datetimepicker - 如何将最小日期设置为 datetimepicker
- c - 如何在 GTK+ 中隐藏一个 .ui 文件并显示另一个 .ui 文件
- android - 在 android 应用程序中使用 React Native 模块作为视图布局
- ios - 如何更改集合视图单元格大小并添加填充?
- javascript - 使用 javascript 更改自定义字段的值后,如何将其保存到 wordpress 的 user_meta?
- azure-service-fabric - Service Fabric 未启动服务错误:FABRIC_E_CERTIFICATE_NOT_FOUND
- python - 在 Pygame for 循环中,碰撞检测不起作用