C# для запуска .bat, который запускает PowerShellC#

Место общения программистов C#
Ответить
Anonymous
 C# для запуска .bat, который запускает PowerShell

Сообщение Anonymous »

Код: Выделить всё

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"
Этот файл bat находится в файле C:\\tmp\\Support\\InstallIIS.bat. Консольное приложение с приведенным выше кодом запускает его, и появляется другое консольное окно, в котором я вижу команду PowerShell. Почти сразу он закрывается.
Если я запускаю InstallIIS.bat вручную, он делает то, что должен — устанавливает IIS. С кодом C# этого не происходит.
Мой вопрос: как заставить работать C# ⇾ bat ⇾ PowerShell?
Пытаюсь сделать еще одно, большее сложная задача, я упростил вопрос до самого базового уровня. Итак, я столкнулся с проблемой, которая, на мой взгляд, не должна существовать
Обновление: аналогичный вопрос «Get-WindowsDriver» не распознается как имя командлета не помогает, поскольку я стараюсь избегать использования вызовов PowerShell внутри своего кода. Мне придется придерживаться вызовов C# -> bat -> PowerShell

Подробнее здесь: https://stackoverflow.com/questions/792 ... powershell
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»