Start-Process
Startet Prozesse auf dem lokalen Computer.
Syntax
Start-Process
[-FilePath] <String>
[[-ArgumentList] <String[]>]
[-Credential <PSCredential>]
[-WorkingDirectory <String>]
[-LoadUserProfile]
[-NoNewWindow]
[-PassThru]
[-RedirectStandardError <String>]
[-RedirectStandardInput <String>]
[-RedirectStandardOutput <String>]
[-WindowStyle <ProcessWindowStyle>]
[-Wait]
[-UseNewEnvironment]
[<CommonParameters>]
Start-Process
[-FilePath] <String>
[[-ArgumentList] <String[]>]
[-WorkingDirectory <String>]
[-PassThru]
[-Verb <String>]
[-WindowStyle <ProcessWindowStyle>]
[-Wait]
[<CommonParameters>]
Beschreibung
Das Start-Process
Cmdlet startet einen oder mehrere Prozesse auf dem lokalen Computer. Geben Sie zum Angeben des Programms, das im Prozess ausgeführt wird, eine ausführbare Datei, eine Skriptdatei oder eine Datei an, die mit einem Programm auf dem Computer geöffnet werden kann. Wenn Sie eine nicht ausführbare Datei angeben, Start-Process
startet das Programm, das der Datei zugeordnet ist, ähnlich dem Invoke-Item
Cmdlet.
Sie können die Parameter von Start-Process
verwenden, um Optionen anzugeben, z. B. das Laden eines Benutzerprofils, das Starten des Prozesses in einem neuen Fenster oder die Verwendung alternativer Anmeldeinformationen.
Beispiele
Beispiel 1: Starten eines Prozesses, der Standardwerte verwendet
In diesem Beispiel wird ein Prozess gestartet, der die Sort.exe-Datei im aktuellen Ordner verwendet. Der Befehl verwendet alle Standardwerte, einschließlich des Standardfensterstils, des Arbeitsordners und der Anmeldeinformationen.
Start-Process -FilePath "sort.exe"
Beispiel 2: Drucken einer Textdatei
In diesem Beispiel wird ein Prozess gestartet, der die C:\PS-Test\MyFile.txt-Datei ausgibt.
Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print
Beispiel 3: Starten eines Prozesses zum Sortieren von Elementen in einer neuen Datei
In diesem Beispiel wird ein Prozess gestartet, der Elemente in der Testsort.txt-Datei sortiert und die sortierten Elemente in den Sorted.txt-Dateien zurückgibt. Fehler werden in die Datei %%amp;quot;SortError.txt%%amp;quot; geschrieben.
Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment
Der Parameter UseNewEnvironment gibt an, dass der Prozess mit eigenen Umgebungsvariablen ausgeführt wird.
Beispiel 4: Starten eines Prozesses in einem maximierten Fenster
In diesem Beispiel wird der Notepad.exe-Prozess gestartet. Das Fenster wird maximiert und beibehalten, bis der Prozess abgeschlossen wurde.
Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized
Beispiel 5: Starten von PowerShell als Administrator
In diesem Beispiel wird PowerShell mit der Option "Als Administrator ausführen" gestartet.
Start-Process -FilePath "powershell" -Verb RunAs
Beispiel 6: Verwenden verschiedener Verben zum Starten eines Prozesses
In diesem Beispiel wird gezeigt, wie Sie die Verben finden, die beim Starten eines Prozesses verwendet werden können. Die verfügbaren Verben werden durch die Dateinamenerweiterung der Datei bestimmt, die im Prozess ausgeführt wird.
$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas
Im Beispiel wird New-Object
ein System.Diagnostics.ProcessStartInfo-Objekt für PowerShell.exeerstellt, die Datei, die im PowerShell-Prozess ausgeführt wird. Die Verbs-Eigenschaft des ProcessStartInfo-Objekts zeigt, dass Sie die Verben Open und RunAs mit PowerShell.exeoder mit jedem Prozess verwenden können, der eine .exe-Datei ausführt.
Beispiel 7: Angeben von Argumenten für den Prozess
Beide Befehle starten den Windows-Befehlsinterpreter und geben einen dir-Befehl für den Ordner "Programme" aus. Da dieser Ordnername ein Leerzeichen enthält, muss der Wert mit Escapezeichen umgeben sein. Beachten Sie, dass der erste Befehl eine Zeichenfolge als ArgumentList angibt. Der zweite Befehl ist ein Zeichenfolgenarray.
Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""
Parameter
-ArgumentList
Gibt Parameter oder Parameterwerte an, die verwendet werden sollen, wenn dieses Cmdlet den Prozess startet. Wenn Parameter oder Parameterwerte ein Leerzeichen enthalten, müssen sie mit escaped double anführungszeichen umgeben sein.
Type: | String[] |
Aliases: | Args |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential-Objekt ein, z. B. eins aus dem Get-Credential
Cmdlet. Standardmäßig verwendet das Cmdlet die Anmeldeinformationen des aktuellen Benutzers.
Type: | PSCredential |
Aliases: | RunAs |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Gibt den optionalen Pfad und Dateinamen des Programms an, das im Prozess ausgeführt wird. Geben Sie den Namen einer ausführbaren Datei oder eines Dokuments ein, z. B. einer TXT-Datei oder DOC-Datei, die einem Programm auf dem Computer zugeordnet ist. Dieser Parameter ist erforderlich.
Wenn Sie nur einen Dateinamen angeben, verwenden Sie den WorkingDirectory-Parameter , um den Pfad anzugeben.
Type: | String |
Aliases: | PSPath |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LoadUserProfile
Gibt an, dass dieses Cmdlet das Windows-Benutzerprofil lädt, das im HKEY_USERS Registrierungsschlüssel für den aktuellen Benutzer gespeichert ist.
Dieser Parameter wirkt sich nicht auf die PowerShell-Profile aus. Weitere Informationen finden Sie unter about_Profiles.
Type: | SwitchParameter |
Aliases: | Lup |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoNewWindow
Startet den neuen Prozess im aktuellen Konsolenfenster. Standardmäßig öffnet PowerShell ein neues Fenster.
Der NoNewWindow-Parameter und der WindowStyle-Parameter können nicht im selben Befehl verwendet werden.
Type: | SwitchParameter |
Aliases: | nnw |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Gibt ein Prozessobjekt für jeden Prozess zurück, der vom Cmdlet gestartet wurde. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectStandardError
Gibt eine Datei an. Dieses Cmdlet sendet alle vom Prozess generierten Fehler an eine von Ihnen angegebene Datei. Geben Sie den Pfad und den Dateinamen ein. Standardmäßig werden die Fehler in der Konsole angezeigt.
Type: | String |
Aliases: | RSE |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectStandardInput
Gibt eine Datei an. Dieses Cmdlet liest Eingaben aus der angegebenen Datei. Geben Sie den Pfad und den Dateinamen der Eingabedatei ein. Standardmäßig ruft der Prozess die Eingabe von der Tastatur ab.
Type: | String |
Aliases: | RSI |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectStandardOutput
Gibt eine Datei an. Dieses Cmdlet sendet die vom Prozess generierte Ausgabe an eine von Ihnen angegebene Datei. Geben Sie den Pfad und den Dateinamen ein. Standardmäßig wird die Ausgabe in der Konsole angezeigt.
Type: | String |
Aliases: | RSO |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseNewEnvironment
Gibt an, dass dieses Cmdlet neue Umgebungsvariablen verwendet, die für den Prozess angegeben sind. Standardmäßig wird der gestartete Prozess mit den für den Computer und den Benutzer angegebenen Umgebungsvariablen ausgeführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Verb
Gibt ein Verb an, das verwendet werden soll, wenn dieses Cmdlet den Prozess startet. Die verfügbaren Verben werden durch die Dateinamenerweiterung der Datei bestimmt, die im Prozess ausgeführt wird.
Die folgende Tabelle enthält die Verben für einige allgemeine Prozessdateitypen:
Dateityp | Verben |
---|---|
.cmd | Bearbeiten, Öffnen, Drucken, RunAs, RunAsUser |
.exe | Open, RunAs, RunAsUser |
.txt | Öffnen, Drucken, Drucken |
WAV | Öffnen, Wiedergeben |
Um die Verben zu finden, die mit der Datei verwendet werden können, die in einem Prozess ausgeführt wird, verwenden Sie das New-Object
Cmdlet, um ein System.Diagnostics.ProcessStartInfo-Objekt für die Datei zu erstellen. Die verfügbaren Verben befinden sich in der Verbs-Eigenschaft des ProcessStartInfo-Objekts . Weitere Informationen finden Sie in den Beispielen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wait
Gibt an, dass dieses Cmdlet wartet, bis der angegebene Prozess und seine untergeordneten Elemente abgeschlossen sind, bevor weitere Eingaben akzeptiert werden. Dieser Parameter unterdrückt die Eingabeaufforderung oder behält das Fenster bei, bis die Prozesse abgeschlossen sind.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WindowStyle
Gibt den Status des für den neuen Prozess verwendeten Fensters an. Die zulässigen Werte für diesen Parameter sind : Normal, Ausgeblendet, Minimiert und Maximiert. Der Standardwert ist Normal.
Der WindowStyle-Parameter und der NoNewWindow-Parameter können nicht im selben Befehl verwendet werden.
Type: | ProcessWindowStyle |
Accepted values: | Normal, Hidden, Minimized, Maximized |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WorkingDirectory
Gibt den Speicherort der ausführbaren Datei oder des Dokuments an, das im Prozess ausgeführt wird. Der Standardwert ist der Ordner für den neuen Prozess.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
None, System.Diagnostics.Process
Dieses Cmdlet generiert ein System.Diagnostics.Process-Objekt , wenn Sie den PassThru-Parameter angeben. Andernfalls wird von diesem Cmdlet keine Ausgabe zurückgegeben.
Hinweise
- Dieses Cmdlet wird mithilfe der Start-Methode der System.Diagnostics.Process-Klasse implementiert. Weitere Informationen zu dieser Methode finden Sie unter Process.Start-Methode.