Start-Process
Spustí jeden nebo více procesů v místním počítači.
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>]
Description
Rutina Start-Process
spustí jeden nebo více procesů v místním počítači. Chcete-li určit program, který se spustí v procesu, zadejte spustitelný soubor nebo soubor skriptu nebo soubor, který lze otevřít pomocí programu v počítači. Pokud zadáte nespustitelný soubor, Start-Process
spustí program, který je k souboru přidružený, podobně jako u rutiny Invoke-Item
.
Pomocí parametrů Start-Process
můžete zadat možnosti, jako je načtení profilu uživatele, spuštění procesu v novém okně nebo použití alternativních přihlašovacích údajů.
Příklady
Příklad 1: Spuštění procesu, který používá výchozí hodnoty
Tento příklad spustí proces, který používá souborSort.exe v aktuální složce. Příkaz používá všechny výchozí hodnoty, včetně výchozího stylu okna, pracovní složky a přihlašovacích údajů.
Start-Process -FilePath "sort.exe"
Příklad 2: Tisk textového souboru
Tento příklad spustí proces, který vytiskne soubor C:\PS-Test\MyFile.txt.
Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print
Příklad 3: Zahájení procesu řazení položek do nového souboru
Tento příklad spustí proces, který seřadí položky v souboru Testsort.txt a vrátí seřazené položky v souborech Sorted.txt. Všechny chyby jsou zapsány do souboru SortError.txt.
Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment
Parametr UseNewEnvironment určuje, že proces běží s vlastními proměnnými prostředí.
Příklad 4: Spuštění procesu v maximalizovaném okně
Tento příklad spustí procesNotepad.exe . Maximalizuje okno a zachová okno až do dokončení procesu.
Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized
Příklad 5: Spuštění PowerShellu jako správce
Tento příklad spustí PowerShell pomocí možnosti Spustit jako správce.
Start-Process -FilePath "powershell" -Verb RunAs
Příklad 6: Použití různých sloves ke spuštění procesu
Tento příklad ukazuje, jak najít příkazy, které lze použít při spuštění procesu. Dostupné příkazy jsou určeny příponou názvu souboru, který se spouští v procesu.
$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas
Příklad používá New-Object
k vytvoření objektu System.Diagnostics.ProcessStartInfo pro PowerShell.exe, soubor, který běží v procesu PowerShellu. Vlastnost Sloves objektu ProcessStartInfo ukazuje, že můžete použít příkazy Open a RunAs s PowerShell.exenebo s libovolným procesem, který spouští soubor .exe.
Příklad 7: Zadání argumentů procesu
Oba příkazy spustí interpret příkazů systému Windows a vystaví příkaz dir ve složce Program Files. Vzhledem k tomu, že tento název složky obsahuje mezeru, musí být hodnota uzavřena řídicími uvozovkami. Všimněte si, že první příkaz určuje řetězec jako ArgumentList. Druhý příkaz pole řetězců.
Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""
Parametry
-ArgumentList
Určuje parametry nebo hodnoty parametrů, které se mají použít při spuštění tohoto procesu. Pokud parametry nebo hodnoty parametrů obsahují mezeru, musí být uzavřeny uvozovkami s řídicími dvojitými uvozovkami.
Type: | String[] |
Aliases: | Args |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k provedení této akce. Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential , například objekt z rutiny Get-Credential
. Rutina ve výchozím nastavení používá přihlašovací údaje aktuálního uživatele.
Type: | PSCredential |
Aliases: | RunAs |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Určuje volitelnou cestu a název souboru programu, který se spouští v procesu. Zadejte název spustitelného souboru nebo dokumentu, například souboru .txt nebo .doc, který je přidružený k programu v počítači. Tento parametr je povinný.
Pokud zadáte pouze název souboru, zadejte cestu pomocí parametru WorkingDirectory .
Type: | String |
Aliases: | PSPath |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LoadUserProfile
Označuje, že tato rutina načte profil uživatele systému Windows uložený v klíči registru HKEY_USERS pro aktuálního uživatele.
Tento parametr nemá vliv na profily PowerShellu. Další informace najdete v tématu about_Profiles.
Type: | SwitchParameter |
Aliases: | Lup |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoNewWindow
Spusťte nový proces v aktuálním okně konzoly. PowerShell ve výchozím nastavení otevře nové okno.
Ve stejném příkazu nelze použít parametry NoNewWindow a WindowStyle .
Type: | SwitchParameter |
Aliases: | nnw |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Vrátí objekt procesu pro každý proces, který rutina spustila. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectStandardError
Určuje soubor. Tato rutina odešle všechny chyby vygenerované procesem do zadaného souboru. Zadejte cestu a název souboru. Ve výchozím nastavení se chyby zobrazují v konzole nástroje .
Type: | String |
Aliases: | RSE |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectStandardInput
Určuje soubor. Tato rutina čte vstup ze zadaného souboru. Zadejte cestu a název souboru vstupního souboru. Ve výchozím nastavení získá proces vstup z klávesnice.
Type: | String |
Aliases: | RSI |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectStandardOutput
Určuje soubor. Tato rutina odešle výstup vygenerovaný procesem do zadaného souboru. Zadejte cestu a název souboru. Ve výchozím nastavení se výstup zobrazí v konzole.
Type: | String |
Aliases: | RSO |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseNewEnvironment
Označuje, že tato rutina používá nové proměnné prostředí zadané pro proces. Ve výchozím nastavení se spuštěný proces spouští s proměnnými prostředí zadanými pro počítač a uživatele.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Verb
Určuje příkaz, který se má použít při spuštění procesu touto rutinou. Příkazy, které jsou k dispozici, jsou určeny příponou názvu souboru, který se spouští v procesu.
Následující tabulka uvádí příkazy pro některé běžné typy procesních souborů.
Typ souboru | Příkazy |
---|---|
.cmd | Úpravy, otevření, tisk, spuštění jako, spuštění jakosuser |
.exe | Open, RunAs, RunAsUser |
.txt | Otevřít, Vytisknout, PrintTo |
.Wav | Otevřít, Přehrát |
Chcete-li najít příkazy, které lze použít se souborem, který běží v procesu, pomocí New-Object
rutiny vytvořte system.Diagnostics.ProcessStartInfo objekt pro soubor. Dostupné příkazy jsou ve vlastnosti Slovesobjektu ProcessStartInfo . Podrobnosti najdete v příkladech.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wait
Označuje, že tato rutina čeká na dokončení zadaného procesu a jeho potomků, než přijme další vstup. Tento parametr potlačí příkazový řádek nebo zachová okno až do dokončení procesů.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WindowStyle
Určuje stav okna, které se používá pro nový proces. Přijatelné hodnoty pro tento parametr jsou: Normální, Skryté, Minimalizované a Maximalizované. Výchozí hodnota je Normální.
Nelze použít parametry WindowStyle a NoNewWindow ve stejném příkazu.
Type: | ProcessWindowStyle |
Accepted values: | Normal, Hidden, Minimized, Maximized |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WorkingDirectory
Určuje umístění spustitelného souboru nebo dokumentu, který se spouští v procesu. Výchozí je složka pro nový proces.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
None
Vstup do této rutiny nelze připojit.
Výstupy
None, System.Diagnostics.Process
Tato rutina vygeneruje objekt System.Diagnostics.Process , pokud zadáte parametr PassThru . V opačném případě tato rutina nevrací žádný výstup.
Poznámky
- Tato rutina je implementována pomocí metody Starttřídy System.Diagnostics.Process . Další informace o této metodě najdete v tématu Process.Start – metoda.