如何以编程方式更改 WMI 的设置而不是使用 wmimgmt.msc snappin?

Posted

技术标签:

【中文标题】如何以编程方式更改 WMI 的设置而不是使用 wmimgmt.msc snappin?【英文标题】:How to programmatically change settings for WMI instead of using wmimgmt.msc snappin? 【发布时间】:2011-04-05 22:40:12 【问题描述】:

通常你会这样:

开始 -> 运行 输入 wmimgmt.msc 并按回车 右键单击“WMI 控制”节点-> 属性 在安全选项卡上单击按钮安全 添加新用户 对于您刚刚添加的用户,允许“远程 启用”

如何以编程方式完成(C# 或 vbs)? 我在网上搜索并发现有关使用 WMIC 进行此操作的信息,但我不明白如何操作。 如果它们对您有帮助,这里是链接。 http://msdn.microsoft.com/en-us/library/aa393613%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/aa393611%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/aa822575%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/aa822576%28v=vs.85%29.aspxhttp://msdn.microsoft.com/en-us/library/aa394531%28v=VS.85%29.aspx

非常感谢

【问题讨论】:

您能描述一下您最终想要达到的结果吗? 您能检查一下该解决方案是否适合您吗? 【参考方案1】:

我不会确切地解释如何做到这一点,但由于您所做的事情涉及对窗口、编程和管理的一些很好的理解,我将简单地给您一个指向您可以适应您的项目的源代码的链接管理 WMI 安全性:

http://www.codeproject.com/KB/system/WmiSecurity.aspx

基本上你应该注意的是以下段落:

因此,在这一点上,一些示例应该足以说明该实用程序的使用。假设您想要将域 HelpDesk 组添加到 S223001 计算机上的 CIMV2 和后续命名空间。此外,假设该组应该具有远程连接和读取 WMI 对象的能力。为此:

WmiSecurity /C=S223001 /A /N=Root\CimV2 /M=MyDomain\HelpDesk:REMOTEACCESS /R

希望能帮到你。

干杯。

【讨论】:

【参考方案2】:

您可以使用 WMI 做很多事情。 .net 的 WMI API 是您需要的。以下是一些可能有助于实现您的目标的示例和链接。

http://msdn.microsoft.com/en-us/library/Aa394572

http://msdn.microsoft.com/en-us/library/aa393964%28v=vs.85%29.aspx#obtaining_data_from_WMI

WMI 简化示例:http://www.csharphelp.com/2006/10/wmi-made-easy-for-c/

Change users parental control settings using WMI in c#

http://www.codeproject.com/KB/system/cstcpipwmi.aspx

【讨论】:

以上是关于如何以编程方式更改 WMI 的设置而不是使用 wmimgmt.msc snappin?的主要内容,如果未能解决你的问题,请参考以下文章

设置 UIBarButtonItem 的背景图像以编程方式更改其大小

以编程方式更改IIS网站的SSL设置

如何在 iOS 8.0+ 中以编程方式打开设备设置应用程序而不是应用程序设置

如何以编程方式检查 Windows 是不是是最新的?

如何以编程方式确定 iPhone 的密码是不是已更改或删除?

如何以编程方式校准传感器,而不是手动设置 *#0*#?