Delen via


Start-Process

Start een of meer processen op de lokale computer.

Syntax

Default (Standaard)

Start-Process
    [-FilePath] <String>
    [[-ArgumentList] <String[]>]
    [-Credential <PSCredential>]
    [-WorkingDirectory <String>]
    [-LoadUserProfile]
    [-NoNewWindow]
    [-PassThru]
    [-RedirectStandardError <String>]
    [-RedirectStandardInput <String>]
    [-RedirectStandardOutput <String>]
    [-WindowStyle <ProcessWindowStyle>]
    [-Wait]
    [-UseNewEnvironment]
    [<CommonParameters>]

UseShellExecute

Start-Process
    [-FilePath] <String>
    [[-ArgumentList] <String[]>]
    [-WorkingDirectory <String>]
    [-PassThru]
    [-Verb <String>]
    [-WindowStyle <ProcessWindowStyle>]
    [-Wait]
    [<CommonParameters>]

Description

De cmdlet Start-Process start een of meer processen op de lokale computer. Als u het programma wilt opgeven dat in het proces wordt uitgevoerd, voert u een uitvoerbaar bestand of scriptbestand in of een bestand dat kan worden geopend met behulp van een programma op de computer. Als u een niet-uitvoerbaar bestand opgeeft, start Start-Process het programma dat is gekoppeld aan het bestand, vergelijkbaar met de Invoke-Item cmdlet.

U kunt de parameters van Start-Process gebruiken om opties op te geven, zoals het laden van een gebruikersprofiel, het starten van het proces in een nieuw venster of het gebruik van alternatieve referenties.

Voorbeelden

Voorbeeld 1: Een proces starten dat gebruikmaakt van standaardwaarden

In dit voorbeeld wordt een proces gestart dat gebruikmaakt van het Sort.exe-bestand in de huidige map. De opdracht maakt gebruik van alle standaardwaarden, waaronder de standaardvensterstijl, werkmap en referenties.

Start-Process -FilePath "sort.exe"

Voorbeeld 2: Een tekstbestand afdrukken

In dit voorbeeld wordt een proces gestart waarmee het C:\PS-Test\MyFile.txt-bestand wordt afgedrukt.

Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print

Voorbeeld 3: Een proces starten om items te sorteren naar een nieuw bestand

In dit voorbeeld wordt een proces gestart waarmee items in het Testsort.txt bestand worden gesorteerd en de gesorteerde items in de Sorted.txt bestanden worden geretourneerd. Eventuele fouten worden naar het SortError.txt-bestand geschreven.

Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment

De parameter UseNewEnvironment geeft aan dat het proces wordt uitgevoerd met zijn eigen omgevingsvariabelen.

Voorbeeld 4: Een proces starten in een gemaximaliseerd venster

In dit voorbeeld wordt het Notepad.exe proces gestart. Het venster wordt gemaximaliseerd en het venster behouden totdat het proces is voltooid.

Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized

Voorbeeld 5: PowerShell starten als beheerder

In dit voorbeeld wordt PowerShell gestart met behulp van de optie Uitvoeren als administrator.

Start-Process -FilePath "powershell" -Verb RunAs

Voorbeeld 6: Verschillende werkwoorden gebruiken om een proces te starten

In dit voorbeeld ziet u hoe u de werkwoorden kunt vinden die kunnen worden gebruikt bij het starten van een proces. De beschikbare werkwoorden worden bepaald door de bestandsnaamextensie van het bestand dat in het proces wordt uitgevoerd.

$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas

In het voorbeeld wordt New-Object gebruikt om een System.Diagnostics.ProcessStartInfo object te maken voor PowerShell.exe, het bestand dat wordt uitgevoerd in het PowerShell-proces. De eigenschap Werkwoorden van het ProcessStartInfo-object laat zien dat u de openen en RunAs- werkwoorden kunt gebruiken met PowerShell.exeof met een proces waarmee een .exe bestand wordt uitgevoerd.

Voorbeeld 7: Argumenten opgeven voor het proces

Beide opdrachten starten de Windows-opdracht-interpreter, die een dir-opdracht uitgeeft in de map Program Files. Omdat deze mapnaam een spatie bevat, moet de waarde tussen escape-aanhalingstekens staan. Houd er rekening mee dat met de eerste opdracht een tekenreeks als ArgumentList wordt opgegeven. De tweede opdracht een tekenreeksmatrix.

Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""

Parameters

-ArgumentList

Hiermee geeft u parameters of parameterwaarden op die moeten worden gebruikt wanneer deze cmdlet het proces start. Als parameters of parameterwaarden een spatie bevatten, moeten ze worden omgeven door dubbele aanhalingstekens zonder escape.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Argumenten

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential--object in, zoals een van de Get-Credential cmdlet. De cmdlet gebruikt standaard de referenties van de huidige gebruiker.

Parametereigenschappen

Type:PSCredential
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:RunAs

Parametersets

Default
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-FilePath

Hiermee geeft u het optionele pad en de bestandsnaam van het programma dat in het proces wordt uitgevoerd. Voer de naam in van een uitvoerbaar bestand of van een document, zoals een .txt- of .doc-bestand, dat is gekoppeld aan een programma op de computer. Deze parameter is vereist.

Als u alleen een bestandsnaam opgeeft, gebruikt u de parameter WorkingDirectory om het pad op te geven.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PSPath

Parametersets

(All)
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-LoadUserProfile

Geeft aan dat met deze cmdlet het Windows-gebruikersprofiel wordt geladen dat is opgeslagen in de HKEY_USERS registersleutel voor de huidige gebruiker.

Deze parameter heeft geen invloed op de PowerShell-profielen. Zie about_Profilesvoor meer informatie.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Lup

Parametersets

Default
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-NoNewWindow

Start het nieuwe proces in het huidige consolevenster. PowerShell opent standaard een nieuw venster.

U kunt de parameters NoNewWindow en WindowStyle niet gebruiken in dezelfde opdracht.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:nnw

Parametersets

Default
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-PassThru

Retourneert een procesobject voor elk proces dat door de cmdlet is gestart. Deze cmdlet genereert standaard geen uitvoer.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-RedirectStandardError

Hiermee geeft u een bestand. Met deze cmdlet worden eventuele fouten die door het proces worden gegenereerd, verzonden naar een bestand dat u opgeeft. Voer het pad en de bestandsnaam in. Standaard worden de fouten weergegeven in de console.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:RSE

Parametersets

Default
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-RedirectStandardInput

Hiermee geeft u een bestand. Deze cmdlet leest invoer uit het opgegeven bestand. Voer het pad en de bestandsnaam van het invoerbestand in. Standaard haalt het proces de invoer van het toetsenbord op.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:RSI

Parametersets

Default
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-RedirectStandardOutput

Hiermee geeft u een bestand. Met deze cmdlet wordt de uitvoer die door het proces wordt gegenereerd, verzonden naar een bestand dat u opgeeft. Voer het pad en de bestandsnaam in. Standaard wordt de uitvoer weergegeven in de console.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:RSO

Parametersets

Default
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-UseNewEnvironment

Geeft aan dat deze cmdlet nieuwe omgevingsvariabelen gebruikt die zijn opgegeven voor het proces. Het gestarte proces wordt standaard uitgevoerd met de omgevingsvariabelen die zijn opgegeven voor de computer en gebruiker.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

Default
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Verb

Hiermee geeft u een werkwoord op dat moet worden gebruikt wanneer deze cmdlet het proces start. De beschikbare werkwoorden worden bepaald door de bestandsnaamextensie van het bestand dat in het proces wordt uitgevoerd.

In de volgende tabel ziet u de werkwoorden voor enkele veelvoorkomende procesbestandstypen.

Bestandstype Werkwoorden
.cmd Bewerken, Openen, Afdrukken, RunAs, RunAsUser
.exe Openen, RunAs, RunAsUser
.txt Openen, Afdrukken, AfdrukkenTo
.wav Openen, afspelen

Als u de werkwoorden wilt vinden die kunnen worden gebruikt met het bestand dat in een proces wordt uitgevoerd, gebruikt u de cmdlet New-Object om een System.Diagnostics.ProcessStartInfo-object voor het bestand te maken. De beschikbare werkwoorden bevinden zich in de eigenschap Werkwoorden van het object ProcessStartInfo. Zie de voorbeelden voor meer informatie.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

UseShellExecute
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Wait

Geeft aan dat deze cmdlet wacht tot het opgegeven proces en de onderliggende waarden zijn voltooid voordat er meer invoer wordt geaccepteerd. Deze parameter onderdrukt de opdrachtprompt of behoudt het venster totdat de processen zijn voltooid.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WindowStyle

Hiermee geeft u de status van het venster dat wordt gebruikt voor het nieuwe proces. De acceptabele waarden voor deze parameter zijn: Normal, Hidden, Geminimaliseerdeen Gemaximaliseerde. De standaardwaarde is Normaal.

U kunt de parameters WindowStyle en NoNewWindow niet gebruiken in dezelfde opdracht.

Parametereigenschappen

Type:ProcessWindowStyle
Default value:None
Geaccepteerde waarden:Normal, Hidden, Minimized, Maximized
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WorkingDirectory

Hiermee geeft u de locatie op van het uitvoerbare bestand of document dat in het proces wordt uitgevoerd. De standaardwaarde is de map voor het nieuwe proces.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

None

U kunt invoer voor deze cmdlet niet doorsluisen.

Uitvoerwaarden

None, System.Diagnostics.Process

Met deze cmdlet wordt een System.Diagnostics.Process--object gegenereerd als u de parameter PassThru opgeeft. Anders retourneert deze cmdlet geen uitvoer.

Notities

  • Deze cmdlet wordt geïmplementeerd met behulp van de methode Start van de klasse System.Diagnostics.Process. Zie Process.Start Methodvoor meer informatie over deze methode.