В настоящее время я пытаюсь отключить конфигурацию усиленной безопасности Internet Explorer на моем программном обеспечении для автоматизации, чтобы открыть веб-сайт на моем сервере Windows 2019.
Я могу запустить скрипт Powershell, который редактирует реестр на сервере вручнуюи из CMD, используя ту же команду, что и я, чтобы запустить ее из моего приложения C #.
При запуске сценария Powershell из C # я получаю вывод, который должен был получить, но реестр не был изменен. Я подозреваю, что это как-то связано с политикой выполнения.
C #
static void DownloadInstaller()
{
ProcessStartInfo info = new ProcessStartInfo();
info.WorkingDirectory = Directory.GetCurrentDirectory();
info.FileName = "CMD.exe";
info.Arguments = "/c powershell -NoProfile -ExecutionPolicy ByPass -File .\\runIE.ps1";
info.UseShellExecute = true;
info.Verb = "runas";
Process.Start(info);
}
И это скрипт PowerShell, который я запускаю
function Disable-InternetExplorerESC {
$AdminKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"
$UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force
Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force
Stop-Process -Name Explorer -Force -ErrorAction Continue
Write-Host "IE Enhanced Security Configuration (ESC) has been disabled."
}
Disable-InternetExplorerESC
Если есть способ сделать это из моей программы на C #, я хотел бы получить некоторую помощь.