Delen via


Start-Job

Hiermee start u een PowerShell-achtergrondtaak.

Syntaxis

ComputerName (Standaard)

Start-Job
    [-ScriptBlock] <ScriptBlock>
    [[-InitializationScript] <ScriptBlock>]
    [-Name <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-WorkingDirectory <String>]
    [-RunAs32]
    [-PSVersion <Version>]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

DefinitionName

Start-Job
    [-DefinitionName] <String>
    [[-DefinitionPath] <String>]
    [[-Type] <String>]
    [-WorkingDirectory <String>]
    [<CommonParameters>]

FilePathComputerName

Start-Job
    [-FilePath] <String>
    [[-InitializationScript] <ScriptBlock>]
    [-Name <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-WorkingDirectory <String>]
    [-RunAs32]
    [-PSVersion <Version>]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

LiteralFilePathComputerName

Start-Job
    [[-InitializationScript] <ScriptBlock>]
    -LiteralPath <String>
    [-Name <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-WorkingDirectory <String>]
    [-RunAs32]
    [-PSVersion <Version>]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [<CommonParameters>]

Description

De Start-Job cmdlet start een PowerShell-achtergrondtaak op de lokale computer.

Een PowerShell-achtergrondtaak voert een opdracht uit zonder interactie met de huidige sessie. Wanneer u een achtergrondtaak start, wordt een taakobject onmiddellijk geretourneerd, zelfs als het langer duurt voordat de taak is voltooid. U kunt zonder onderbreking in de sessie blijven werken terwijl de taak wordt uitgevoerd.

Het taakobject bevat nuttige informatie over de taak, maar bevat geen taakresultaten. Wanneer de taak is voltooid, gebruikt u de cmdlet Receive-Job om de resultaten van de taak op te halen. Zie about_Jobsvoor meer informatie over achtergrondtaken.

Als u een achtergrondtaak wilt uitvoeren op een externe computer, gebruikt u de parameter AsJob die beschikbaar is op veel cmdlets of gebruikt u de Invoke-Command-cmdlet om een Start-Job opdracht uit te voeren op de externe computer. Zie about_Remote_Jobsvoor meer informatie.

Vanaf PowerShell 3.0 kunnen Start-Job exemplaren van aangepaste taaktypen starten, zoals geplande taken. Zie de Help-documenten voor de functie jobtype voor informatie over het gebruik van Start-Job om taken te starten met aangepaste typen.

Vanaf PowerShell 6.0 kunt u taken starten met behulp van de achtergrondoperator ampersand (&). De functionaliteit van de achtergrondoperator is vergelijkbaar met Start-Job. Beide methoden om een taak te starten, maken een PSRemotingJob taakobject. Voor meer informatie over het gebruik van het en-teken (&), zie about_Operators.

PowerShell 7 heeft de parameter WorkingDirectory geïntroduceerd waarmee de oorspronkelijke werkmap van een achtergrondtaak wordt opgegeven. Als de parameter niet is opgegeven, wordt Start-Job standaard ingesteld op de huidige werkmap van de aanroeper die de taak heeft gestart.

Opmerking

Het maken van een out-of-process achtergrondtaak met Start-Job wordt niet ondersteund in het scenario waarin PowerShell wordt gehost in andere toepassingen, zoals de PowerShell Azure Functions.

Dit is opzettelijk omdat Start-Job afhankelijk is van het uitvoerbare pwsh dat beschikbaar is onder $PSHOME om een out-of-process achtergrondtaak te starten, maar wanneer een toepassing PowerShell host, gebruikt het rechtstreeks de PowerShell NuGet SDK-pakketten en zal het niet pwsh bevatten.

De vervanging in dat scenario is Start-ThreadJob uit de module ThreadJob.

Voorbeelden

Voorbeeld 1: Een achtergrondtaak starten

In dit voorbeeld wordt een achtergrondtaak gestart die wordt uitgevoerd op de lokale computer.

Start-Job -ScriptBlock { Get-Process -Name pwsh }
Id  Name   PSJobTypeName   State     HasMoreData   Location    Command
--  ----   -------------   -----     -----------   --------    -------
1   Job1   BackgroundJob   Running   True          localhost   Get-Process -Name pwsh

Start-Job gebruikt de parameter ScriptBlock om Get-Process uit te voeren als achtergrondtaak. De parameter Name geeft aan om PowerShell-processen pwshte vinden. De taakgegevens worden weergegeven en PowerShell keert terug naar een prompt terwijl de taak op de achtergrond wordt uitgevoerd.

Gebruik de cmdlet Receive-Job om de uitvoer van de taak weer te geven. Bijvoorbeeld: Receive-Job -Id 1.

Voorbeeld 2: De achtergrondoperator gebruiken om een achtergrondtaak te starten

In dit voorbeeld wordt de ampersand -operator (&) gebruikt om een achtergrondtaak op de lokale computer te starten. De taak krijgt hetzelfde resultaat als Start-Job in voorbeeld 1.

Get-Process -Name pwsh &
Id    Name   PSJobTypeName   State       HasMoreData     Location      Command
--    ----   -------------   -----       -----------     --------      -------
5     Job5   BackgroundJob   Running     True            localhost     Microsoft.PowerShell.Man...

Get-Process gebruikt de parameter Name om PowerShell-processen op te geven, pwsh. De ampersand (&) voert de opdracht uit als achtergrondtaak. De taakgegevens worden weergegeven en PowerShell keert terug naar een prompt terwijl de taak op de achtergrond wordt uitgevoerd.

Gebruik de cmdlet Receive-Job om de uitvoer van de taak weer te geven. Bijvoorbeeld: Receive-Job -Id 5.

Voorbeeld 3: Een taak starten met behulp van Invoke-Command

In dit voorbeeld wordt een taak uitgevoerd op meerdere computers. De taak wordt opgeslagen in een variabele en wordt uitgevoerd met behulp van de naam van de variabele op de PowerShell-opdrachtregel.

$jobWRM = Invoke-Command -ComputerName (Get-Content -Path C:\Servers.txt) -ScriptBlock {
   Get-Service -Name WinRM } -JobName WinRM -ThrottleLimit 16 -AsJob

Een taak die gebruikmaakt van Invoke-Command wordt gemaakt en opgeslagen in de $jobWRM variabele. Invoke-Command gebruikt de parameter ComputerName om de computers op te geven waarop de taak wordt uitgevoerd. Get-Content haalt de servernamen op uit het C:\Servers.txt-bestand.

De parameter ScriptBlock geeft een opdracht op die Get-Service de WinRM--service ophaalt. De parameter JobName geeft een gebruiksvriendelijke naam op voor de taak, WinRM. De parameter ThrottleLimit beperkt het aantal gelijktijdige opdrachten tot 16. Met de parameter AsJob wordt een achtergrondtaak gestart waarmee de opdracht op de servers wordt uitgevoerd.

Voorbeeld 4: Taakgegevens ophalen

In dit voorbeeld wordt informatie opgehaald over een taak en worden de resultaten weergegeven van een voltooide taak die is uitgevoerd op de lokale computer.

$j = Start-Job -ScriptBlock { Get-WinEvent -Log System } -Credential Domain01\User01
$j | Select-Object -Property *
State         : Completed
HasMoreData   : True
StatusMessage :
Location      : localhost
Command       : Get-WinEvent -Log System
JobStateInfo  : Completed
Finished      : System.Threading.ManualResetEvent
InstanceId    : 27ce3fd9-40ed-488a-99e5-679cd91b9dd3
Id            : 18
Name          : Job18
ChildJobs     : {Job19}
PSBeginTime   : 8/8/2019 14:41:57
PSEndTime     : 8/8/2019 14:42:07
PSJobTypeName : BackgroundJob
Output        : {}
Error         : {}
Progress      : {}
Verbose       : {}
Debug         : {}
Warning       : {}
Information   : {}

Start-Job gebruikt de parameter ScriptBlock om een opdracht uit te voeren waarmee Get-WinEvent wordt opgegeven om het System-logboek op te halen. De parameter Credential geeft een domeingebruikersaccount op met toestemming om de taak op de computer uit te voeren. Het taakobject wordt opgeslagen in de $j variabele.

Het object in de $j-variabele wordt naar Select-Objectverzonden. De parameter eigenschap geeft een sterretje (*) op om alle eigenschappen van het taakobject weer te geven.

Voorbeeld 5: Een script uitvoeren als achtergrondtaak

In dit voorbeeld wordt een script op de lokale computer uitgevoerd als achtergrondtaak.

Start-Job -FilePath C:\Scripts\Sample.ps1

Start-Job gebruikt de parameter FilePath om een scriptbestand op te geven dat is opgeslagen op de lokale computer.

Voorbeeld 6: Een proces ophalen met behulp van een achtergrondtaak

In dit voorbeeld wordt een achtergrondtaak gebruikt om een opgegeven proces op naam op te halen.

Start-Job -Name PShellJob -ScriptBlock { Get-Process -Name powershell }

Start-Job gebruikt de parameter Name om een beschrijvende taaknaam op te geven, PShellJob. De parameter ScriptBlock geeft Get-Process aan om processen op te halen met de naam powershell.

Voorbeeld 7: Gegevens verzamelen en opslaan met behulp van een achtergrondtaak

In dit voorbeeld wordt een taak gestart die een grote hoeveelheid kaartgegevens verzamelt en deze vervolgens opslaat in een .tif-bestand.

Start-Job -Name GetMappingFiles -InitializationScript {Import-Module -Name MapFunctions} -ScriptBlock {
   Get-Map -Name * | Set-Content -Path D:\Maps.tif }

Start-Job gebruikt de parameter Name om een beschrijvende taaknaam op te geven, GetMappingFiles. Met de parameter InitializationScript wordt een scriptblok uitgevoerd waarmee de module MapFunctions wordt geïmporteerd. De ScriptBlock parameter wordt uitgevoerd Get-Map en Set-Content slaat de gegevens op de door de parameter pad opgegeven locatie op.

Voorbeeld 8: Invoer doorgeven aan een achtergrondtaak

In dit voorbeeld wordt de $input automatische variabele gebruikt om een invoerobject te verwerken. Gebruik Receive-Job om de uitvoer van de taak weer te geven.

Start-Job -ScriptBlock { Get-Content -Path $input } -InputObject "C:\Servers.txt"
Receive-Job -Name Job45 -Keep
Server01
Server02
Server03
Server04

Start-Job gebruikt de parameter ScriptBlock om Get-Content uit te voeren met de automatische variabele $input. Met de variabele $input worden objecten opgehaald uit de parameter InputObject. Receive-Job gebruikt de parameter Name om de taak op te geven en de resultaten uit te voeren. Met de parameter behouden wordt de taakuitvoer opgeslagen, zodat deze opnieuw kan worden weergegeven tijdens de PowerShell-sessie.

Voorbeeld 9: De werkmap instellen voor een achtergrondtaak

Met de WorkingDirectory kunt u een alternatieve map opgeven voor een taak waaruit u scripts kunt uitvoeren of bestanden kunt openen. In dit voorbeeld geeft de achtergrondtaak een werkmap op die anders is dan de huidige maplocatie.

PS C:\Test> Start-Job -WorkingDirectory C:\Test\Scripts { $PWD } | Receive-Job -AutoRemoveJob -Wait

Path
----
C:\Test\Scripts

De huidige werkmap van dit voorbeeld is C:\Test. Start-Job gebruikt de parameter WorkingDirectory om de werkmap van de taak op te geven. De parameter ScriptBlock gebruikt $PWD om de werkmap van de taak weer te geven. Receive-Job geeft de uitvoer van de achtergrondtaak weer. AutoRemoveJob verwijdert de taak en Wacht de opdrachtprompt onderdrukt totdat alle resultaten zijn ontvangen.

Voorbeeld 10: De parameter ArgumentList gebruiken om een matrix op te geven

In dit voorbeeld wordt de parameter ArgumentList gebruikt om een matrix met argumenten op te geven. De matrix is een door komma's gescheiden lijst met procesnamen.

Start-Job -ScriptBlock { Get-Process -Name $args } -ArgumentList powershell, pwsh, notepad
Id     Name      PSJobTypeName   State       HasMoreData     Location     Command
--     ----      -------------   -----       -----------     --------     -------
1      Job1      BackgroundJob   Running     True            localhost    Get-Process -Name $args

De Start-Job-cmdlet gebruikt de parameter ScriptBlock om een opdracht uit te voeren. Get-Process gebruikt de parameter Name om de automatische variabele $argsop te geven. De parameter ArgumentList geeft de matrix met procesnamen door aan $args. De procesnamen powershell, pwsh en kladblok zijn processen die worden uitgevoerd op de lokale computer.

Gebruik de cmdlet Receive-Job om de uitvoer van de taak weer te geven. Bijvoorbeeld: Receive-Job -Id 1.

Voorbeeld 11: Taak uitvoeren in een Windows PowerShell 5.1

In dit voorbeeld wordt de parameter PSVersion met de waarde 5.1 gebruikt om een taak uit te voeren in een Windows PowerShell 5.1-sessie.

$PSVersionTable.PSVersion
Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
7      0      0      rc.1
$job = Start-Job -ScriptBlock { $PSVersionTable.PSVersion } -PSVersion 5.1
Receive-Job -Job $job
Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  3383

Parameters

-ArgumentList

Hiermee geeft u een matrix met argumenten of parameterwaarden op voor het script dat is opgegeven door de parameter FilePath of een opdracht die is opgegeven met de parameter ScriptBlock.

Argumenten moeten worden doorgegeven aan ArgumentList als matrixargument met één dimensie. Bijvoorbeeld een door komma's gescheiden lijst. Zie about_Splattingvoor meer informatie over het gedrag van ArgumentList.

Parametereigenschappen

Type:

Object[]

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

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
FilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Authentication

Hiermee geeft u het mechanisme op dat wordt gebruikt om gebruikersreferenties te verifiëren.

De acceptabele waarden voor deze parameter zijn als volgt:

  • Verstek
  • Eenvoudig
  • Credssp
  • Samenvatting
  • Kerberos
  • Onderhandelen
  • OnderhandelenMetImplicieteReferentie

De standaardwaarde is Standaard.

CredSSP-verificatie is alleen beschikbaar in Windows Vista, Windows Server 2008 en latere versies van het Windows-besturingssysteem.

Zie AuthenticationMechanismvoor meer informatie over de waarden van deze parameter.

Waarschuwing

CredSSP-verificatie (Credential Security Support Provider), waarbij de referenties van de gebruiker worden doorgegeven aan een externe computer die moet worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de op afstand uitgevoerde bewerking. Als de externe computer is aangetast, kunnen de referenties die aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Parametereigenschappen

Type:AuthenticationMechanism
Default value:Default
Geaccepteerde waarden:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
FilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:Named
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. Als de parameter Credential niet is opgegeven, gebruikt de opdracht de referenties van de huidige gebruiker.

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential--object in dat is gegenereerd door de Get-Credential-cmdlet. Als u een gebruikersnaam typt, wordt u gevraagd het wachtwoord in te voeren.

Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString.

Opmerking

Zie voor meer informatie over SecureString gegevensbeveiliging Hoe veilig is SecureString?.

Parametereigenschappen

Type:PSCredential
Default value:Current user
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
FilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-DefinitionName

Hiermee geeft u de definitienaam op van de taak die door deze cmdlet wordt gestart. Gebruik deze parameter om aangepaste taaktypen te starten met een definitienaam, zoals geplande taken.

Wanneer u Start-Job gebruikt om een exemplaar van een geplande taak te starten, wordt de taak onmiddellijk gestart, ongeacht taaktriggers of taakopties. Het resulterende taakexemplaar is een geplande taak, maar wordt niet opgeslagen op de schijf, zoals bij geactiveerde geplande taken. U kunt de parameter ArgumentList van Start-Job niet gebruiken om waarden op te geven voor parameters van scripts die worden uitgevoerd in een geplande taak.

Deze parameter is geïntroduceerd in PowerShell 3.0.

Parametereigenschappen

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

Parametersets

DefinitionName
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-DefinitionPath

Hiermee geeft u het pad op van de definitie voor de taak die met deze cmdlet wordt gestart. Voer het definitiepad in. De samenvoeging van de waarden van de parameters DefinitionPath en DefinitionName is het volledig gekwalificeerde pad van de taakdefinitie. Gebruik deze parameter om aangepaste taaktypen te starten die een definitiepad hebben, zoals geplande taken.

Voor geplande taken is de waarde van de parameter DefinitionPath$HOME\AppData\Local\Windows\PowerShell\ScheduledJob.

Deze parameter is geïntroduceerd in PowerShell 3.0.

Parametereigenschappen

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

Parametersets

DefinitionName
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-FilePath

Geeft een lokaal script op dat als achtergrondtaak door Start-Job wordt uitgevoerd. Voer het pad en de bestandsnaam van het script in of gebruik de pijplijn om een scriptpad naar Start-Jobte verzenden. Het script moet zich op de lokale computer of in een map bevinden waartoe de lokale computer toegang heeft.

Wanneer u deze parameter gebruikt, converteert PowerShell de inhoud van het opgegeven scriptbestand naar een scriptblok en voert het scriptblok uit als achtergrondtaak.

Parametereigenschappen

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

Parametersets

FilePathComputerName
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-InitializationScript

Hiermee geeft u opdrachten die worden uitgevoerd voordat de taak wordt gestart. Als u een scriptblok wilt maken, plaatst u de opdrachten tussen accolades ({}).

Gebruik deze parameter om de sessie voor te bereiden waarin de taak wordt uitgevoerd. U kunt deze bijvoorbeeld gebruiken om functies, snap-ins en modules toe te voegen aan de sessie.

Parametereigenschappen

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

Parametersets

ComputerName
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
FilePathComputerName
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-InputObject

Hiermee geeft u invoer voor het commando. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden gegenereerd.

Gebruik in de waarde van de parameter ScriptBlock de automatische variabele $input om de invoerobjecten weer te geven.

Parametereigenschappen

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

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
FilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-LiteralPath

Hiermee geeft u een lokaal script op dat door deze cmdlet als achtergrondtaak wordt uitgevoerd. Voer het pad in van een script op de lokale computer.

Start-Job gebruikt de waarde van de parameter LiteralPath precies zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.

Parametereigenschappen

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

Parametersets

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

-Name

Specificeert een vriendelijke naam voor de nieuwe taak. U kunt de naam gebruiken om de taak te identificeren voor andere taak-cmdlets, zoals de Stop-Job cmdlet.

De standaard vriendelijke naam is Job#, waarbij # een rangnummer is dat voor elke taak wordt verhoogd.

Parametereigenschappen

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

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
FilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-PSVersion

Hiermee geeft u een versie van PowerShell op die moet worden gebruikt voor het uitvoeren van de taak. Wanneer de waarde van PSVersion is 5.1 De taak wordt uitgevoerd in een Windows PowerShell 5.1-sessie. Voor elke andere waarde wordt de taak uitgevoerd met behulp van de huidige versie van PowerShell.

Deze parameter is toegevoegd in PowerShell 7 en werkt alleen in Windows.

Parametereigenschappen

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

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
FilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-RunAs32

Vanaf PowerShell 7 werkt de parameter RunAs32 niet op 64-bits PowerShell (pwsh). Als RunAs32 is gespecificeerd in 64-bits PowerShell, genereert Start-Job een terminerende exceptiefout. Als u een 32-bits PowerShell-proces (pwsh) wilt starten met RunAs32, moet de 32-bits PowerShell zijn geïnstalleerd.

In 32-bits PowerShell dwingt RunAs32 de taak uit te voeren in een 32-bits proces, zelfs op een 64-bits besturingssysteem.

Op 64-bits versies van Windows 7 en Windows Server 2008 R2, wanneer de opdracht Start-Job de RunAs32 parameter bevat, kunt u de parameter Credential niet gebruiken om de referenties van een andere gebruiker op te geven.

Parametereigenschappen

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

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
FilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
LiteralFilePathComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ScriptBlock

Hiermee geeft u de opdrachten die in de achtergrondtaak moeten worden uitgevoerd. Als u een scriptblok wilt maken, plaatst u de opdrachten tussen accolades ({}). Gebruik de $input automatische variabele om toegang te krijgen tot de waarde van de parameter InputObject. Deze parameter is vereist.

Parametereigenschappen

Type:ScriptBlock
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Opdracht

Parametersets

ComputerName
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Type

Geeft het aangepaste type voor taken die zijn gestart door Start-Job. Voer een aangepaste taaktypenaam in, zoals PSScheduledJob voor geplande taken of PSWorkflowJob voor werkstroomtaken. Deze parameter is niet geldig voor standaardachtergrondtaken.

Deze parameter is geïntroduceerd in PowerShell 3.0.

Parametereigenschappen

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

Parametersets

DefinitionName
Position:2
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WorkingDirectory

Hiermee specificeert u de initiële werkmap van de achtergrondtaak. Als de parameter niet is opgegeven, wordt de taak uitgevoerd vanaf de standaardlocatie. De standaardlocatie is de huidige werkmap van de aanroeper die de taak heeft gestart.

Deze parameter is geïntroduceerd in PowerShell 7.

Parametereigenschappen

Type:String
Default value:$HOME on Unix (macOS, Linux) and $HOME\Documents on Windows
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

String

U kunt een object doorsturen met de eigenschap Name naar de parameter Name van deze cmdlet. U kunt bijvoorbeeld een FileInfo--object uit Get-ChildItemdoorsluisen.

Uitvoerwaarden

System.Management.Automation.PSRemotingJob

Deze cmdlet retourneert een PSRemotingJob object dat de taak vertegenwoordigt die is gestart.

Notities

PowerShell bevat de volgende aliassen voor Start-Job:

  • Alle platforms:
    • sajb

Om op de achtergrond te draaien, draait Start-Job in een eigen sessie binnen de huidige sessie. Wanneer u de cmdlet Invoke-Command gebruikt om een Start-Job-opdracht uit te voeren in een sessie op een externe computer, wordt Start-Job uitgevoerd in een sessie in de externe sessie.