1022 Stimmen

Wie man ein PowerShell-Skript ausführt

Wie führe ich ein PowerShell-Skript aus?

  • Ich habe ein Skript namens myscript.ps1
  • Ich habe alle erforderlichen Frameworks installiert
  • Ich habe diese Ausführungsrichtlinie festgelegt
  • Ich habe die Anweisungen auf dieser MSDN-Hilfeseite befolgt und versuche es so auszuführen: powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1' (mit oder ohne --noexit)

das gibt genau nichts zurück, außer dass der Dateiname ausgegeben wird.

Kein Fehler, keine Nachricht, nichts. Oh, wenn ich -noexit hinzufüge, passiert das Gleiche, aber ich bleibe innerhalb von PowerShell und muss manuell beenden.

Die .ps1-Datei soll ein Programm ausführen und den Fehlerlevel abhängig von der Ausgabe dieses Programms zurückgeben. Aber ich bin ziemlich sicher, dass ich noch nicht einmal dorthin gelange.

Was mache ich falsch?

9 Stimmen

Starten Sie das powershell so, wie Sie cmd gestartet hätten. Jetzt können Sie das Skript myscript.ps1 als beliebiges ausführbares Programm dort ausführen (im PowerShell-Fenster), d.h. .\myscript.ps1

0 Stimmen

Die MSDN/Technet-URL leitet jetzt auf eine Seite um, auf der steht "Das Windows PowerShell 1.0-Besitzerhandbuch wurde außer Dienst gestellt. Für aktuellsten Windows PowerShell-Inhalt gehen Sie zu Verwendung von Windows PowerShell." Ich werde versuchen, sie dieses Nachmittag durch eine gültige URL zu ersetzen, wenn ich Zeit habe.

1036voto

marc_s Punkte 701497

Voraussetzungen:

  • Sie müssen PowerShell als Administrator ausführen können
  • Sie müssen Ihre PowerShell-Ausführungsrichtlinie auf einen großzügigen Wert setzen oder diese umgehen können

Schritte:

  1. Starten Sie Windows PowerShell als Administrator und warten Sie, bis das PS> -Prompt angezeigt wird

  2. Navigieren Sie innerhalb von PowerShell zum Verzeichnis, in dem das Skript gespeichert ist:

    PS> cd C:\mein_pfad\yada_yada\ (eingeben)
  3. Führen Sie das Skript aus:

    PS> .\run_import_script.ps1 (eingeben)

Oder: Sie können das PowerShell-Skript auch von der Eingabeaufforderung (cmd.exe) ausführen, so:

powershell -noexit "& ""C:\mein_pfad\yada_yada\run_import_script.ps1""" (eingeben)

gemäß Aufrufen eines PowerShell-Skripts von cmd.exe (oder Start | Ausführen) von Kirk Munro.

Oder Sie können sogar Ihr PowerShell-Skript asynchron von Ihrer C#-Anwendung aus führen.

322voto

Keith Hill Punkte 183005

Wenn Sie PowerShell 2.0 verwenden, verwenden Sie den -File-Parameter von PowerShell.exe, um ein Skript aus einer anderen Umgebung wie cmd.exe aufzurufen. Zum Beispiel:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1

240voto

Chingiz Musayev Punkte 2772

Wenn Sie ein Skript ausführen möchten, ohne die Standard-Skriptausführungsrichtlinie zu ändern, können Sie den bypass-Schalter verwenden, wenn Sie Windows PowerShell starten.

powershell [-noexit] -executionpolicy bypass -File

123voto

Sudheesh Punkte 1049

Geben Sie in einem Eingabeaufforderungsfenster Folgendes ein:

powershell -executionpolicy bypass -File .\Test.ps1

HINWEIS: Hier ist Test.ps1 das PowerShell-Skript.

38voto

Dennis Punkte 1760

Ich hatte dasselbe Problem und habe es versucht und versucht... Schließlich habe ich Folgendes verwendet:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

Und diese Zeile in eine Batch-Datei geschrieben, und das hat funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X