Start-Job
Memulai proses latar belakang PowerShell.
Sintaks
ComputerName (Default)
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>]
Deskripsi
cmdlet Start-Job memulai pekerjaan latar belakang PowerShell di komputer lokal.
Pekerjaan latar belakang PowerShell menjalankan perintah tanpa berinteraksi dengan sesi saat ini. Ketika Anda memulai pekerjaan latar belakang, objek pekerjaan segera kembali, meskipun pekerjaan membutuhkan waktu lama untuk diselesaikan. Anda dapat terus bekerja dalam sesi tanpa gangguan saat tugas berjalan.
Objek pekerjaan berisi informasi yang berguna tentang pekerjaan, tetapi tidak berisi hasil pekerjaan.
Setelah pekerjaan selesai, gunakan cmdlet Receive-Job untuk mendapatkan hasil pekerjaan. Untuk informasi selengkapnya tentang pekerjaan latar belakang, lihat about_Jobs.
Untuk menjalankan pekerjaan latar belakang di komputer jarak jauh, gunakan parameter AsJob yang tersedia di banyak cmdlet, atau gunakan cmdlet Invoke-Command untuk menjalankan perintah Start-Job di komputer jarak jauh. Untuk informasi selengkapnya, lihat about_Remote_Jobs.
Mulai PowerShell 3.0, Start-Job dapat memulai instance jenis pekerjaan khusus, seperti pekerjaan terjadwal. Untuk informasi tentang cara menggunakan Start-Job untuk memulai pekerjaan dengan jenis kustom, lihat dokumen bantuan untuk fitur jenis pekerjaan.
Mulai dari PowerShell 6.0, Anda dapat memulai tugas menggunakan operator latar belakang ampersand (&). Fungsionalitas operator latar belakang mirip dengan Start-Job. Kedua metode untuk memulai pekerjaan membuat objek pekerjaan PSRemotingJob. Untuk informasi selengkapnya tentang menggunakan ampersand (&), lihat about_Operators.
PowerShell 7 memperkenalkan parameter WorkingDirectory, yang menentukan direktori kerja awal untuk suatu pekerjaan latar belakang. Jika parameter tidak ditentukan, Start-Job secara default akan ke direktori kerja yang sedang digunakan oleh pemanggil yang memulai tugas.
Nota
Membuat tugas latar belakang terpisah dengan Start-Job tidak didukung dalam skenario saat PowerShell dijalankan di aplikasi lain, seperti PowerShell Azure Functions.
Ini dirancang karena Start-Job bergantung pada eksekusi pwsh yang harus tersedia di bawah $PSHOME untuk memulai pekerjaan latar belakang di luar proses, tetapi ketika sebuah aplikasi menghosting PowerShell, aplikasi tersebut langsung menggunakan paket PowerShell NuGet SDK dan tidak akan menyertakan pwsh.
Pengganti dalam skenario tersebut adalah Start-ThreadJob dari modul ThreadJob.
Contoh
Contoh 1: Memulai pekerjaan latar belakang
Contoh ini memulai pekerjaan latar belakang yang berjalan di komputer lokal.
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 menggunakan parameter ScriptBlock untuk menjalankan Get-Process sebagai pekerjaan latar belakang. Parameter Nama menentukan untuk menemukan proses PowerShell, pwsh. Informasi pekerjaan ditampilkan dan PowerShell kembali ke prompt saat tugas berjalan di latar belakang.
Untuk melihat output pekerjaan, gunakan cmdlet Receive-Job. Contohnya, Receive-Job -Id 1.
Contoh 2: Gunakan operator latar belakang untuk memulai pekerjaan latar belakang
Contoh ini menggunakan operator latar belakang ampersand (&) untuk memulai pekerjaan latar belakang di komputer lokal. Tugas mendapatkan hasil yang sama dengan Start-Job pada Contoh 1.
Get-Process -Name pwsh &
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
5 Job5 BackgroundJob Running True localhost Microsoft.PowerShell.Man...
Get-Process menggunakan parameter Nama untuk menentukan proses PowerShell, pwsh. Ampersand (&) menjalankan perintah sebagai pekerjaan latar belakang. Informasi pekerjaan ditampilkan dan PowerShell kembali ke prompt saat tugas berjalan di latar belakang.
Untuk melihat output pekerjaan, gunakan cmdlet Receive-Job. Contohnya, Receive-Job -Id 5.
Contoh 3: Memulai pekerjaan menggunakan Invoke-Command
Contoh ini menjalankan pekerjaan di beberapa komputer. Pekerjaan disimpan dalam variabel dan dijalankan dengan menggunakan nama variabel pada baris perintah PowerShell.
$jobWRM = Invoke-Command -ComputerName (Get-Content -Path C:\Servers.txt) -ScriptBlock {
Get-Service -Name WinRM } -JobName WinRM -ThrottleLimit 16 -AsJob
Pekerjaan yang menggunakan Invoke-Command dibuat dan disimpan dalam variabel $jobWRM.
Invoke-Command menggunakan parameter ComputerName untuk menentukan komputer tempat pekerjaan berjalan.
Get-Content mendapatkan nama server dari file C:\Servers.txt.
Parameter ScriptBlock menentukan perintah yang Get-Service mendapatkan layanan WinRM. Parameter JobName menentukan nama yang mudah diingat untuk pekerjaan tersebut, WinRM. Parameter ThrottleLimit membatasi jumlah perintah bersamaan menjadi 16. Parameter AsJob memulai pekerjaan latar belakang yang menjalankan perintah di server.
Contoh 4: Mendapatkan informasi pekerjaan
Contoh ini mendapatkan informasi tentang pekerjaan dan menampilkan hasil pekerjaan lengkap yang dijalankan di komputer lokal.
$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 menggunakan parameter ScriptBlock untuk menjalankan perintah yang menentukan Get-WinEvent untuk mendapatkan log Sistem. Parameter Kredensial menentukan akun pengguna domain dengan izin untuk menjalankan pekerjaan di komputer. Objek pekerjaan disimpan dalam variabel $j.
Objek dalam variabel $j dikirimkan melalui alur ke Select-Object. Parameter Properti menentukan tanda bintang (*) untuk menampilkan semua properti objek tugas.
Contoh 5: Menjalankan skrip sebagai pekerjaan latar belakang
Dalam contoh ini, skrip di komputer lokal dijalankan sebagai pekerjaan latar belakang.
Start-Job -FilePath C:\Scripts\Sample.ps1
Start-Job menggunakan parameter FilePath untuk menentukan file skrip yang disimpan di komputer lokal.
Contoh 6: Memperoleh proses menggunakan tugas latar belakang
Contoh ini menggunakan tugas latar belakang untuk mendapatkan proses yang ditentukan berdasarkan nama.
Start-Job -Name PShellJob -ScriptBlock { Get-Process -Name powershell }
Start-Job menggunakan parameter Nama untuk menentukan nama tugas ramah, PShellJob. Parameter ScriptBlock menentukan Get-Process untuk mendapatkan proses dengan nama powershell.
Contoh 7: Mengumpulkan dan menyimpan data dengan menggunakan pekerjaan latar belakang
Contoh ini memulai pekerjaan yang mengumpulkan sejumlah besar data peta lalu menyimpannya dalam file .tif.
Start-Job -Name GetMappingFiles -InitializationScript {Import-Module -Name MapFunctions} -ScriptBlock {
Get-Map -Name * | Set-Content -Path D:\Maps.tif }
Start-Job menggunakan parameter Nama untuk menentukan nama pekerjaan yang ramah, GetMappingFiles. Parameter InitializationScript menjalankan blok skrip yang mengimpor modul MapFunctions. Parameter ScriptBlock berjalan Get-Map dan Set-Content menyimpan data di lokasi yang ditentukan oleh parameter Path.
Contoh 8: Meneruskan input ke pekerjaan latar belakang
Contoh ini menggunakan variabel otomatis $input untuk memproses objek input. Gunakan Receive-Job untuk melihat output pekerjaan.
Start-Job -ScriptBlock { Get-Content -Path $input } -InputObject "C:\Servers.txt"
Receive-Job -Name Job45 -Keep
Server01
Server02
Server03
Server04
Start-Job menggunakan parameter ScriptBlock untuk menjalankan Get-Content dengan variabel otomatis $input. Variabel $input mendapatkan objek dari parameter InputObject.
Receive-Job menggunakan parameter Nama untuk menentukan pekerjaan dan menghasilkan hasilnya. Parameter Keep menyimpan output pekerjaan sehingga dapat dilihat lagi selama sesi PowerShell.
Contoh 9: Mengatur direktori kerja untuk pekerjaan latar belakang
WorkingDirectory memungkinkan Anda menentukan direktori alternatif untuk pekerjaan tempat Anda dapat menjalankan skrip atau membuka file. Dalam contoh ini, pekerjaan latar belakang menentukan direktori kerja yang berbeda dari lokasi direktori saat ini.
PS C:\Test> Start-Job -WorkingDirectory C:\Test\Scripts { $PWD } | Receive-Job -AutoRemoveJob -Wait
Path
----
C:\Test\Scripts
Contoh direktori kerja saat ini adalah C:\Test.
Start-Job menggunakan parameter WorkingDirectory untuk menentukan direktori kerja. Parameter ScriptBlock menggunakan $PWD untuk menampilkan direktori kerja pekerjaan.
Receive-Job menampilkan output pekerjaan latar belakang.
AutoRemoveJob menghapus tugas dan Tunggu menahan prompt perintah hingga semua hasil diterima.
Contoh 10: Gunakan parameter ArgumentList untuk menentukan array
Contoh ini menggunakan parameter ArgumentList untuk menentukan array argumen. Array adalah daftar nama proses yang dipisahkan koma.
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
Cmdlet Start-Job menggunakan parameter ScriptBlock untuk menjalankan perintah.
Get-Process menggunakan parameter Nama untuk menentukan variabel otomatis $args. Parameter ArgumentList meneruskan array nama-nama proses ke $args. Nama proses powershell, pwsh, dan notepad adalah proses yang berjalan di komputer lokal.
Untuk melihat output pekerjaan, gunakan cmdlet Receive-Job. Contohnya, Receive-Job -Id 1.
Contoh 11: Menjalankan pekerjaan di Windows PowerShell 5.1
Contoh ini menggunakan parameter PSVersion dengan nilai 5,1 untuk menjalankan pekerjaan dalam sesi 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
Parameter
-ArgumentList
Menentukan array argumen, atau nilai parameter, untuk skrip yang ditentukan oleh parameter FilePath atau perintah yang ditentukan dengan parameter ScriptBlock.
Argumen harus diteruskan ke ArgumentList sebagai argumen array dimensi tunggal. Misalnya, daftar yang dipisahkan koma. Untuk informasi lebih lanjut tentang perilaku ArgumentList, lihat about_Splatting.
Properti parameter
| Jenis: | Object[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Argumen |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Authentication
Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna.
Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:
- Bawaan
- Dasar
- CREDSSP
- ringkasan
- Kerberos
- Negosiasi
- NegosiasiDenganKredensialImplisit
Nilai defaultnya adalah Default.
Autentikasi CredSSP hanya tersedia di Windows Vista, Windows Server 2008, dan versi sistem operasi Windows yang lebih baru.
Untuk informasi selengkapnya tentang nilai parameter ini, lihat AuthenticationMechanism.
Caution
Autentikasi Penyedia Dukungan Keamanan Kredensial (CredSSP), di mana kredensial pengguna diteruskan ke komputer jarak jauh untuk diautentikasi, dirancang untuk perintah yang memerlukan autentikasi pada lebih dari satu sumber daya, seperti mengakses berbagi jaringan jarak jauh. Mekanisme ini meningkatkan risiko keamanan operasi jarak jauh. Jika komputer jarak jauh disusupi, kredensial yang diteruskan ke komputer jarak jauh dapat digunakan untuk mengontrol sesi jaringan.
Properti parameter
| Jenis: | AuthenticationMechanism |
| Nilai default: | Default |
| Nilai yang diterima: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Jika parameter Kredensial tidak ditentukan, perintah menggunakan kredensial pengguna saat ini.
Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential yang dihasilkan oleh cmdlet Get-Credential. Jika Anda mengetikkan nama pengguna, Anda akan diminta untuk memasukkan kata sandi.
Kredensial disimpan dalam objek PSCredential
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Properti parameter
| Jenis: | PSCredential |
| Nilai default: | Current user |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-DefinitionName
Menentukan nama definisi dari pekerjaan yang akan dimulai oleh cmdlet ini. Gunakan parameter ini untuk memulai jenis pekerjaan kustom yang memiliki nama definisi, seperti pekerjaan terjadwal.
Saat Anda menggunakan Start-Job untuk memulai instans pekerjaan terjadwal, pekerjaan segera dimulai, terlepas dari pemicu pekerjaan atau opsi pekerjaan. Instans pekerjaan yang dihasilkan adalah pekerjaan terjadwal, tetapi tidak disimpan ke disk seperti pekerjaan terjadwal yang dipicu. Anda tidak dapat menggunakan parameter ArgumentListStart-Job untuk menyediakan nilai parameter skrip yang berjalan dalam pekerjaan terjadwal.
Parameter ini diperkenalkan di PowerShell 3.0.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
DefinitionName
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-DefinitionPath
Menentukan jalur definisi untuk tugas yang dimulai oleh cmdlet ini. Masukkan jalur definisi. Perangkaian nilai parameter DefinitionPath dan DefinitionName adalah jalur definisi pekerjaan yang sepenuhnya memenuhi syarat. Gunakan parameter ini untuk memulai jenis pekerjaan kustom yang memiliki jalur definisi, seperti pekerjaan terjadwal.
Untuk pekerjaan terjadwal, nilai parameter DefinitionPath adalah $HOME\AppData\Local\Windows\PowerShell\ScheduledJob.
Parameter ini diperkenalkan di PowerShell 3.0.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
DefinitionName
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-FilePath
Menentukan skrip lokal yang dijalankan Start-Job sebagai pekerjaan latar belakang. Masukkan jalur dan nama file skrip atau gunakan alur untuk mengirim jalur skrip ke Start-Job. Skrip harus berada di komputer lokal atau dalam folder yang dapat diakses komputer lokal.
Saat Anda menggunakan parameter ini, PowerShell mengonversi konten file skrip yang ditentukan ke blok skrip dan menjalankan blok skrip sebagai pekerjaan latar belakang.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
FilePathComputerName
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-InitializationScript
Menentukan perintah yang dijalankan sebelum pekerjaan dimulai. Untuk membuat blok skrip, sertakan perintah dalam kurung kurawal ({}).
Gunakan parameter ini untuk menyiapkan sesi di mana pekerjaan akan dijalankan. Misalnya, Anda dapat menggunakannya untuk menambahkan fungsi, snap-in, dan modul ke sesi.
Properti parameter
| Jenis: | ScriptBlock |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-InputObject
Menentukan input ke perintah . Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang menghasilkan objek.
Dalam nilai parameter ScriptBlock, gunakan variabel otomatis $input untuk mewakili objek input.
Properti parameter
| Jenis: | PSObject |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-LiteralPath
Menentukan skrip lokal yang dijalankan cmdlet ini sebagai pekerjaan latar belakang. Masukkan jalur skrip di komputer lokal.
Start-Job menggunakan nilai parameter LiteralPath persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai karakter pengganti. Jika jalur menyertakan karakter escape, bungkus jalur tersebut dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | PSPath, LP |
Set parameter
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Name
Menentukan nama yang ramah untuk pekerjaan baru. Anda dapat menggunakan nama untuk mengidentifikasi tugas ke cmdlet tugas lainnya, seperti cmdlet Stop-Job.
Nama ramah default adalah Job#, di mana # adalah angka ordinal yang bertahap untuk setiap pekerjaan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-PSVersion
Menentukan versi PowerShell yang akan digunakan untuk menjalankan pekerjaan. Ketika nilai PSVersion adalah 5.1, pekerjaan dijalankan dalam sesi Windows PowerShell 5.1. Untuk nilai lain, pekerjaan dijalankan menggunakan versi PowerShell saat ini.
Parameter ini ditambahkan di PowerShell 7 dan hanya berfungsi di Windows.
Properti parameter
| Jenis: | Version |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-RunAs32
Dimulai dengan PowerShell 7, parameter RunAs32 tidak berfungsi pada PowerShell 64-bit (pwsh).
Jika RunAs32 ditentukan dalam PowerShell 64-bit, Start-Job memunculkan kesalahan pengecualian yang mengakhiri.
Untuk memulai proses PowerShell (pwsh) 32-bit dengan RunAs32, Anda harus menginstal PowerShell 32-bit.
Dalam PowerShell 32-bit, RunAs32 memaksa pekerjaan berjalan dalam proses 32-bit, bahkan pada sistem operasi 64-bit.
Pada versi 64-bit Windows 7 dan Windows Server 2008 R2, ketika perintah Start-Job menyertakan parameter RunAs32, Anda tidak dapat menggunakan parameter Kredensial untuk menentukan kredensial pengguna lain.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
FilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
LiteralFilePathComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ScriptBlock
Menentukan perintah yang akan dijalankan di pekerjaan latar belakang. Untuk membuat blok skrip, sertakan perintah dalam kurung kurawal ({}). Gunakan variabel otomatis $input untuk mengakses nilai parameter InputObject. Parameter ini diperlukan.
Properti parameter
| Jenis: | ScriptBlock |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Perintah |
Set parameter
ComputerName
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Type
Menentukan jenis kustom untuk tugas yang dimulai oleh Start-Job. Masukkan nama jenis pekerjaan kustom, seperti PSScheduledJob untuk pekerjaan terjadwal atau PSWorkflowJob untuk pekerjaan alur kerja. Parameter ini tidak valid untuk pekerjaan latar belakang standar.
Parameter ini diperkenalkan di PowerShell 3.0.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
DefinitionName
| Position: | 2 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-WorkingDirectory
Menentukan direktori kerja awal dari pekerjaan latar belakang. Jika parameter tidak ditentukan, pekerjaan berjalan dari lokasi default. Lokasi bawaan adalah direktori kerja pemanggil yang saat ini memulai tugas.
Parameter ini diperkenalkan di PowerShell 7.
Properti parameter
| Jenis: | String |
| Nilai default: | $HOME on Unix (macOS, Linux) and $HOME\Documents on Windows |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
String
Anda dapat menyalurkan objek dengan properti Nama ke parameter Nama ke cmdlet ini. Misalnya, Anda dapat menyalurkan objek FileInfo dari Get-ChildItem.
Output
System.Management.Automation.PSRemotingJob
Cmdlet ini mengembalikan objek PSRemotingJob yang mewakili pekerjaan yang dimulai.
Catatan
PowerShell menyertakan alias berikut untuk Start-Job:
- Semua platform:
sajb
Untuk berjalan di latar belakang, Start-Job beroperasi dalam sesinya sendiri di sesi saat ini. Saat Anda menggunakan cmdlet Invoke-Command untuk menjalankan perintah Start-Job dalam sesi di komputer jarak jauh, Start-Job berjalan dalam sesi jarak jauh tersebut.