Настройка пользовательской оболочки через WMIC#

Место общения программистов C#
Ответить
Anonymous
 Настройка пользовательской оболочки через WMI

Сообщение Anonymous »

Я пытаюсь установить собственную оболочку в Windows 8.1 IND с дополнительными функциями блокировки, которые есть в этой версии Windows.

Я могу успешно создать необходимые записи в диспетчере блокировки и без проблем включать и выключать пользовательскую оболочку с помощью C# и WMI.

Поскольку мы планируем развертывание на большом количестве устройств, я хочу также проблематично применить пользовательскую настройку оболочки.

Я использую генератор кода WMI, который помогает мне получить доступ и установить правильные значения.

Однако и генератор кода WMI, и мое приложение C# аварийно завершают работу при попытке запустить код, сгенерированный генератором для этого.

Код: Выделить всё

Unhandled Exception: System.ArgumentOutOfRangeException: Specified argument was
out of the range of valid values.
Parameter name: path
at System.Management.ManagementObject.ManagementObjectCTOR(ManagementScope sc
ope, ManagementPath path, ObjectGetOptions options)
at WMISample.CallWMIMethod.Main()
Пример кода:

Код: Выделить всё

public static void Main()
{
try
{
ManagementObject classInstance =
new ManagementObject("root\\StandardCimv2\\embedded",
"WESL_UserSetting", null);

// Obtain in-parameters for the method
ManagementBaseObject inParams =
classInstance.GetMethodParameters("SetCustomShell");

// Add the input parameters.
inParams["DefaultAction"] =  3;
inParams["Shell"] =  "C:\\Dash\\someapp.exe";
inParams["Sid"] =  "S-1-5-21-2560287794-1129801719-3036876794-1001";

// Execute the method and obtain the return values.
ManagementBaseObject outParams =
classInstance.InvokeMethod("SetCustomShell", inParams, null);

// List outParams
Console.WriteLine("Out parameters:");
Console.WriteLine("ReturnValue: " + outParams["ReturnValue"]);
}
catch(ManagementException err)
{
MessageBox.Show("An error occurred while trying to execute the WMI method: " + err.Message);
}
}
В документации путь не указан. Может ли кто-нибудь подсказать, почему код не устанавливает пользовательскую оболочку?

Подробнее здесь: https://stackoverflow.com/questions/353 ... ll-via-wmi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»