Udostępnij za pośrednictwem


Start-Job

Uruchamia zadanie w tle programu PowerShell.

Składnia

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

Opis

Polecenie cmdlet Start-Job uruchamia zadanie w tle programu PowerShell na komputerze lokalnym.

Zadanie w tle programu PowerShell uruchamia polecenie bez interakcji z bieżącą sesją. Po uruchomieniu zadania w tle obiekt zadania jest zwracany natychmiast, nawet jeśli zadanie zajmuje dłuższy czas. Możesz kontynuować pracę w sesji bez przerwy, podczas gdy zadanie jest wykonywane.

Obiekt zadania zawiera przydatne informacje o zadaniu, ale nie zawiera wyników zadania. Po zakończeniu zadania użyj polecenia cmdlet Receive-Job, aby uzyskać wyniki zadania. Aby uzyskać więcej informacji na temat zadań w tle, zobacz about_Jobs.

Aby uruchomić zadanie w tle na komputerze zdalnym, użyj parametru AsJob dostępnego w wielu poleceniach cmdlet lub użyj polecenia cmdlet Invoke-Command, aby uruchomić polecenie Start-Job na komputerze zdalnym. Aby uzyskać więcej informacji, zobacz about_Remote_Jobs.

Począwszy od programu PowerShell 3.0, Start-Job może uruchamiać wystąpienia niestandardowych typów zadań, takich jak zaplanowane zadania. Aby uzyskać informacje o sposobie uruchamiania zadań z typami niestandardowymi za pomocą Start-Job, odnieś się do dokumentacji pomocy dotyczącej funkcji typu zadania.

Począwszy od programu PowerShell 6.0, można uruchamiać zadania przy użyciu operatora tła ampersand (&). Funkcja operatora w tle jest podobna do Start-Job. Obie metody uruchamiania zadania tworzą obiekt zadania PSRemotingJob. Aby uzyskać więcej informacji na temat korzystania z ampersand (&), zobacz about_Operators.

Program PowerShell 7 wprowadził parametr WorkingDirectory, określający katalog roboczy początkowy zadania w tle. Jeśli parametr nie zostanie określony, Start-Job domyślnie wskazuje na bieżący katalog roboczy obiektu wywołującego, który uruchomił zadanie.

Notatka

Tworzenie zadania w tle poza procesem z Start-Job nie jest obsługiwane w scenariuszu, w którym program PowerShell jest hostowany w innych aplikacjach, takich jak program PowerShell Azure Functions.

Jest to celowe, ponieważ Start-Job zależy od pwsh pliku wykonywalnego, który ma być dostępny w $PSHOME, aby uruchomić zadanie w tle poza procesem, ale gdy aplikacja hostuje program PowerShell, jest ona bezpośrednio używana przy użyciu pakietów zestawu SDK NuGet programu PowerShell i nie będzie pwsh dostarczana razem.

Zamiennik w tym scenariuszu to Start-ThreadJob z modułu ThreadJob.

Przykłady

Przykład 1. Uruchamianie zadania w tle

W tym przykładzie uruchamia się zadanie w tle uruchamiane na komputerze lokalnym.

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 używa parametru ScriptBlock do uruchamiania Get-Process jako zadania w tle. Parametr Nazwa służy do znalezienia procesów programu PowerShell pwsh. Informacje o zadaniu zostaną wyświetlone, a program PowerShell powróci do monitu, podczas gdy zadanie będzie działać w tle.

Aby wyświetlić dane wyjściowe zadania, użyj polecenia cmdlet Receive-Job. Na przykład Receive-Job -Id 1.

Przykład 2. Uruchamianie zadania w tle przy użyciu operatora w tle

W tym przykładzie użyto operatora ampersand (&) do rozpoczęcia zadania w tle na komputerze lokalnym. Zadanie osiąga ten sam wynik co Start-Job w Przykładzie 1.

Get-Process -Name pwsh &

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

Get-Process używa parametru Name do określania procesów programu PowerShell, pwsh. Ampersand (&) uruchamia polecenie jako zadanie w tle. Zostaną wyświetlone informacje o zadaniu, a program PowerShell powróci do monitu, gdy zadanie jest wykonywane w tle.

Aby wyświetlić dane wyjściowe zadania, użyj polecenia cmdlet Receive-Job. Na przykład Receive-Job -Id 5.

Przykład 3. Uruchamianie zadania przy użyciu Invoke-Command

W tym przykładzie uruchomiono zadanie na wielu komputerach. Zadanie jest przechowywane w zmiennej i jest wykonywane przy użyciu nazwy zmiennej w wierszu polecenia programu PowerShell.

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

Zadanie korzystające z Invoke-Command jest tworzone i przechowywane w zmiennej $jobWRM. Invoke-Command używa parametru ComputerName w celu określenia komputerów, na których jest uruchamiane zadanie. Get-Content pobiera nazwy serwerów z pliku C:\Servers.txt.

Parametr ScriptBlock określa polecenie, które Get-Service uzyskuje usługę WinRM. Parametr JobName określa przyjazną nazwę zadania, Usługi WinRM. Parametr ThrottleLimit ogranicza liczbę współbieżnych poleceń do 16. Parametr AsJob uruchamia zadanie w tle, które uruchamia polecenie na serwerach.

Przykład 4. Pobieranie informacji o zadaniu

Ten przykład pobiera informacje o zadaniu i wyświetla wyniki ukończonego zadania uruchomionego na komputerze lokalnym.

$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 używa parametru ScriptBlock, aby uruchomić polecenie określające Get-WinEvent w celu pobrania dziennika systemu. Parametr Credential określa konto użytkownika domeny z uprawnieniami do uruchamiania zadania na komputerze. Obiekt zadania jest przechowywany w zmiennej $j.

Obiekt w zmiennej $j jest wysyłany w dół potoku do Select-Object. Parametr właściwości określa gwiazdkę (*), aby wyświetlić wszystkie właściwości obiektu zadania.

Przykład 5. Uruchamianie skryptu jako zadania w tle

W tym przykładzie skrypt na komputerze lokalnym jest uruchamiany jako zadanie w tle.

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

Start-Job używa parametru FilePath w celu określenia pliku skryptu przechowywanego na komputerze lokalnym.

Przykład 6. Pobieranie procesu przy użyciu zadania w tle

W tym przykładzie użyto zadania w tle, aby uzyskać określony proces według nazwy.

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

Start-Job używa parametru nazwa, aby określić przyjazną nazwę zadania PShellJob. Parametr ScriptBlock określa Get-Process, aby pobrać procesy o nazwie PowerShell.

Przykład 7. Zbieranie i zapisywanie danych przy użyciu zadania w tle

W tym przykładzie uruchamia się zadanie, które zbiera dużą ilość danych mapy, a następnie zapisuje je w pliku .tif.

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

Start-Job używa parametru nazwa , aby określić przyjazną nazwę zadania, GetMappingFiles. Parametr InitializationScript uruchamia blok skryptu, który importuje moduł MapFunctions. Parametr ScriptBlock uruchamia Get-Map i Set-Content zapisuje dane w lokalizacji określonej przez parametr Path.

Przykład 8. Przekazywanie danych wejściowych do zadania w tle

W tym przykładzie użyto $input automatycznej zmiennej do przetwarzania obiektu wejściowego. Użyj Receive-Job, aby wyświetlić dane wyjściowe zadania.

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

Server01
Server02
Server03
Server04

Start-Job używa parametru ScriptBlock do uruchamiania Get-Content z zmienną automatyczną $input. Zmienna $input pobiera obiekty z parametru InputObject. Receive-Job używa parametru Name w celu określenia zadania i wyprowadzania wyników. Parametr Keep zapisuje dane wyjściowe zadania, aby można je było wyświetlić ponownie podczas sesji programu PowerShell.

Przykład 9. Ustawianie katalogu roboczego dla zadania w tle

WorkingDirectory umożliwia określenie alternatywnego katalogu dla zadania, z którego można uruchamiać skrypty lub otwierać pliki. W tym przykładzie zadanie w tle określa katalog roboczy inny niż bieżąca lokalizacja katalogu.

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

Path
----
C:\Test\Scripts

Bieżący katalog roboczy dla tego przykładu to C:\Test. Start-Job używa parametru WorkingDirectory w celu określenia katalogu roboczego zadania. Parametr ScriptBlock używa $PWD w celu wyświetlenia katalogu roboczego zadania. Receive-Job wyświetla wyniki zadania w tle. AutoRemoveJob usuwa zadanie i Wait pomija wiersz polecenia do momentu odebrania wszystkich wyników.

Przykład 10: użyj parametru ArgumentList, aby określić tablicę

W tym przykładzie użyto parametru ArgumentList w celu określenia tablicy argumentów. Tablica jest rozdzielaną przecinkami listą nazw procesów.

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

Polecenie cmdlet Start-Job używa parametru ScriptBlock do uruchomienia polecenia. Get-Process używa parametru nazwa, aby określić zmienną automatyczną $args. Parametr ArgumentList przekazuje tablicę nazw procesów do $args. Nazwy procesów PowerShell, pwsh i Notatnik to procesy działające na komputerze lokalnym.

Aby wyświetlić dane wyjściowe zadania, użyj polecenia cmdlet Receive-Job. Na przykład Receive-Job -Id 1.

Przykład 11: Uruchamianie zadania w programie Windows PowerShell 5.1

W tym przykładzie użyto parametru PSVersion z wartością 5.1 do uruchomienia zadania w sesji programu 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

Parametry

-ArgumentList

Określa tablicę argumentów lub wartości parametrów dla skryptu określonego przez parametr FilePath lub polecenie określone za pomocą parametru ScriptBlock.

Argumenty muszą być przekazywane do ArgumentList jako argument tablicy jednowymiarowej. Na przykład lista rozdzielona przecinkami. Aby uzyskać więcej informacji na temat zachowania ArgumentList, zobacz about_Splatting.

Typ:Object[]
Aliasy:Args
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Authentication

Określa mechanizm używany do uwierzytelniania poświadczeń użytkownika.

Dopuszczalne wartości tego parametru są następujące:

  • Domyślny
  • Podstawowy
  • Credssp
  • Streszczenie
  • Kerberos
  • Negocjować
  • NegotiateWithImplicitCredential

Domyślna wartość to Default.

Uwierzytelnianie CredSSP jest dostępne tylko w systemach Windows Vista, Windows Server 2008 i nowszych wersjach systemu operacyjnego Windows.

Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationMechanism.

Ostrożność

Uwierzytelnianie za pomocą dostawcy obsługi zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do zdalnego komputera w celu uwierzytelnienia, jest przeznaczone do poleceń wymagających uwierzytelniania na więcej niż jednym zasobie, takich jak dostęp do zdalnego udziału sieciowego. Ten mechanizm zwiększa ryzyko bezpieczeństwa operacji zdalnej. W przypadku naruszenia zabezpieczeń komputera zdalnego poświadczenia przekazywane do niego mogą służyć do kontrolowania sesji sieciowej.

Typ:AuthenticationMechanism
Dopuszczalne wartości:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Domyślna wartość:Default
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Credential

Określa konto użytkownika, które ma uprawnienia do wykonania tej akcji. Jeśli nie określono parametru Credential, polecenie używa poświadczeń bieżącego użytkownika.

Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez polecenie cmdlet Get-Credential. Jeśli wpiszesz nazwę użytkownika, zostanie wyświetlony monit o wprowadzenie hasła.

Poświadczenia są przechowywane w obiekcie PSCredential, a hasło jest przechowywane jako SecureString.

Notatka

Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.

Typ:PSCredential
Position:Named
Domyślna wartość:Current user
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DefinitionName

Określa nazwę definicji zadania, które uruchamia ten cmdlet. Użyj tego parametru, aby uruchomić niestandardowe typy zadań, które mają nazwę definicji, taką jak zaplanowane zadania.

Gdy używasz Start-Job do uruchamiania wystąpienia zaplanowanego zadania, zadanie jest uruchamiane natychmiast, niezależnie od wyzwalaczy zadań lub opcji zadania. Utworzone wystąpienie zadania jest zaplanowanym zadaniem, ale nie jest zapisywane na dysku jak wyzwalane zaplanowane zadania. Nie można użyć parametru ArgumentListStart-Job, aby podać wartości parametrów skryptów uruchamianych w zaplanowanym zadaniu.

Ten parametr został wprowadzony w programie PowerShell 3.0.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DefinitionPath

Określa ścieżkę definicji zadania, które uruchamia to polecenie cmdlet. Wprowadź ścieżkę definicji. Konkatenacja wartości parametrów DefinitionPath i DefinitionName jest całkowicie zakwalifikowaną ścieżką definicji zadania. Użyj tego parametru, aby uruchomić niestandardowe typy zadań, które mają ścieżkę definicji, taką jak zaplanowane zadania.

W przypadku zaplanowanych zadań wartość parametru DefinitionPath jest $HOME\AppData\Local\Windows\PowerShell\ScheduledJob.

Ten parametr został wprowadzony w programie PowerShell 3.0.

Typ:String
Position:1
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-FilePath

Określa lokalny skrypt, który jest uruchomiony przez Start-Job jako zadanie w tle. Wprowadź ścieżkę i nazwę pliku skryptu lub użyj potoku, aby wysłać ścieżkę skryptu do Start-Job. Skrypt musi znajdować się na komputerze lokalnym lub w folderze, do którego ma dostęp komputer lokalny.

W przypadku użycia tego parametru program PowerShell konwertuje zawartość określonego pliku skryptu na blok skryptu i uruchamia blok skryptu jako zadanie w tle.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InitializationScript

Określa polecenia uruchamiane przed uruchomieniem zadania. Aby utworzyć blok skryptu, należy ująć polecenia w nawiasy klamrowe ({}).

Użyj tego parametru, aby przygotować sesję, w której uruchamiane jest zadanie. Można na przykład użyć jej do dodawania funkcji, przystawek i modułów do sesji.

Typ:ScriptBlock
Position:1
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InputObject

Określa dane wejściowe polecenia . Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które generuje obiekty.

W wartości parametru ScriptBlock użyj zmiennej automatycznej $input do reprezentowania obiektów wejściowych.

Typ:PSObject
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-LiteralPath

Określa lokalny skrypt, który ten cmdlet uruchamia jako zadanie w tle. Wprowadź ścieżkę skryptu na komputerze lokalnym.

Start-Job używa wartości parametru LiteralPath dokładnie tak, jak został wpisany. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy informują PowerShell, aby nie interpretowało żadnych znaków jako sekwencji ucieczki.

Typ:String
Aliasy:PSPath, LP
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Name

Określa przyjazną nazwę nowego zadania. Możesz użyć nazwy, aby zidentyfikować zadanie w odniesieniu do innych poleceń cmdlet dotyczących zadań, takie jak polecenie cmdlet Stop-Job.

Domyślna nazwa przyjazna użytkownikowi to Job#, gdzie # jest liczbą rzędu, która jest zwiększana dla każdego zadania.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-PSVersion

Określa wersję programu PowerShell, która ma być używana do uruchamiania zadania. Gdy wartość PSVersion jest 5.1 Zadanie jest uruchamiane w sesji programu Windows PowerShell 5.1. W przypadku każdej innej wartości zadanie jest uruchamiane przy użyciu bieżącej wersji programu PowerShell.

Ten parametr został dodany w programie PowerShell 7 i działa tylko w systemie Windows.

Typ:Version
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-RunAs32

Począwszy od programu PowerShell 7, parametr RunAs32 nie działa w 64-bitowym programie PowerShell (pwsh). Jeśli w 64-bitowym programie PowerShell określono RunAs32, Start-Job zgłasza błąd kończącego wyjątku. Aby uruchomić 32-bitowy proces programu PowerShell (pwsh) przy użyciu RunAs32, musisz mieć zainstalowany 32-bitowy program PowerShell.

W 32-bitowym programie PowerShell RunAs32 wymusza uruchomienie zadania w 32-bitowym procesie, nawet w 64-bitowym systemie operacyjnym.

W 64-bitowych wersjach systemów Windows 7 i Windows Server 2008 R2, gdy polecenie Start-Job zawiera RunAs32 parametru, nie można użyć parametru Credential w celu określenia poświadczeń innego użytkownika.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ScriptBlock

Określa polecenia, które mają być uruchomione w zadaniu w tle. Aby utworzyć blok skryptu, należy ująć polecenia w nawiasy klamrowe ({}). Użyj zmiennej automatycznej $input, aby uzyskać dostęp do wartości parametru InputObject. Ten parametr jest wymagany.

Typ:ScriptBlock
Aliasy:Command
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Type

Określa typ niestandardowy zadań uruchomionych przez Start-Job. Wprowadź niestandardową nazwę typu zadania, na przykład PSScheduledJob dla zaplanowanych zadań lub zadania PSWorkflowJob dla zadań przepływów pracy. Ten parametr nie jest prawidłowy dla standardowych zadań w tle.

Ten parametr został wprowadzony w programie PowerShell 3.0.

Typ:String
Position:2
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WorkingDirectory

Określa początkowy katalog roboczy zadania w tle. Jeśli parametr nie zostanie określony, zadanie zostanie uruchomione z lokalizacji domyślnej. Domyślną lokalizacją jest bieżący katalog roboczy obiektu wywołującego, który uruchomił zadanie.

Ten parametr został wprowadzony w programie PowerShell 7.

Typ:String
Position:Named
Domyślna wartość:$HOME on Unix (macOS, Linux) and $HOME\Documents on Windows
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

String

Obiekt można przekazać potokiem z właściwością Name do parametru nazwa do tego polecenia cmdlet. Na przykład można potokować obiekt FileInfo z Get-ChildItem.

Dane wyjściowe

System.Management.Automation.PSRemotingJob

To polecenie cmdlet zwraca obiekt PSRemotingJob reprezentujący zadanie, które zostało uruchomione.

Uwagi

Program PowerShell zawiera następujące aliasy dla Start-Job:

  • Wszystkie platformy:
    • sajb

Aby działać w tle, Start-Job uruchamia się we własnej sesji w ramach bieżącej sesji. Jeśli użyjesz polecenia cmdlet Invoke-Command do uruchomienia polecenia Start-Job w sesji na komputerze zdalnym, Start-Job jest uruchamiany w tej sesji zdalnej.