Поделиться через


Start-Job

Запускает фоновое задание PowerShell.

Синтаксис

ComputerName (по умолчанию)

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>]

Описание

Командлет Start-Job запускает фоновое PowerShell-задание на локальном компьютере.

Фоновое задание PowerShell выполняет команду без взаимодействия с текущим сеансом. При запуске фонового задания объект задания возвращается немедленно, даже если для выполнения задания требуется более длительное время. Вы можете продолжать работать в сеансе без прерывания во время выполнения задания.

Объект задания содержит полезные сведения о задании, но он не содержит результаты задания. По завершении задания используйте командлет Receive-Job, чтобы получить результаты задания. Для получения дополнительной информации о фоновых заданиях см. раздел about_Jobs.

Чтобы запустить фоновое задание на удаленном компьютере, используйте параметр asJob, доступный во многих командлетах, или используйте командлет Invoke-Command для выполнения команды Start-Job на удаленном компьютере. Дополнительные сведения см. в разделе about_Remote_Jobs.

Начиная с PowerShell 3.0, Start-Job может запускать экземпляры пользовательских типов заданий, например, запланированные задания. Для получения информации о том, как использовать Start-Job для запуска заданий с пользовательскими типами, смотрите справочную документацию по функции типа задания.

Начиная с PowerShell 6.0, можно запустить задания с помощью фонового оператора ampersand (&). Функции фонового оператора похожи на Start-Job. Оба метода для запуска задания создают объект задания PSRemotingJob. Дополнительные сведения об использовании амперсанда (&) см. в about_Operators.

PowerShell 7 представила параметр WorkingDirectory, указывающий начальный рабочий каталог фонового задания. Если параметр не указан, Start-Job по умолчанию — это текущий рабочий каталог того, кто запустил задание.

Замечание

Создание фонового задания вне процесса с помощью Start-Job не поддерживается в сценарии размещения PowerShell в других приложениях, таких как Функции Azure PowerShell.

Это сделано намеренно, поскольку Start-Job зависит от того, чтобы исполняемый файл pwsh был доступен под $PSHOME для запуска фонового задания вне процесса, но когда приложение размещает PowerShell, оно напрямую использует пакеты NuGet SDK PowerShell и не будет поставляться с pwsh.

Замена в этом сценарии — это Start-ThreadJob из модуля ThreadJob.

Примеры

Пример 1. Запуск фонового задания

В этом примере запускается фоновое задание, которое выполняется на локальном компьютере.

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 использует параметр ScriptBlock для запуска Get-Process в качестве фонового задания. Параметр имени используется для поиска процессов PowerShell pwsh. Отображаются сведения о задании, и PowerShell возвращает запрос во время выполнения задания в фоновом режиме.

Чтобы просмотреть выходные данные задания, используйте командлет Receive-Job. Например: Receive-Job -Id 1.

Пример 2. Использование фонового оператора для запуска фонового задания

В этом примере используется оператор фона амперсанд (&), чтобы запустить фоновое задание на локальном компьютере. Задание получает тот же результат, что и Start-Job в примере 1.

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

Get-Process использует параметр Name для указания процессов PowerShell pwsh. Амперсанд (&) выполняет команду в качестве фонового задания. Отображаются сведения о задании, и PowerShell возвращает запрос во время выполнения задания в фоновом режиме.

Чтобы просмотреть выходные данные задания, используйте командлет Receive-Job. Например: Receive-Job -Id 5.

Пример 3. Запуск задания с помощью Invoke-Command

В этом примере выполняется задание на нескольких компьютерах. Задание хранится в переменной и выполняется с помощью имени переменной в командной строке PowerShell.

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

Задание, использующее Invoke-Command, создается и хранится в переменной $jobWRM. Invoke-Command использует параметр ComputerName, чтобы указать компьютеры, на которых выполняется задание. Get-Content получает имена серверов из файла C:\Servers.txt.

Параметр scriptBlock указывает команду, которая Get-Service получает службу WinRM. Параметр JobName задает дружественное имя задания, WinRM. Параметр ThrottleLimit ограничивает число параллельных команд до 16. Параметр AsJob запускает фоновое задание, которое запускает команду на серверах.

Пример 4. Получение сведений о задании

Этот пример получает сведения о задании и отображает результаты завершенного задания, выполняемого на локальном компьютере.

$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 использует параметр ScriptBlock для выполнения команды, указывающей Get-WinEvent для получения журнала System. Параметр учетных данных указывает учетную запись пользователя домена, которая имеет разрешение на выполнение задания на компьютере. Объект задания хранится в переменной $j.

Объект в переменной $j отправляется по конвейеру в Select-Object. Параметр свойства указывает звездочку (*) для отображения всех свойств объекта задания.

Пример 5. Запуск скрипта в качестве фонового задания

В этом примере скрипт на локальном компьютере выполняется в качестве фонового задания.

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

Start-Job использует параметр FilePath для указания файла скрипта, хранящегося на локальном компьютере.

Пример 6. Получение процесса с помощью фонового задания

В этом примере используется фоновое задание для получения указанного процесса по имени.

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

Start-Job использует параметр «Имя» , чтобы указать понятное имя задания PShellJob. Параметр scriptBlock указывает Get-Process для получения процессов с именем powershell.

Пример 7. Сбор и сохранение данных с помощью фонового задания

В этом примере запускается задание, которое собирает большой объем данных карты, а затем сохраняет его в файле .tif.

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

Start-Job использует параметр , связанный с именем, для указания понятного имени задания GetMappingFiles. Параметр InitializationScript запускает блок скрипта, который импортирует модуль MapFunctions. Параметр ScriptBlock выполняет Get-Map и Set-Content сохраняет данные в расположении, указанном параметром пути.

Пример 8. Передача входных данных в фоновое задание

В этом примере используется автоматическая переменная $input для обработки входного объекта. Используйте Receive-Job для просмотра выходных данных задания.

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

Start-Job использует параметр scriptBlock для выполнения Get-Content с помощью автоматической переменной $input. Переменная $input получает объекты из параметра InputObject. Receive-Job использует параметр Name для указания задания и вывода результатов. Параметр Keep сохраняет выходные данные задания, чтобы его можно было просмотреть еще раз во время сеанса PowerShell.

Пример 9. Установление рабочего каталога для фоновой задачи

WorkingDirectory позволяет указать альтернативный каталог для задания, из которого можно запускать скрипты или открывать файлы. В этом примере фоновое задание указывает рабочий каталог, отличный от текущего расположения каталога.

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

Path
----
C:\Test\Scripts

Текущий рабочий каталог этого примера — C:\Test. Start-Job использует параметр WorkingDirectory для указания рабочего каталога задания. Параметр ScriptBlock использует $PWD для отображения рабочего каталога задания. Receive-Job отображает выходные данные фонового задания. AutoRemoveJob удаляет задание и Wait подавляет командную строку до получения всех результатов.

Пример 10. Использование параметра ArgumentList для указания массива

В этом примере используется параметр argumentList для указания массива аргументов. Массив представляет собой разделенный запятыми список имен процессов.

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

Командлет Start-Job использует параметр ScriptBlock для выполнения команды. Get-Process использует параметр с именем, чтобы указать автоматическую переменную $args. Параметр ArgumentList передает массив имен процессов $args. На локальном компьютере запущены процессы под именами powershell, pwsh и блокнот.

Чтобы просмотреть выходные данные задания, используйте командлет Receive-Job. Например: Receive-Job -Id 1.

Пример 11. Выполнение задания в Windows PowerShell 5.1

В этом примере используется параметр PSVersion со значением 5.1 для выполнения задания в сеансе Windows PowerShell 5.1.

$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

Параметры

-ArgumentList

Задает массив аргументов или значений параметров для скрипта, указанного параметром FilePath или командой, указанной параметром ScriptBlock.

Аргументы должны передаваться в ArgumentList в качестве аргумента одномерного массива. Например, разделенный запятыми список. Дополнительные сведения о поведении ArgumentListсм. в about_Splatting.

Свойства параметра

Тип:

Object[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Аргументы

Наборы параметров

ComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
FilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Authentication

Указывает механизм, используемый для проверки подлинности учетных данных пользователя.

Допустимые значения для этого параметра приведены следующим образом:

  • По умолчанию
  • Базовый
  • Credssp
  • дайджест
  • Kerberos
  • Вести переговоры
  • NegotiateWithImplicitCredential

Значение по умолчанию — Default.

Проверка подлинности CredSSP доступна только в Windows Vista, Windows Server 2008 и более поздних версиях операционной системы Windows.

Дополнительные сведения о значениях этого параметра см. в разделе AuthenticationMechanism.

Осторожность

Проверка подлинности поставщика поддержки безопасности учетных данных (CredSSP), при которой учетные данные пользователя передаются на удалённый компьютер для прохождения проверки подлинности, предназначена для команд, требующих аутентификации на нескольких источниках, таких как доступ к удалённому сетевому ресурсу. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, можно использовать для управления сетевым сеансом.

Свойства параметра

Тип:AuthenticationMechanism
Default value:Default
Допустимые значения:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
FilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Credential

Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. Если параметр учетных данных не указан, команда использует учетные данные текущего пользователя.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный командлетом Get-Credential. Если ввести имя пользователя, вам будет предложено ввести пароль.

Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.

Замечание

Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно SecureString?.

Свойства параметра

Тип:PSCredential
Default value:Current user
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
FilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DefinitionName

Указывает имя определения задания, запускаемого этим командлетом. Используйте этот параметр для запуска пользовательских типов заданий с определённым названием, например, запланированные задания.

При использовании Start-Job для запуска экземпляра запланированного задания задание запускается немедленно независимо от триггеров или параметров задания. Результирующий экземпляр задания — это запланированное задание, но оно не сохраняется на диске, как запущенные запланированные задания. Невозможно использовать параметр ArgumentListStart-Job для предоставления значений параметров скриптов, выполняемых в запланированном задании.

Этот параметр появился в PowerShell 3.0.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

DefinitionName
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DefinitionPath

Указывает путь определения для задания, запускаемого этим командлетом. Введите путь определения. Объединение значений параметров DefinitionPath и DefinitionName представляет собой полностью определенный путь определения задания. Используйте этот параметр для запуска пользовательских типов заданий, имеющих путь определения, например запланированные задания.

Для запланированных заданий значение параметра DefinitionPath равно $HOME\AppData\Local\Windows\PowerShell\ScheduledJob.

Этот параметр появился в PowerShell 3.0.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

DefinitionName
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FilePath

Указывает локальный скрипт, который выполняется Start-Job в качестве фонового задания. Введите путь и имя файла скрипта или используйте конвейер для отправки пути скрипта в Start-Job. Скрипт должен находиться на локальном компьютере или в папке, к которым может получить доступ локальный компьютер.

При использовании этого параметра PowerShell преобразует содержимое указанного файла скрипта в блок скрипта и запускает блок скрипта в качестве фонового задания.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

FilePathComputerName
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InitializationScript

Задает команды, которые выполняются перед началом задания. Чтобы создать блок скрипта, заключите команды в фигурные скобки ({}).

Используйте этот параметр для подготовки сеанса, в котором выполняется задание. Например, его можно использовать для добавления функций, надстроек и модулей в сеанс.

Свойства параметра

Тип:ScriptBlock
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ComputerName
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
FilePathComputerName
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

Задает входные данные для команды. Введите переменную, содержащую объекты, или введите команду или выражение, создающее объекты.

В значении параметра ScriptBlock используйте автоматическую переменную $input для представления входных объектов.

Свойства параметра

Тип:PSObject
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ComputerName
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
FilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-LiteralPath

Указывает локальный скрипт, который этот командлет выполняет в качестве фонового задания. Введите путь к скрипту на локальном компьютере.

Start-Job использует значение параметра LiteralPath точно в том виде, в каком оно введено. Ни один символ не интерпретируется как подстановочный знак. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PSPath, LP

Наборы параметров

LiteralFilePathComputerName
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Name

Устанавливает понятное имя для новой работы. Вы можете использовать имя задания, чтобы идентифицировать его для других командлетов заданий, таких как командлет Stop-Job.

Удобочитаемое имя по умолчанию — Job#, где # — порядковый номер, который увеличивается для каждого задания.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
FilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-PSVersion

Указывает версию PowerShell, используемую для выполнения задания. Когда значение PSVersion равно 5.1, задание выполняется в сеансе Windows PowerShell 5.1. Для любого другого значения задание выполняется с помощью текущей версии PowerShell.

Этот параметр добавлен в PowerShell 7 и работает только в Windows.

Свойства параметра

Тип:Version
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
FilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RunAs32

Начиная с PowerShell 7 параметр RunAs32 не работает на 64-разрядной версии PowerShell (pwsh). Если RunAs32 указан в 64-разрядной версии PowerShell, Start-Job вызывает ошибку конца исключения. Чтобы запустить 32-разрядный процесс PowerShell (pwsh) с RunAs32, необходимо установить 32-разрядную версию PowerShell.

В 32-разрядной версии PowerShell RunAs32 заставляет задание выполняться в 32-разрядном процессе даже в 64-разрядной операционной системе.

В 64-разрядных версиях Windows 7 и Windows Server 2008 R2, если команда Start-Job включает параметр RunAs32, параметр учетных данных нельзя использовать для указания учетных данных другого пользователя.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
FilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
LiteralFilePathComputerName
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ScriptBlock

Указывает команды, выполняемые в фоновом задании. Чтобы создать блок скрипта, заключите команды в фигурные скобки ({}). Используйте $input автоматическую переменную для доступа к значению параметра InputObject. Этот параметр является обязательным.

Свойства параметра

Тип:ScriptBlock
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:командование

Наборы параметров

ComputerName
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Type

Указывает настраиваемый тип заданий, запущенных Start-Job. Введите имя пользовательского типа задания, например PSScheduledJob для запланированных заданий или PSWorkflowJob для заданий рабочих процессов. Этот параметр недействителен для стандартных фоновых заданий.

Этот параметр появился в PowerShell 3.0.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

DefinitionName
Position:2
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WorkingDirectory

Указывает исходный рабочий каталог фонового задания. Если параметр не указан, задание выполняется из расположения по умолчанию. Расположение по умолчанию — текущий рабочий каталог вызывающего, который запустил задание.

Этот параметр появился в PowerShell 7.

Свойства параметра

Тип:String
Default value:$HOME on Unix (macOS, Linux) and $HOME\Documents on Windows
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

String

Объект можно передать в параметр Name этого командлета с помощью свойства Name. Например, можно перенаправить объект FileInfo из Get-ChildItem.

Выходные данные

System.Management.Automation.PSRemotingJob

Этот командлет возвращает объект PSRemotingJob, представляющий запущенное задание.

Примечания

PowerShell включает следующие псевдонимы для Start-Job:

  • Все платформы:
    • sajb

Для выполнения в фоновом режиме Start-Job запускается в собственном сеансе в рамках текущего сеанса. При использовании командлета Invoke-Command для выполнения команды Start-Job в сеансе на удаленном компьютере Start-Job выполняется в удаленном сеансе.