Powershell Befehl in C# ausführen

Es muss eine Referenz zu folgendem File hinzugefügt werden:
C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0\System.Management.Automation.dll

Das folgende Codebeispiel zeigt wie man powershell sinnvoll einsetzen kann z.B. zum Downloaden der aktuellen Version von Raspbian via wget. Hierzu müssen die binaries von wget for windows im Output Verzeichnis (im Projektfile mit „Copy if newer“) liegen.

private async void DownloadRaspbianViaWget()
{
	using (var powerShellInstance = PowerShell.Create())
	{
		var wgetCmd = string.Format("./wget.exe -N {0} --no-check-certificate", "https://downloads.raspberrypi.org/raspbian_latest");
		powerShellInstance.AddScript(wgetCmd);

		var result = powerShellInstance.BeginInvoke();

		while (!result.IsCompleted)
		{
			await Task.Delay(1000);
		}
	}
}

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert