【发布时间】:2019-11-07 10:34:43
【问题描述】:
我需要执行一些需要启用 Windows Script Host 的 cmd 命令。默认情况下,启用 Windows 脚本宿主。但问题是我的一些客户,Windows Script Host 被禁用。其背后的原因之一是使用名为Smadav 的软件。它改变了操作系统的系统配置,并在某种程度上禁用和阻止它使用 Windows 脚本宿主。
我尝试在安装和运行 Smadav 时手动重新启用 Windows 脚本主机,方法是重新配置 Registry,位置在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings,然后我添加了一个值为 1 的条目 Enabled,但是,Windows Script Host 仍然被 Smadav 阻止并且不会执行。
解决方法是卸载 Smadav,但我仍然需要重新启用 Windows Script Host。我想以编程方式进行,有人可以帮助我吗?以下是我当前的代码,但它不起作用。如果 key 不存在,则不更改 key 的值,也不创建 key。
string location = @"SOFTWARE\Microsoft\Windows Script Host\Settings";
RegistryKey enabled = Registry.LocalMachine.OpenSubKey(location, true);
if (enabled != null) //key exist, just enable it by setting value to 1
{
enabled.SetValue("Enabled", 1, RegistryValueKind.DWord);
enabled.Close();
}
else { //key doesn't exist, create a key and set the value to 1
enabled.CreateSubKey("Enabled");
enabled.SetValue("Enabled", 1, RegistryValueKind.DWord);
enabled.Close();
}
【问题讨论】:
-
这个必须在regedit中启用
标签: c# wsh windows-10-desktop