Tentang_Remote

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

Lihat juga