当前位置: 首页 > 编程语言 > C#

在c#中使用WMI更改用户家长控制设置Share

时间:2023-04-10 11:50:45 C#

ChangeUserParentalControlsettingsUsingWMIinc#我想将一些参数更改为用户帐户父控件,唯一可用的API是WMI。要使用的WMI提供程序类是WpcUserSettings。我不明白如何修改每个用户的参数。我是否必须为每个用户创建此类的ManagmentObject,或者它们是否已经为每个用户实例化。如果有人能给我一个用户的示例代码,那真的很有帮助。谢谢!编辑:你好。我使用您的示例来获取用户帐户名和SIDS。但是,当我搜索WpcUserSettings无果时,我使用WMIStudio检查这个类,没有实例,所以我无法读取或设置属性。你知道如何解决这个问题吗?FIX:好的,我找到了窍门。您必须使用ManagementObject.InvokeMethod()为每个要添加到家长控制管理的用户调用WpcSystemSettings的AddUser(SID)方法。然后,您可以在WpcUserSettings中启用家长控制并执行任何您想做的事情。rootCIMV2ApplicationsWindowsParentalControls命名空间中存在的WpcUserSettingswmi类没有公开任何用户更新数据的方法,但所有公开的属性都是可读/可写的,显然是SID属性。您可以遍历特定用户的属性并更改值。所以可以用Wmi查询语句检索所有用户SELECT*FROMWpcUserSettings或者这句话修改特定用户的属性SELECT*FROMWpcUserSettingsWhereSID="theSIDoftheusertomodify"然后更新要修改的那个属性的值,最后调用Put方法设置新值。查看此示例应用程序。以上就是C#学习教程:在c#中使用WMI更改用户的家长控制设置,分享全部内容。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——usingSystem;使用System.Collections使用System.Management;使用系统文本;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){try{ManagementObjectSearchersearcher=newManagementObjectSearcher("root\CIMV2\Applications\WindowsParentalControls","SELECT*FROMWpcUserSettings");foreach(ManagementObjectqueryObjinsearcher.Get()){if(queryObj["SID"]=="要修改的用户SID"){//在这里设置属性queryObj["AppRestrictions"]=true;queryObj["HourlyRestrictions"]=true;queryObj["LoggingRequired"]=false;//queryObj["LogonHours"]=;//queryObj["OverrideRequests"]=;queryObj["WpcEnabled"]=true;查询对象。放();}}}catch(ManagementExceptione){Console.WriteLine("设置WMI数据时发生错误:"+e.Message);}控制台.ReadKey();}}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: