Код: Выделить всё
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "C:\\tmp\\Support\\InstallIIS.bat",
Verb = "runas", // Request admin rights
UseShellExecute = true
};
Process.Start(startInfo);
}
}
Код: Выделить всё
InstallIIS.batКод: Выделить всё
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Install-WindowsFeature -Name Web-Server,Web-ASP,Web-Basic-Auth,Web-Metabase,Web-Windows-Auth,Web-Mgmt-Console,Web-Dyn-Compression"
Если я запускаю InstallIIS.bat вручную, он делает то, что должен — устанавливает IIS. С кодом C# этого не происходит.
Мой вопрос: как заставить работать C# ⇾ bat ⇾ PowerShell?
Пытаюсь сделать еще одно, большее сложная задача, я упростил вопрос до самого базового уровня. Итак, я столкнулся с проблемой, которая, на мой взгляд, не должна существовать
Обновление: аналогичный вопрос «Get-WindowsDriver» не распознается как имя командлета не помогает, поскольку я стараюсь избегать использования вызовов PowerShell внутри своего кода. Мне придется придерживаться вызовов C# -> bat -> PowerShell
Подробнее здесь: https://stackoverflow.com/questions/792 ... powershell
Мобильная версия