Start-Process
Startar en eller flera processer på den lokala datorn.
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
Cmdleten Start-Process
startar en eller flera processer på den lokala datorn. Ange det program som körs i processen genom att ange en körbar fil eller skriptfil eller en fil som kan öppnas med hjälp av ett program på datorn. Om du anger en fil som inte kan köras startar Start-Process
programmet som är associerat med filen, ungefär som cmdleten Invoke-Item
.
Du kan använda parametrarna för Start-Process
för att ange alternativ, till exempel att läsa in en användarprofil, starta processen i ett nytt fönster eller använda alternativa autentiseringsuppgifter.
Exempel
Exempel 1: Starta en process som använder standardvärden
Det här exemplet startar en process som använder filen Sort.exe i den aktuella mappen. Kommandot använder alla standardvärden, inklusive standardfönsterformatet, arbetsmappen och autentiseringsuppgifterna.
Start-Process -FilePath "sort.exe"
Exempel 2: Skriv ut en textfil
Det här exemplet startar en process som skriver ut C:\PS-Test\MyFile.txt-filen.
Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print
Exempel 3: Starta en process för att sortera objekt till en ny fil
Det här exemplet startar en process som sorterar objekt i Testsort.txt-filen och returnerar de sorterade objekten i Sorted.txt-filerna. Eventuella fel skrivs till filen SortError.txt.
Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment
Parametern UseNewEnvironment anger att processen körs med egna miljövariabler.
Exempel 4: Starta en process i ett maximerat fönster
Det här exemplet startar Notepad.exe processen. Det maximerar fönstret och behåller fönstret tills processen är klar.
Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized
Exempel 5: Starta PowerShell som administratör
Det här exemplet startar PowerShell med alternativet "Kör som administratör".
Start-Process -FilePath "powershell" -Verb RunAs
Exempel 6: Använda olika verb för att starta en process
Det här exemplet visar hur du hittar de verb som kan användas när du startar en process. De tillgängliga verben bestäms av filnamnstillägget för filen som körs i processen.
$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas
I exemplet används New-Object
för att skapa ett System.Diagnostics.ProcessStartInfo-objekt för PowerShell.exe, filen som körs i PowerShell-processen. Egenskapen Verbs för objektet ProcessStartInfo visar att du kan använda Open och RunAs verb med PowerShell.exe, eller med någon process som kör en .exe fil.
Exempel 7: Ange argument i processen
Båda kommandona startar Windows-kommandotolken och utfärdar ett dir-kommando i mappen Programfiler. Eftersom det här mappnamnet innehåller ett blanksteg måste värdet omges av undantagna citattecken. Observera att det första kommandot anger en sträng som ArgumentList. Det andra kommandot är en strängmatris.
Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""
Parametrar
-ArgumentList
Anger parametrar eller parametervärden som ska användas när den här cmdleten startar processen. Om parametrar eller parametervärden innehåller ett blanksteg behöver de omges av undantagna dubbla citattecken.
Typ: | String[] |
Alias: | Args |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Anger ett användarkonto som har behörighet att utföra den här åtgärden. Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential- objekt, till exempel ett från Get-Credential
cmdlet. Som standard använder cmdleten den aktuella användarens autentiseringsuppgifter.
Typ: | PSCredential |
Alias: | RunAs |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FilePath
Anger den valfria sökvägen och filnamnet för programmet som körs i processen. Ange namnet på en körbar fil eller ett dokument, till exempel en .txt eller .doc fil, som är associerad med ett program på datorn. Den här parametern krävs.
Om du bara anger ett filnamn använder du parametern WorkingDirectory för att ange sökvägen.
Typ: | String |
Alias: | PSPath |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-LoadUserProfile
Anger att den här cmdleten läser in Windows-användarprofilen som lagras i HKEY_USERS registernyckeln för den aktuella användaren.
Den här parametern påverkar inte PowerShell-profilerna. Mer information finns i about_Profiles.
Typ: | SwitchParameter |
Alias: | Lup |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NoNewWindow
Starta den nya processen i det aktuella konsolfönstret. Som standard öppnar PowerShell ett nytt fönster.
Du kan inte använda parametrarna NoNewWindow och WindowStyle i samma kommando.
Typ: | SwitchParameter |
Alias: | nnw |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PassThru
Returnerar ett processobjekt för varje process som cmdleten startade. Som standard genererar den här cmdleten inga utdata.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RedirectStandardError
Anger en fil. Den här cmdleten skickar eventuella fel som genereras av processen till en fil som du anger. Ange sökvägen och filnamnet. Som standard visas felen i konsolen.
Typ: | String |
Alias: | RSE |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RedirectStandardInput
Anger en fil. Den här cmdleten läser indata från den angivna filen. Ange sökvägen och filnamnet för indatafilen. Som standard hämtar processen sina indata från tangentbordet.
Typ: | String |
Alias: | RSI |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RedirectStandardOutput
Anger en fil. Den här cmdleten skickar utdata som genereras av processen till en fil som du anger. Ange sökvägen och filnamnet. Som standard visas utdata i konsolen.
Typ: | String |
Alias: | RSO |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseNewEnvironment
Anger att den här cmdleten använder nya miljövariabler som angetts för processen. Som standard körs den startade processen med de miljövariabler som angetts för datorn och användaren.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Verb
Anger ett verb som ska användas när den här cmdleten startar processen. De verb som är tillgängliga bestäms av filnamnstillägget för filen som körs i processen.
I följande tabell visas verben för några vanliga processfiltyper.
Filtyp | Verb |
---|---|
.Cmd | Redigera, Öppna, Skriv ut, RunAs, RunAsUser |
.exe | Öppna, RunAs, RunAsUser |
.txt | Öppna, Skriv ut, Skriv utTo |
.wav | Öppna, Spela upp |
Om du vill hitta de verb som kan användas med filen som körs i en process använder du cmdleten New-Object
för att skapa ett System.Diagnostics.ProcessStartInfo- objekt för filen. Tillgängliga verb finns i egenskapen Verbs för objektet ProcessStartInfo. Mer information finns i exemplen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Wait
Anger att denna cmdlet väntar på att den angivna processen och dess underordnade ska slutföras innan fler indata accepteras. Den här parametern utelämnar kommandotolken eller behåller fönstret tills processerna har slutförts.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WindowStyle
Anger tillståndet för fönstret som används för den nya processen. De godtagbara värdena för den här parametern är: Normal, Hidden, Minimaloch Maximerad. Standardvärdet är Normal.
Du kan inte använda parametrarna WindowStyle och NoNewWindow i samma kommando.
Typ: | ProcessWindowStyle |
Godkända värden: | Normal, Hidden, Minimized, Maximized |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WorkingDirectory
Anger platsen för den körbara fil eller det dokument som körs i processen. Standardinställningen är mappen för den nya processen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka indata till den här cmdleten.
Utdata
None, System.Diagnostics.Process
Den här cmdleten genererar ett System.Diagnostics.Process--objekt om du anger parametern PassThru. Annars returnerar den här cmdleten inga utdata.
Kommentarer
- Den här cmdleten implementeras med hjälp av metoden Start för klassen System.Diagnostics.Process. Mer information om den här metoden finns i Process.Start-metoden.