Dela via


Start-Job

Startar ett PowerShell-bakgrundsjobb.

Syntax

ComputerName (Standard)

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

Cmdleten Start-Job startar ett PowerShell-bakgrundsjobb på den lokala datorn.

Ett PowerShell-bakgrundsjobb kör ett kommando utan att interagera med den aktuella sessionen. När du startar ett bakgrundsjobb returneras ett jobbobjekt omedelbart, även om jobbet tar längre tid att slutföra. Du kan fortsätta att arbeta i sessionen utan avbrott medan jobbet utförs.

Jobbobjektet innehåller användbar information om jobbet, men det innehåller inte jobbresultatet. När jobbet är klart använder du cmdleten Receive-Job för att hämta resultatet av jobbet. Mer information om bakgrundsjobb finns i about_Jobs.

Om du vill köra ett bakgrundsjobb på en fjärrdator använder du parametern AsJob som är tillgänglig på många cmdletar eller använder cmdleten Invoke-Command för att köra ett Start-Job-kommando på fjärrdatorn. Mer information finns i about_Remote_Jobs.

Från och med PowerShell 3.0 kan Start-Job starta instanser av anpassade jobbtyper, till exempel schemalagda jobb. Information om hur du använder Start-Job för att starta jobb med anpassade typer finns i hjälpdokumenten för jobbtypsfunktionen.

Från och med PowerShell 6.0 kan du starta jobb med bakgrundsoperatorn ampersand (&). Funktionen för bakgrundsoperatorn liknar Start-Job. Båda metoderna för att starta ett jobb skapar ett PSRemotingJob jobbobjekt. Mer information om hur du använder et-et (&) finns i about_Operators.

PowerShell 7 introducerade parametern WorkingDirectory som anger ett bakgrundsjobbs inledande arbetskatalog. Om parametern inte har angetts, så kommer Start-Job som standard att inställas till den aktuella arbetskatalogen för den som startade jobbet.

Anmärkning

Det går inte att skapa ett out-of-process-bakgrundsjobb med Start-Job i scenariot där PowerShell finns i andra program, till exempel PowerShell Azure Functions.

Detta är avsiktligt eftersom Start-Job är beroende av att pwsh den körbara filen finns tillgänglig under $PSHOME för att starta ett bakgrundsjobb utanför den aktuella processen, men när ett program är värd för PowerShell använder det PowerShell NuGet SDK-paketen direkt och kommer inte att få pwsh levererad.

Ersättningen i det scenariot är Start-ThreadJob från modulen ThreadJob.

Exempel

Exempel 1: Starta ett bakgrundsjobb

Det här exemplet startar ett bakgrundsjobb som körs på den lokala datorn.

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 använder parametern ScriptBlock för att köra Get-Process som ett bakgrundsjobb. Parametern Name anger att hitta PowerShell-processer pwsh. Jobbinformationen visas och PowerShell återgår till en prompt, och jobbet körs i bakgrunden.

Om du vill visa jobbets utdata använder du cmdleten Receive-Job. Till exempel Receive-Job -Id 1.

Exempel 2: Använd bakgrundsoperatorn för att starta ett bakgrundsjobb

I det här exemplet används bakgrundsoperatorn ampersand (&) för att starta ett bakgrundsjobb på den lokala datorn. Jobbet får samma resultat som Start-Job i exempel 1.

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

Get-Process använder parametern Name för att ange PowerShell-processer pwsh. Ampersand (&) kör kommandot som ett bakgrundsjobb. Jobbinformationen visas och PowerShell återgår till en prompt, och jobbet körs i bakgrunden.

Om du vill visa jobbets utdata använder du cmdleten Receive-Job. Till exempel Receive-Job -Id 5.

Exempel 3: Starta ett jobb med Invoke-Command

Det här exemplet kör ett jobb på flera datorer. Jobbet lagras i en variabel och körs med hjälp av variabelnamnet på PowerShell-kommandoraden.

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

Ett jobb som använder Invoke-Command skapas och lagras i variabeln $jobWRM. Invoke-Command använder parametern ComputerName för att ange de datorer där jobbet körs. Get-Content hämtar servernamnen från C:\Servers.txt-filen.

Parametern ScriptBlock anger ett kommando som Get-Service hämtar tjänsten WinRM. Parametern JobName anger ett lättläst namn för jobbet, WinRM. Parametern ThrottleLimit begränsar antalet samtidiga kommandon till 16. Parametern AsJob startar ett bakgrundsjobb som kör kommandot på servrarna.

Exempel 4: Hämta jobbinformation

Det här exemplet hämtar information om ett jobb och visar resultatet av ett slutfört jobb som kördes på den lokala datorn.

$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 använder parametern ScriptBlock för att köra ett kommando som anger Get-WinEvent för att hämta loggen System. Parametern Credential anger ett domänanvändarkonto med behörighet att köra jobbet på datorn. Jobbobjektet lagras i variabeln $j.

Objektet i variabeln $j skickas ned i pipelinen till Select-Object. Parametern Egenskap anger en asterisk (*) för att visa alla jobbobjektets egenskaper.

Exempel 5: Kör ett skript som ett bakgrundsjobb

I det här exemplet körs ett skript på den lokala datorn som ett bakgrundsjobb.

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

Start-Job använder parametern FilePath för att ange en skriptfil som lagras på den lokala datorn.

Exempel 6: Hämta en process med ett bakgrundsjobb

I det här exemplet används ett bakgrundsjobb för att hämta en angiven process efter namn.

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

Start-Job använder parametern Name för att ange ett eget jobbnamn, PShellJob. Parametern ScriptBlock anger Get-Process för att hämta processer med namnet powershell.

Exempel 7: Samla in och spara data med hjälp av ett bakgrundsjobb

Det här exemplet startar ett jobb som samlar in en stor mängd kartdata och sedan sparar dem i en .tif fil.

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

Start-Job använder parametern Name för att ange ett eget jobbnamn GetMappingFiles. Parametern InitializationScript kör ett skriptblock som importerar modulen MapFunctions. Parametern ScriptBlock körs Get-Map och Set-Content sparar data på den plats som anges av parametern Path.

Exempel 8: Skicka indata till ett bakgrundsjobb

I det här exemplet används den $input automatiska variabeln för att bearbeta ett indataobjekt. Använd Receive-Job för att se jobbets resultat.

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

Start-Job använder parametern ScriptBlock för att köra Get-Content med den $input automatiska variabeln. Variabeln $input hämtar objekt från parametern InputObject. Receive-Job använder parametern Name för att ange jobbet och returnerar resultatet. Parametern Keep sparar jobbutdata så att det kan visas igen under PowerShell-sessionen.

Exempel 9: Ange arbetskatalogen för ett bakgrundsjobb

Med WorkingDirectory- kan du ange en alternativ katalog för ett jobb där du kan köra skript eller öppna filer. I det här exemplet anger bakgrundsjobbet en arbetskatalog som skiljer sig från den aktuella katalogplatsen.

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

Path
----
C:\Test\Scripts

Det här exemplets aktuella arbetskatalog är C:\Test. Start-Job använder parametern WorkingDirectory för att ange jobbets arbetskatalog. Parametern ScriptBlock använder $PWD för att visa jobbets arbetskatalog. Receive-Job visar bakgrundsjobbets resultat. AutoRemoveJob tar bort jobbet och Wait undertrycker kommandotolken tills alla resultat tas emot.

Exempel 10: Använd parametern ArgumentList för att ange en matris

I det här exemplet används parametern ArgumentList för att ange en matris med argument. Matrisen är en kommaavgränsad lista över processnamn.

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

Cmdleten Start-Job använder parametern ScriptBlock för att köra ett kommando. Get-Process använder parametern Name för att ange den automatiska variabeln $args. Parametern ArgumentList skickar matrisen med processnamn till $args. Processnamnen powershell, pwsh och anteckningar är processer som körs på den lokala datorn.

Om du vill visa jobbets utdata använder du cmdleten Receive-Job. Till exempel Receive-Job -Id 1.

Exempel 11: Kör jobb i en Windows PowerShell 5.1

I det här exemplet används parametern PSVersion med värdet 5.1 för att köra jobbet i en Windows PowerShell 5.1-session.

$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

Parametrar

-ArgumentList

Anger en matris med argument eller parametervärden för skriptet som anges av parametern FilePath eller ett kommando som anges med parametern ScriptBlock.

Argument måste skickas till ArgumentList som matrisargument med en dimension. Till exempel en kommaavgränsad lista. Mer information om beteendet för ArgumentListfinns i about_Splatting.

Parameteregenskaper

Typ:

Object[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Argument

Parameteruppsättningar

ComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
FilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LiteralFilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Authentication

Anger den mekanism som används för att autentisera användarautentiseringsuppgifter.

Godkända värden för den här parametern är följande:

  • Förinställning
  • Grundläggande
  • Credssp
  • Sammanfattning
  • Kerberos
  • Förhandla
  • FörhandlaMedImplicitBehörighet

Standardvärdet är Standard.

CredSSP-autentisering är endast tillgängligt i Windows Vista, Windows Server 2008 och senare versioner av Windows-operativsystemet.

Mer information om värdena för den här parametern finns i AuthenticationMechanism.

Försiktighet

CredSSP-autentisering (CredSSP), där användarens autentiseringsuppgifter skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på mer än en resurs, till exempel åtkomst till en fjärrnätverksresurs. Den här mekanismen ökar säkerhetsrisken för fjärråtgärden. Om fjärrdatorn komprometteras kan de autentiseringsuppgifter som skickas till den användas för att styra nätverkssessionen.

Parameteregenskaper

Typ:AuthenticationMechanism
Standardvärde:Default
Godkända värden:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
FilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LiteralFilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Om parametern Credential inte anges använder kommandot den aktuella användarens autentiseringsuppgifter.

Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential- objekt som genereras av cmdleten Get-Credential. Om du skriver ett användarnamn uppmanas du att ange lösenordet.

Autentiseringsuppgifter lagras i ett PSCredential--objekt och lösenordet lagras som en SecureString-.

Anmärkning

Mer information om SecureString dataskydd finns i Hur säker är SecureString?.

Parameteregenskaper

Typ:PSCredential
Standardvärde:Current user
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
FilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LiteralFilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-DefinitionName

Anger definitionsnamnet för jobbet som den här cmdleten startar. Använd den här parametern för att starta anpassade jobbtyper som har ett definitionsnamn, till exempel schemalagda jobb.

När du använder Start-Job för att starta en instans av ett schemalagt jobb startar jobbet omedelbart, oavsett jobbutlösare eller jobbalternativ. Den resulterande jobbinstansen är ett schemalagt jobb, men den sparas inte på disk som vanligtvis görs med schemalagda jobb som utlöses. Du kan inte använda parametern ArgumentList för Start-Job för att ange värden för parametrar för skript som körs i ett schemalagt jobb.

Den här parametern introducerades i PowerShell 3.0.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefinitionName
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-DefinitionPath

Anger sökvägen till definitionen för det jobb som den här cmdleten startar. Ange sökvägen för definitionen. Sammanfogningen av värdena för parametrarna DefinitionPath och DefinitionName är den fullständigt kvalificerade sökvägen för jobbdefinitionen. Använd den här parametern för att starta anpassade jobbtyper som har en definitionssökväg, till exempel schemalagda jobb.

För schemalagda jobb är värdet för parametern DefinitionPath$HOME\AppData\Local\Windows\PowerShell\ScheduledJob.

Den här parametern introducerades i PowerShell 3.0.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefinitionName
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-FilePath

Specificerar ett lokalt skript som körs som ett bakgrundsjobb av Start-Job. Ange sökvägen och filnamnet för skriptet eller använd pipelinen för att skicka en skriptsökväg till Start-Job. Skriptet måste finnas på den lokala datorn eller i en mapp som den lokala datorn kan komma åt.

När du använder den här parametern konverterar PowerShell innehållet i den angivna skriptfilen till ett skriptblock och kör skriptblocket som ett bakgrundsjobb.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

FilePathComputerName
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-InitializationScript

Anger kommandon som körs innan jobbet startar. Om du vill skapa ett skriptblock omsluter du kommandona i klammerparenteser ({}).

Använd den här parametern för att förbereda sessionen där jobbet körs. Du kan till exempel använda den för att lägga till funktioner, snap-ins och moduler till sessionen.

Parameteregenskaper

Typ:ScriptBlock
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ComputerName
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
FilePathComputerName
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LiteralFilePathComputerName
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-InputObject

Anger indata till kommandot. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som genererar objekten.

I värdet för parametern ScriptBlock använder du den $input automatiska variabeln för att representera indataobjekten.

Parameteregenskaper

Typ:PSObject
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
FilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LiteralFilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-LiteralPath

Ange ett lokalt skript som den här cmdleten kör som ett bakgrundsjobb. Ange sökvägen till ett skript på den lokala datorn.

Start-Job använder värdet för parametern LiteralPath precis som den skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:PSPath, SP

Parameteruppsättningar

LiteralFilePathComputerName
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Name

Anger ett beskrivande namn för det nya jobbet. Du kan använda namnet för att identifiera jobbet för andra jobb-cmdletar, till exempel cmdleten Stop-Job.

Det standardvänliga namnet är Job#, där # är ett ordningstal som ökas för varje jobb.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
FilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
LiteralFilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-PSVersion

Anger en version av PowerShell som ska användas för att köra jobbet. När värdet för PSVersion är 5.1 Jobbet körs i en Windows PowerShell 5.1-session. För andra värden körs jobbet med den aktuella versionen av PowerShell.

Den här parametern lades till i PowerShell 7 och fungerar bara i Windows.

Parameteregenskaper

Typ:Version
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
FilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LiteralFilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-RunAs32

Från och med PowerShell 7 fungerar inte parametern RunAs32 på 64-bitars PowerShell (pwsh). Om RunAs32 anges i 64-bitars PowerShell utlöser Start-Job ett avslutande undantagsfel. Om du vill starta en 32-bitars PowerShell-process (pwsh) med RunAs32måste du ha 32-bitars PowerShell installerat.

I 32-bitars PowerShell tvingar RunAs32 jobbet att köras i en 32-bitarsprocess, även på ett 64-bitars operativsystem.

När kommandot Start-Job innehåller parametern RunAs32 kan du inte använda parametern Credential för att ange en annan användares autentiseringsuppgifter på 64-bitarsversioner av Windows 7 och Windows Server 2008 R2.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
FilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
LiteralFilePathComputerName
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ScriptBlock

Anger vilka kommandon som ska köras i bakgrundsjobbet. Om du vill skapa ett skriptblock omsluter du kommandona i klammerparenteser ({}). Använd den $input automatiska variabeln för att komma åt värdet för parametern InputObject. Den här parametern krävs.

Parameteregenskaper

Typ:ScriptBlock
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Command

Parameteruppsättningar

ComputerName
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Type

Anger den anpassade typen för jobb som startas av Start-Job. Ange ett namn på en anpassad jobbtyp, till exempel PSScheduledJob för schemalagda jobb eller PSWorkflowJob för arbetsflödesjobb. Den här parametern är inte giltig för standardbakgrundsjobb.

Den här parametern introducerades i PowerShell 3.0.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefinitionName
Position:2
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-WorkingDirectory

Anger den första arbetskatalogen för bakgrundsjobbet. Om parametern inte anges körs jobbet från standardplatsen. Standardplatsen är den aktuella arbetskatalogen för anroparen som startade jobbet.

Den här parametern introducerades i PowerShell 7.

Parameteregenskaper

Typ:String
Standardvärde:$HOME on Unix (macOS, Linux) and $HOME\Documents on Windows
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

String

Du kan skicka ett objekt med egenskapen Name till parametern Name till den här cmdleten. Du kan till exempel skicka ett FileInfo--objekt från Get-ChildItem.

Utdata

System.Management.Automation.PSRemotingJob

Den här cmdleten returnerar ett PSRemotingJob- objekt som representerar jobbet som det startade.

Kommentarer

PowerShell innehåller följande alias för Start-Job:

  • Alla plattformar:
    • sajb

För att köras i bakgrunden körs Start-Job i en egen session i den aktuella sessionen. När du använder cmdleten Invoke-Command för att köra ett Start-Job kommando i en session på en fjärrdator körs Start-Job i en session i fjärrsessionen.