Starten Sie einen über PowerShell erweiterten Prozess
PowerShell ist eine erweiterte Form der Eingabeaufforderung. Es wird mit einem riesigen Satz gebrauchsfertiger Cmdlets erweitert und bietet die Möglichkeit, .NET Framework/C# in verschiedenen Szenarien zu verwenden. Heute zeige ich Ihnen, wie Sie einen erhöhten Prozess über die PowerShell-Eingabeaufforderung starten.
Vorhin habe ich behandelt, wie das Gleiche sein kann aus einer Batch-Datei gemacht. Mit dem Windows 10 Creators Update wird Microsoft jedoch die Eingabeaufforderung weniger betonen und PowerShell überall fördern. Siehe diese Artikel als Referenz:
- Windows 10 Build 14986 ersetzt die Eingabeaufforderung überall durch PowerShell
- Fügen Sie die Eingabeaufforderung zurück zum Win + X-Menü in Windows 10 Creators Update
- Eingabeaufforderung zum Kontextmenü in Windows 10 Creators Update hinzufügen
- Entfernen Sie das PowerShell-Fenster hier aus dem Kontextmenü in Windows 10
Es ist also eine gute Idee, diesen nützlichen Trick zu lernen, der über die PowerShell-Konsole ausgeführt werden kann, und spart Zeit.
Starten Sie einen über PowerShell erweiterten Prozess
Für diese Aufgabe verwenden wir das Cmdlet Start-Process. Es unterstützt a Anzahl der Optionen, einer von ihnen ist -Verb. Wenn Sie -Verb als "RunAs" angeben, wird der Prozess, den Sie starten möchten, erhöht geöffnet.
Versuchen wir, die Notepad-App erhöht zu starten.
- PowerShell öffnen.
- Geben Sie den folgenden Befehl ein oder kopieren Sie ihn und fügen Sie ihn ein:
Start-Prozess "notepad.exe" -Verb RunAs
- Eine UAC-Eingabeaufforderung wird angezeigt. Bestätige es:
- Die Notepad-App wird erhöht geöffnet.
Dies können Sie über den Task-Manager sicherstellen. Siehe den Artikel: So überprüfen Sie, ob ein Prozess als Administrator (erweitert) in Windows ausgeführt wird
Hinweis: Wenn Sie an der UAC-Eingabeaufforderung die Schaltfläche "Nein" drücken, druckt die PowerShell-Konsole eine Fehlermeldung "Der Vorgang wurde vom Benutzer abgebrochen". Dies wird erwartet.
Tipp: Sie können mit Hilfe von PowerShell eine App mit erhöhten Rechten direkt ausführen, ohne zuerst die Konsole zu öffnen. Sie können beispielsweise eine Verknüpfung erstellen oder den folgenden Befehl im Dialogfeld Ausführen eingeben:
powershell.exe -Befehl "Start-Process Notepad.exe -Verb RunAs"
Das Ergebnis wird das gleiche sein. Das Powershell-Fenster blinkt für einen Moment und dann wird die App erhöht geöffnet.
Starten Sie einen mit Argumenten aus PowerShell erhöhten Prozess
Wenn Sie einige Argumente (auch als Schalter oder Parameter bezeichnet) an einen Prozess übergeben müssen, den Sie über PowerShell mit erhöhten Rechten starten möchten, verwenden Sie den Schalter -Argument des Cmdlets Start-Process. Das dort angegebene Argument wird an die ausführbare Zieldatei übergeben. Hier sind modifizierte Beispiele mit Notepad.exe, die ich oben verwendet habe.
Verwenden Sie für die PowerShell-Konsole den folgenden Befehl:
Start-Prozess "notepad.exe" -Argument "C:\My Stuff\my file.txt" -Verb RunAs
Schließen Sie die Pfade mit Leerzeichen in Anführungszeichen ein. Wenn Sie mehr als mehr Argumente übergeben müssen, trennen Sie diese durch Kommas und verwenden Sie ArgumentList:
Start-Prozess "file.exe" -ArgumentList "argument1, argument2, argument3" -Verb RunAs
In PowerShell können Sie den folgenden Befehl verwenden:
powershell.exe -Befehl "Start-Prozess 'Notepad.exe' -Argument 'C:\My Stuff\my file.txt' -Verb RunAs"
Noch ein Beispiel:
powershell -Command "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command \`"Checkpoint-Computer -Beschreibung \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Verb Rennen wie"
Weitere Informationen finden Sie im Artikel: Erstellen Sie einen Wiederherstellungspunkt in Windows 10 mit PowerShell
Schließen Sie die Pfade mit Leerzeichen in einfache Anführungszeichen ein, wie oben gezeigt.
Das ist es.