В настоящее время я пытаюсь выполнить сценарий (powershell) автоматической установки Visual Studio 2017 на виртуальную машину, размещенную в лаборатории тестирования Azure DevTest. Сам скрипт очень прост, т.е.

try
{
    Invoke-WebRequest -Uri $vs2017Url -OutFile $vs2017Exe;
}
catch
{
    Write-Error "Failed to download VS 2017";
}

try
{
    Start-Process -FilePath $vs2017Exe -ArgumentList "--add Microsoft.VisualStudio.Workload.NetCoreTools;includeRecommended --passive";
}
catch
{
    Write-Error "Failed to install VS 2017";
}

где $vs2017Url - это URL-адрес установочного файла VS. Проблема в том, что в VS 2017 exe включен UAC, что затрудняет автоматизацию, так как выдает диалоговое окно UAC «Хотите ли вы, чтобы это приложение могло вносить изменения в ваше устройство?«тем самым требуя вмешательства пользователя. Есть ли что-нибудь вокруг этого? (Виртуальные машины будут развернуты с использованием функции артефактов Azure в Azure)

1 ответ1

0

UAC - это настоящий кошмар, когда речь идет о сценариях и удаленной установке. Я считаю, что это связано с тем, как UAC реагирует на процессы, порожденные другими процессами. UAC может вызвать проблемы, даже если родительский процесс является утвержденным администратором.

Просто чтобы заявить очевидное: ваш процесс PowerShell должен запускаться от имени администратора :)

В зависимости от конфигурации может работать одно из следующих:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .