Wie man ein PowerShell-Skript aus einer Batch-Datei ausführt
-
Verwenden Sie den
-File
-Parameter, um ein PowerShell-Skript aus einer Batch-Datei auszuführen -
Verwenden Sie
RemoteSigned
als-ExecutionPolicy
, um ein PowerShell-Skript aus einer Batch-Datei auszuführen -
Verwenden Sie den
Bypass
-Schalter, um ein PowerShell-Skript aus einer Batch-Datei auszuführen - Führen Sie ein PowerShell-Skript aus einer Batch-Datei aus, indem Sie PowerShell als Administrator öffnen
- Fazit

Ein PowerShell-Skript ist eine Textdatei mit der Erweiterung .ps1
, die eine Sammlung von Befehlen enthält. PowerShell führt diese Befehle nacheinander aus.
Eine Batch-Datei ist eine Textdatei mit der Erweiterung .bat
. Sie enthält ebenfalls eine Sammlung von Befehlen, die nacheinander ausgeführt werden.
Die Befehle können durch das Öffnen der .bat
-Datei ausgeführt werden. Dieses Tutorial wird Ihnen beibringen, wie Sie ein PowerShell-Skript aus einer Batch-Datei ausführen.
Wir haben ein PowerShell-Skript, myscript.ps1
, erstellt, das den folgenden Befehl enthält. Der Befehl pause
stoppt die Ausführung einer Batch-Datei, bis Sie die Enter-Taste drücken.
Write-Host "Your script is executed successfully."
Pause
Verwenden Sie den -File
-Parameter, um ein PowerShell-Skript aus einer Batch-Datei auszuführen
Ein PowerShell-Skript aus einer Batch-Datei auszuführen, kann eine nützliche Technik zur Automatisierung von Aufgaben in Windows-Umgebungen sein. Die Methode mit dem -File
-Parameter ermöglicht eine nahtlose Integration von PowerShell-Skripten in Batch-Datei-Workflows.
Der folgende Befehl wird in der bat
-Datei verwendet, um ein PowerShell-Skript auszuführen.
@echo off
powershell -File script.ps1
In diesem Code-Snippet verwenden wir zuerst @echo off
, um die Anzeige der ausgeführten Befehle zu unterdrücken, sodass nur die Ausgabe des Skripts für den Benutzer sichtbar ist. Dann verwenden wir den Befehl powershell
mit dem -File
-Parameter, um ein PowerShell-Skript mit dem Namen script.ps1
auszuführen.
Dieser Befehl startet eine PowerShell-Sitzung und gibt die zu ausführende Skriptdatei an. Durch die Kombination dieser Befehle können wir ein PowerShell-Skript nahtlos aus einer Batch-Datei ausführen und so den Prozess der Ausführung von PowerShell-Befehlen in einer Batch-Datei-Umgebung rationalisieren.
Ausgabe:
Verwenden Sie RemoteSigned
als -ExecutionPolicy
, um ein PowerShell-Skript aus einer Batch-Datei auszuführen
PowerShell hat verschiedene Ausführungsrichtlinien, die bestimmen, welche Skripte ausgeführt werden können und von wo. Eine Möglichkeit, diese Einschränkungen zu umgehen, besteht darin, den Parameter -ExecutionPolicy
mit dem Wert RemoteSigned
anzugeben.
Diese Ausführungsrichtlinie ermöglicht es, lokal erstellte Skripte ohne digitale Signatur auszuführen, während Skripte, die aus dem Internet heruntergeladen werden, von einem vertrauenswürdigen Herausgeber signiert sein müssen.
@echo off
powershell -ExecutionPolicy RemoteSigned -File script.ps1
Im bereitgestellten Code-Snippet wird powershell -ExecutionPolicy RemoteSigned -File script.ps1
verwendet, um das PowerShell-Skript mit dem Namen script.ps1
, das sich im aktuellen Arbeitsverzeichnis befindet, auszuführen. Durch die Angabe des Parameters -ExecutionPolicy
als RemoteSigned
stellen wir sicher, dass lokal erstellte Skripte ohne digitale Signatur ausgeführt werden können, während Skripte, die aus dem Internet heruntergeladen werden, von einem vertrauenswürdigen Herausgeber signiert sein müssen.
Ausgabe:
Verwenden Sie den Bypass
-Schalter, um ein PowerShell-Skript aus einer Batch-Datei auszuführen
Um Einschränkungen zu umgehen und das Skript ohne die durch die Ausführungsrichtlinie auferlegten Beschränkungen auszuführen, können wir den Parameter -ExecutionPolicy
mit dem Wert Bypass
verwenden. Diese Methode bietet einen einfachen Weg, um PowerShell-Skripte aus einer Batch-Datei auszuführen, während alle Einschränkungen der Ausführungsrichtlinie umgangen werden.
@echo off
powershell -ExecutionPolicy Bypass -File C:\path\script.ps1
Im bereitgestellten Code-Snippet wird powershell -ExecutionPolicy Bypass -File C:\path\script.ps1
verwendet, um das PowerShell-Skript mit dem Namen script.ps1
, das im Verzeichnis C:\path\scripts
gespeichert ist, auszuführen. Durch das Setzen der Ausführungsrichtlinie auf Bypass
weisen wir PowerShell an, alle Einschränkungen der Ausführungsrichtlinie zu ignorieren, sodass das Skript ohne Einschränkungen ausgeführt werden kann.
Ausgabe:
Sie können auch den folgenden Befehl ausführen.
@echo off
powershell -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\path\script.ps1'"
In diesem bereitgestellten Befehl verwenden wir -ExecutionPolicy Bypass
, um PowerShell anzuweisen, alle Einschränkungen der Ausführungsrichtlinie zu ignorieren, damit das Skript ohne Einschränkungen ausgeführt werden kann. Darüber hinaus sorgt der Parameter -NoProfile
dafür, dass das PowerShell-Profil des Benutzers nicht geladen wird, was hilft, eine saubere Ausführungsumgebung für das Skript aufrechtzuerhalten.
Ausgabe:
Führen Sie ein PowerShell-Skript aus einer Batch-Datei aus, indem Sie PowerShell als Administrator öffnen
Ein PowerShell-Skript aus einer Batch-Datei mit erhöhten Rechten auszuführen, indem Sie PowerShell als Administrator öffnen, ist eine entscheidende Methode, um Skripte auszuführen, die administrative Berechtigungen erfordern. Dieser Ansatz stellt sicher, dass die PowerShell-Sitzung die erforderlichen Berechtigungen hat, um administrative Aufgaben durchzuführen, wie z. B. System Einstellungen zu ändern oder auf eingeschränkte Ressourcen zuzugreifen.
@echo off
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Start-Process powershell.exe -Verb RunAs -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File C:\path\script.ps1'"
In diesem Code-Snippet verwenden wir powershell.exe
, um eine PowerShell-Sitzung mit erhöhten Rechten zu starten. Der Parameter -Verb RunAs
im Cmdlet Start-Process
stellt sicher, dass PowerShell mit administrativen Berechtigungen geöffnet wird.
Durch das Übergeben der erforderlichen Argumente (-NoProfile -ExecutionPolicy Bypass -File C:\path\script.ps1
) an die neue PowerShell-Sitzung ermöglichen wir die Ausführung des angegebenen Skripts (script.ps1
) mit erhöhten Berechtigungen.
Ausgabe:
Fazit
In diesem Artikel haben wir verschiedene Methoden untersucht, um ein PowerShell-Skript aus einer Batch-Datei auszuführen. Wir haben gelernt, wie man den -File
-Parameter verwendet, um ein Skript direkt auszuführen, sowie wie man Ausführungsrichtlinienbeschränkungen mithilfe der Parameter RemoteSigned
und Bypass
umgeht.
Darüber hinaus haben wir besprochen, wie man PowerShell als Administrator öffnet, um Skripte mit erhöhten Rechten auszuführen. Jede Methode bietet einen einzigartigen Ansatz zur Ausführung von PowerShell-Skripten aus Batch-Dateien und bietet Flexibilität und Kontrolle über die Ausführungsumgebung.