Я пытаюсь отключить локальную учетную запись Windows.С помощью библиотеки Microsoft я смог написать эту
ManagementScope mgmtScope = new ManagementScope("\\\\.\\Root\\CIMv2");
ObjectQuery oQuery = new ObjectQuery("SELECT * FROM Win32_UserAccount");
ManagementObjectSearcher mgmtSearch = new ManagementObjectSearcher(mgmtScope, oQuery);
ManagementObjectCollection objCollection = mgmtSearch.Get();
foreach (ManagementObject mgmtObject in objCollection)
{
if ((string)mgmtObject["Name"] == "test")
{
mgmtObject.SetPropertyValue("Disabled", true);
Console.WriteLine("{0}", mgmtObject.GetPropertyValue("Disabled"));
}
}
Функция GetPropertyValue
сообщает мне, что значение установлено в «true», но когда программа выходит из цикла foreach,значение снова устанавливается на «ложь».
Кто-нибудь знает, почему это происходит?
РЕДАКТИРОВАТЬ: Я наконец нашел ответ.Мне просто нужно было применить изменения к объекту методом ManagementObject.Put()