Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Deskripsi singkat
Menjelaskan cara menjalankan perintah jarak jauh di PowerShell.
Deskripsi panjang
Anda dapat menjalankan perintah jarak jauh di satu komputer atau di beberapa komputer dengan menggunakan koneksi sementara atau persisten. Anda juga dapat memulai sesi interaktif dengan satu komputer jarak jauh.
Topik ini memberikan serangkaian contoh untuk menunjukkan kepada Anda cara menjalankan berbagai jenis perintah jarak jauh. Setelah Anda mencoba perintah dasar ini, baca topik Bantuan yang menjelaskan setiap cmdlet yang digunakan dalam perintah ini. Topik memberikan detail dan menjelaskan bagaimana Anda dapat memodifikasi perintah untuk memenuhi kebutuhan Anda.
Catatan: Untuk menggunakan jarak jauh PowerShell, komputer lokal dan jarak jauh harus dikonfigurasi untuk jarak jauh. Untuk informasi lebih lanjut, lihat about_Remote_Requirements.
CARA MEMULAI SESI INTERAKTIF (ENTER-PSSESSION)
Cara term mudah untuk menjalankan perintah jarak jauh adalah dengan memulai sesi interaktif dengan komputer jarak jauh.
Saat sesi dimulai, perintah yang Anda ketik berjalan di komputer jarak jauh, seolah-olah Anda mengetiknya langsung di komputer jarak jauh. Anda hanya dapat tersambung ke satu komputer di setiap sesi interaktif.
Untuk memulai sesi interaktif, gunakan cmdlet Enter-PSSession. Perintah berikut memulai sesi interaktif dengan komputer Server01:
Enter-PSSession Server01
Prompt perintah berubah untuk menunjukkan bahwa Anda terhubung ke komputer Server01.
Server01\PS>
Sekarang, Anda dapat mengetik perintah di komputer Server01.
Untuk mengakhiri sesi interaktif, ketik:
Exit-PSSession
Untuk informasi selengkapnya, lihat Enter-PSSession.
CARA MENGGUNAKAN CMDLET YANG MEMILIKI PARAMETER COMPUTERNAME UNTUK MENDAPATKAN DATA JARAK JAUH
Beberapa cmdlet memiliki parameter ComputerName yang memungkinkan Anda mendapatkan objek dari komputer jarak jauh.
Karena cmdlet ini tidak menggunakan jarak jauh PowerShell berbasis WS-Management, Anda dapat menggunakan parameter ComputerName dari cmdlet ini di komputer mana pun yang menjalankan PowerShell. Komputer tidak harus dikonfigurasi untuk jarak jauh PowerShell, dan komputer tidak harus memenuhi persyaratan sistem untuk jarak jauh.
Cmdlet berikut memiliki parameter ComputerName:
Clear-EventLog Limit-EventLog
Get-Counter New-EventLog
Get-EventLog Remove-EventLog
Get-HotFix Restart-Computer
Get-Process Show-EventLog
Get-Service Stop-Computer
Get-WinEvent Test-Connection
Get-WmiObject Write-EventLog
Misalnya, perintah berikut mendapatkan layanan di komputer jarak jauh Server01:
Get-Service -ComputerName Server01
Biasanya, cmdlet yang mendukung jarak jauh tanpa konfigurasi khusus memiliki parameter ComputerName dan tidak memiliki parameter Sesi . Untuk menemukan cmdlet ini dalam sesi Anda, ketik:
Get-Command | Where-Object {
$_.Parameters.Keys -contains 'ComputerName' -and
$_.Parameters.Keys -notcontains 'Session'
}
CARA MENJALANKAN PERINTAH JARAK JAUH
Untuk menjalankan perintah lain di komputer jarak jauh, gunakan cmdlet Invoke-Command.
Untuk menjalankan satu perintah atau beberapa perintah yang tidak terkait, gunakan parameter ComputerName dari Invoke-Command untuk menentukan komputer jarak jauh. Gunakan parameter ScriptBlock untuk menentukan perintah.
Misalnya, perintah berikut menjalankan perintah Get-Culture pada komputer Server01.
Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Culture}
Parameter ComputerName dirancang untuk situasi di mana Anda menjalankan satu perintah atau beberapa perintah yang tidak terkait pada satu atau beberapa komputer. Untuk membuat koneksi persisten ke komputer jarak jauh, gunakan parameter Sesi.
CARA MEMBUAT KONEKSI PERSISTEN (PSSESSION)
Saat Anda menggunakan parameter ComputerName dari cmdlet Invoke-Command, Windows PowerShell membuat koneksi hanya untuk perintah. Kemudian, ia menutup koneksi saat perintah selesai. Setiap variabel atau fungsi yang ditentukan dalam perintah hilang.
Untuk membuat koneksi persisten ke komputer jarak jauh, gunakan cmdlet New-PSSession. Misalnya, perintah berikut membuat PSSessions pada komputer Server01 dan Server02 dan kemudian menyimpan PSSessions dalam variabel $s.
$s = New-PSSession -ComputerName Server01, Server02
CARA MENJALANKAN PERINTAH DI PSSESSION
Dengan PSSession, Anda dapat menjalankan serangkaian perintah jarak jauh yang berbagi data, seperti fungsi, alias, dan nilai variabel. Untuk menjalankan perintah di PSSession, gunakan parameter Sesi dari cmdlet Invoke-Command.
Misalnya, perintah berikut menggunakan cmdlet Invoke-Command untuk menjalankan perintah Get-Process di PSSessions pada komputer Server01 dan Server02. Perintah menyimpan proses dalam variabel $p di setiap PSSession.
Invoke-Command -Session $s -ScriptBlock {$p = Get-Process}
Karena PSSession menggunakan koneksi persisten, Anda dapat menjalankan perintah lain di PSSession yang sama yang menggunakan variabel $p. Perintah berikut menghitung jumlah proses yang disimpan dalam $p.
Invoke-Command -Session $s -ScriptBlock {$p.count}
CARA MENJALANKAN PERINTAH JARAK JAUH DI BEBERAPA KOMPUTER
Untuk menjalankan perintah jarak jauh di beberapa komputer, ketik semua nama komputer dalam nilai parameter ComputerName dari Invoke-Command. Pisahkan nama dengan koma.
Misalnya, perintah berikut menjalankan perintah Get-Culture di tiga komputer:
Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture}
Anda juga dapat menjalankan perintah di beberapa PSSessions. Perintah berikut membuat PSSessions pada komputer Server01, Server02, dan Server03 dan kemudian menjalankan perintah Get-Culture di masing-masing PSSessions.
$s = New-PSSession -ComputerName S1, S2, S3
Invoke-Command -Session $s -ScriptBlock {Get-Culture}
Untuk menyertakan daftar komputer lokal, ketik nama komputer lokal, ketik titik (.), atau ketik "localhost".
Invoke-Command -ComputerName S1, S2, S3, localhost -ScriptBlock {Get-Culture}
CARA MENJALANKAN SKRIP DI KOMPUTER JARAK JAUH
Untuk menjalankan skrip lokal di komputer jarak jauh, gunakan parameter FilePath dari Invoke-Command.
Misalnya, perintah berikut menjalankan skrip Sample.ps1 pada komputer S1 dan S2:
Invoke-Command -ComputerName S1, S2 -FilePath C:\Test\Sample.ps1
Hasil skrip dikembalikan ke komputer lokal. Anda tidak perlu menyalin file apa pun.
CARA MENGHENTIKAN PERINTAH JARAK JAUH
Untuk menghentikan perintah, tekan CTRL+C. Permintaan interupsi diteruskan ke komputer jarak jauh di mana ia mengakhiri perintah jarak jauh.
UNTUK INFORMASI LEBIH LANJUT
Untuk informasi tentang persyaratan sistem untuk jarak jauh, lihat about_Remote_Requirements.
Untuk bantuan dalam memformat output jarak jauh, lihat about_Remote_Output.
Untuk informasi tentang cara kerja jarak jauh, cara mengelola data jarak jauh, konfigurasi khusus, masalah keamanan, dan pertanyaan umum lainnya, lihat tanya jawab umum PowerShell Remoting.
Untuk bantuan dalam mengatasi kesalahan jarak jauh, lihat about_Remote_Troubleshooting.
Untuk informasi tentang PSSessions dan koneksi persisten, lihat about_PSSessions.
Untuk informasi tentang pekerjaan latar belakang PowerShell, lihat about_Jobs.
KATA KUNCI
about_Remoting