Start-Job
Hiermee start u een PowerShell-achtergrondtaak.
Syntax
Start-Job
[-Name <String>]
[-ScriptBlock] <ScriptBlock>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[[-InitializationScript] <ScriptBlock>]
[-WorkingDirectory <String>]
[-RunAs32]
[-PSVersion <Version>]
[-InputObject <PSObject>]
[-ArgumentList <Object[]>]
[<CommonParameters>]
Start-Job
[-DefinitionName] <String>
[[-DefinitionPath] <String>]
[[-Type] <String>]
[-WorkingDirectory <String>]
[<CommonParameters>]
Start-Job
[-Name <String>]
[-Credential <PSCredential>]
[-FilePath] <String>
[-Authentication <AuthenticationMechanism>]
[[-InitializationScript] <ScriptBlock>]
[-WorkingDirectory <String>]
[-RunAs32]
[-PSVersion <Version>]
[-InputObject <PSObject>]
[-ArgumentList <Object[]>]
[<CommonParameters>]
Start-Job
[-Name <String>]
[-Credential <PSCredential>]
-LiteralPath <String>
[-Authentication <AuthenticationMechanism>]
[[-InitializationScript] <ScriptBlock>]
[-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 niet de taakresultaten.
Wanneer de taak is voltooid, gebruikt u de Receive-Job
cmdlet om de resultaten van de taak op te halen. Zie about_Jobs voor 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_Jobs voor meer informatie.
Vanaf PowerShell 3.0 Start-Job
kunnen exemplaren van aangepaste taaktypen worden gestart, zoals geplande taken. Zie de Help-documenten voor de functie taaktype voor informatie over het starten Start-Job
van taken 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 voor het starten van een taak maken een PSRemotingJob-taakobject . Zie about_Operators voor meer informatie over het gebruik van het en-teken (&
).
PowerShell 7 heeft de parameter WorkingDirectory geïntroduceerd waarmee de oorspronkelijke werkmap van een achtergrondtaak wordt opgegeven. Als de parameter niet is opgegeven, Start-Job
wordt standaard ingesteld op de huidige werkmap van de aanroeper die de taak heeft gestart.
Notitie
Het maken van een achtergrondtaak met Start-Job
wordt niet ondersteund in het scenario waarin PowerShell wordt gehost in andere toepassingen, zoals de PowerShell-Azure Functions.
Dit is standaard omdat Start-Job
het afhankelijk is van het pwsh
uitvoerbare bestand dat beschikbaar is onder $PSHOME
om een achtergrondtaak buiten proces te starten, maar wanneer een toepassing PowerShell host, maakt deze rechtstreeks gebruik van de PowerShell NuGet SDK-pakketten en wordt deze niet pwsh
verzonden.
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 als achtergrondtaak uit te voeren Get-Process
. De parameter Name geeft aan om PowerShell-processen te zoeken, pwsh
. De taakgegevens worden weergegeven en PowerShell keert terug naar een prompt terwijl de taak op de achtergrond wordt uitgevoerd.
Gebruik de cmdlet om de uitvoer van de taak weer te Receive-Job
geven. Bijvoorbeeld Receive-Job -Id 1
.
Voorbeeld 2: de achtergrondoperator gebruiken om een achtergrondtaak te starten
In dit voorbeeld wordt de achtergrondoperator ampersand (&
) 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
. Het en-teken (&
) voert de opdracht uit als een achtergrondtaak. De taakgegevens worden weergegeven en PowerShell keert terug naar een prompt terwijl de taak op de achtergrond wordt uitgevoerd.
Gebruik de cmdlet om de uitvoer van de taak weer te Receive-Job
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, 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 waarmee Get-Service
de WinRM-service wordt opgehaald. De parameter JobName geeft een beschrijvende 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 wordt opgegeven Get-WinEvent
dat het systeemlogboek moet worden opgehaald. De referentieparameter geeft een domeingebruikersaccount op met machtigingen om de taak op de computer uit te voeren. Het taakobject wordt opgeslagen in de $j
variabele.
Het object in de $j
variabele wordt door de pijplijn verzonden naar Select-Object
. 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 een achtergrondtaak.
Start-Job -FilePath C:\Scripts\Sample.ps1
Start-Job
gebruikt de FilePath-parameter 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, PShellJob, op te geven. De parameter ScriptBlock geeft aan Get-Process
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 MapFunctions-module wordt geïmporteerd. De parameter ScriptBlock wordt uitgevoerd Get-Map
en Set-Content
de gegevens worden opgeslagen op de locatie die is opgegeven door de parameter Path .
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 uit te voeren Get-Content
met de $input
automatische variabele. Met de $input
variabele worden objecten opgehaald uit de parameter InputObject . Receive-Job
gebruikt de parameter Name om de taak op te geven en voert de resultaten uit. Met de parameter Keep wordt de taakuitvoer opgeslagen, zodat deze opnieuw kan worden weergegeven tijdens de PowerShell-sessie.
Voorbeeld 9: De werkmap voor een achtergrondtaak instellen
Met de Werkmap kunt u een alternatieve map opgeven voor een taak van 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 onderdrukt de opdrachtprompt 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 $args
op 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 om de uitvoer van de taak weer te Receive-Job
geven. Bijvoorbeeld Receive-Job -Id 1
.
Voorbeeld 11: Taak uitvoeren in een Windows PowerShell 5.1
In dit voorbeeld wordt de parameter PSVersion met waarde 5.1 gebruikt om de 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 van argumenten, of parameterwaarden, voor het script dat is opgegeven door de FilePath parameter of een opdracht die is opgegeven met de ScriptBlock parameter.
Argumenten moeten worden doorgegeven aan ArgumentList als matrixargument met één dimensie. Bijvoorbeeld een door komma's gescheiden lijst. Zie about_Splatting voor meer informatie over het gedrag van ArgumentList.
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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:
- Standaard
- Basic
- Credssp
- Samenvatting
- Kerberos
- Negotiate
- NegotiateWithImplicitCredential
De standaardwaarde is Standaard.
CredSSP-verificatie is alleen beschikbaar in Windows Vista, Windows Server 2008 en latere versies van het Windows-besturingssysteem.
Zie AuthenticationMechanism voor 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 om te 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 externe bewerking. Als de externe computer is gecompromitteerd, kunnen de referenties die aan de externe computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Als de referentieparameter 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.
Notitie
Zie Hoe veilig is SecureString? voor meer informatie over SecureString-gegevensbeveiliging.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefinitionName
Hiermee geeft u de definitienaam op van de taak die met deze cmdlet wordt gestart. Gebruik deze parameter om aangepaste taaktypen te starten met een definitienaam, zoals geplande taken.
Wanneer u gebruikt Start-Job
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 deze wordt niet op schijf opgeslagen, zoals geactiveerde geplande taken. U kunt de parameter Start-Job
ArgumentList van 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.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefinitionPath
Hiermee geeft u het pad op van de definitie voor de taak die door deze cmdlet wordt gestart. Voer het pad naar de definitie 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 $HOME\AppData\Local\Windows\PowerShell\ScheduledJob
de waarde van de Parameter DefinitionPath .
Deze parameter is geïntroduceerd in PowerShell 3.0.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Hiermee geeft u een lokaal script dat Start-Job
wordt uitgevoerd als een achtergrondtaak. Voer het pad en de bestandsnaam van het script in of gebruik de pijplijn om een scriptpad naar te Start-Job
verzenden. Het script moet zich op de lokale computer bevinden of in een map waartoe de lokale computer toegang heeft.
Wanneer u deze parameter gebruikt, converteert PowerShell de inhoud van het opgegeven scriptbestand naar een scriptblok en wordt het scriptblok als achtergrondtaak uitgevoerd.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InitializationScript
Hiermee geeft u opdrachten op 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 het bijvoorbeeld gebruiken om functies, modules en modules toe te voegen aan de sessie.
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Hiermee geeft u invoer voor de opdracht. 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 $input
automatische variabele om de invoerobjecten weer te geven.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Hiermee geeft u een lokaal script op dat door deze cmdlet als achtergrondtaak wordt uitgevoerd. Voer het pad van een script op de lokale computer in.
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, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat geen tekens als escape-reeksen worden geïnterpreteerd.
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Hiermee geeft u een beschrijvende naam voor de nieuwe taak. U kunt de naam gebruiken om de taak te identificeren met andere taak-cmdlets, zoals de Stop-Job
cmdlet.
De standaard beschrijvende naam is Job#
, waarbij #
een rangnummer is dat voor elke taak wordt verhoogd.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PSVersion
Hiermee geeft u een versie van PowerShell op die moet worden gebruikt voor het uitvoeren van de taak. Wanneer de waarde van PSVersion5.1 is, wordt de taak 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.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAs32
Vanaf PowerShell 7 werkt de parameter RunAs32 niet op 64-bits PowerShell (pwsh
).
Als RunAs32 is opgegeven in de 64-bits Versie van PowerShell, Start-Job
treedt er een fout op bij het beëindigen van de uitzondering.
Als u een 32-bits PowerShell-proces (pwsh
) wilt starten met RunAs32, moet u de 32-bits Versie van PowerShell hebben geïnstalleerd.
In 32-bits PowerShell dwingt RunAs32 de taak uit te voeren in een 32-bits proces, zelfs op een 64-bits besturingssysteem.
In 64-bits versies van Windows 7 en Windows Server 2008 R2, wanneer de Start-Job
opdracht de parameter RunAs32 bevat, kunt u de referentieparameter niet gebruiken om de referenties van een andere gebruiker op te geven.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptBlock
Hiermee geeft u de opdrachten die moeten worden uitgevoerd in de achtergrondtaak. 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.
Type: | ScriptBlock |
Aliases: | Command |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Type
Hiermee geeft u het aangepaste type op 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 standaard achtergrondtaken.
Deze parameter is geïntroduceerd in PowerShell 3.0.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WorkingDirectory
Hiermee geeft u de eerste 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.
Type: | String |
Position: | Named |
Default value: | $HOME on Unix (macOS, Linux) and $HOME\Documents on Windows |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt een object met de eigenschap Name doorspezen naar de parameter Name naar deze cmdlet. U kunt bijvoorbeeld een FileInfo-object doorsnijden van Get-ChildItem
.
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 platformen:
sajb
Als u op de achtergrond wilt uitvoeren, Start-Job
wordt uitgevoerd in een eigen sessie in de huidige sessie. Wanneer u de Invoke-Command
cmdlet gebruikt om een Start-Job
opdracht uit te voeren in een sessie op een externe computer, Start-Job
wordt uitgevoerd in een sessie in de externe sessie.