Запуск скрипта Powershell из C # на сервере Windows - PullRequest
0 голосов
/ 08 ноября 2019

В настоящее время я пытаюсь отключить конфигурацию усиленной безопасности 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 #, я хотел бы получить некоторую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...