Contact Info

Crumbtrail » Administration » Powershell » Powershell 2.0 » Start-Job

Start-Job - Powershell 2.0 CmdLet

Microsoft Windows PowerShell is a command-line shell and scripting tool based on the Microsoft .NET Framework. It is designed for system administrators, engineers and developers to control and automate the administration of Windows and applications.

More than hundred command-line tools (so called "cmdlets") can be used to perform system administration tasks and Windows Management Instrumentation (WMI). These cmdlets are easy to use, with standard naming conventions and common parameters, and standard tools for piping, sorting, filtering, and formatting data and objects.


Short description
Starts a Windows PowerShell background job.

Start-Job [-ScriptBlock] <scriptblock> [[-InitializationScript] <scriptblock>] [-ArgumentList <Object[]>] [-Authent
ication {Default | Basic | Negotiate | NegotiateWithImplicitCredential | Credssp | Digest | Kerberos}] [-Credential
 <PSCredential>] [-InputObject <psobject>] [-Name <string>] [-RunAs32] [<CommonParameters>]

Start-Job [[-FilePath] <string>] [[-InitializationScript] <scriptblock>] [-ArgumentList <Object[]>] [-Authenticatio
n {Default | Basic | Negotiate | NegotiateWithImplicitCredential | Credssp | Digest | Kerberos}] [-Credential <PSCr
edential>] [-InputObject <psobject>] [-Name <string>] [-RunAs32] [<CommonParameters>]

The Start-Job cmdlet starts a Windows PowerShell background job on the local computer. 

A Windows PowerShell background job runs a command "in the background" without interacting with the current session
. When you start a background job, a job object is returned immediately, even if the job takes an extended time to 
complete. You can continue to work in the session without interruption while the job runs.  

The job object contains useful information about the job, but it does not contain the job results. When the job com
pletes, use the Receive-Job cmdlet to get the results of the job. For more information about background jobs, see a

To run a background job on a remote computer, use the AsJob parameter that is available on many cmdlets, or use the
 Invoke-Command cmdlet to run a Start-Job command on the remote computer.  For more information, see about_Remote_J