Sdílet prostřednictvím


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.