Heim > Backend-Entwicklung > C++ > Wie übergebe ich Befehlszeilenargumente aus C# an PowerShell-Skripte?

Wie übergebe ich Befehlszeilenargumente aus C# an PowerShell-Skripte?

DDD
Freigeben: 2025-01-23 23:01:13
Original
678 Leute haben es durchsucht

How to Pass Command-Line Arguments to PowerShell Scripts from C#?

PowerShell-Skripte mit Parametern in C# ausführen

Um ein PowerShell-Skript in C# auszuführen und Befehlszeilenargumente bereitzustellen, können Sie die folgenden Schritte ausführen:

  1. Runspace konfigurieren: Erstellen Sie eine RunspaceConfiguration und verwenden Sie diese, um ein Runspace-Objekt zu instanziieren. Dieses Objekt repräsentiert die PowerShell-Laufzeitumgebung.
  2. Erstellen Sie einen PowerShell-Befehl: Verwenden Sie den Command-Konstruktor, um den Skriptdateipfad in ein Command-Objekt zu konvertieren.
  3. Befehlszeilenparameter hinzufügen: Verwenden Sie den CommandParameter-Konstruktor, um für jeden Parameter einen CommandParameter zu erstellen. Fügen Sie diese Parameter zur Parametersammlung des Befehls hinzu.
  4. Erstellen der Pipeline: Fügen Sie das Command-Objekt zur Commands-Sammlung der Pipeline hinzu.
  5. Führen Sie das Skript aus: Rufen Sie die Invoke-Methode von Pipeline auf, um das Skript auszuführen und seine Ausgabe zu verarbeiten.

Codebeispiel:

// 配置和 Runspace
RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

// 带参数的 PowerShell 命令
Command myCommand = new Command(scriptfile);
CommandParameter testParam = new CommandParameter("key", "value");
myCommand.Parameters.Add(testParam);

// 管道和执行
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(myCommand);
var results = pipeline.Invoke();
Nach dem Login kopieren

Indem Sie diese Schritte befolgen, können Sie Befehlszeilenparameter effizient von C# an ein PowerShell-Skript übergeben und Leerzeichen in Parameterwerten ordnungsgemäß verarbeiten.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Befehlszeilenargumente aus C# an PowerShell-Skripte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage