about_Remote

Deskripsi singkat

Menjelaskan cara menjalankan perintah jarak jauh di PowerShell.

Deskripsi panjang

Anda dapat menjalankan perintah jarak jauh pada 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 menyediakan 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 ini memberikan detail dan menjelaskan bagaimana Anda dapat memodifikasi perintah untuk memenuhi kebutuhan Anda.

Catatan: Untuk menggunakan powerShell jarak jauh, komputer lokal dan jarak jauh harus dikonfigurasi untuk jarak jauh. Untuk informasi selengkapnya, lihat about_Remote_Requirements.

CARA MEMULAI SESI INTERAKTIF (ENTER-PSSESSION)

Cara termampu untuk menjalankan perintah jarak jauh adalah dengan memulai sesi interaktif dengan komputer jarak jauh.

Ketika sesi dimulai, perintah yang Anda ketik berjalan di komputer jarak jauh, sama seperti 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

Perintah berubah untuk menunjukkan bahwa Anda tersambung 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 akses jauh PowerShell berbasis WS-Management, Anda dapat menggunakan parameter ComputerName dari cmdlet ini di komputer apa pun yang menjalankan PowerShell. Komputer tidak harus dikonfigurasi untuk remoting 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 remoting tanpa konfigurasi khusus memiliki parameter ComputerName dan tidak memiliki parameter Sesi . Untuk menemukan cmdlet ini di 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 pada komputer jarak jauh, gunakan cmdlet Invoke-Command.

Untuk menjalankan satu perintah atau beberapa perintah yang tidak terkait, gunakan parameter ComputerName Invoke-Command untuk menentukan komputer jarak jauh. Gunakan parameter ScriptBlock untuk menentukan perintah .

Misalnya, perintah berikut menjalankan perintah Get-Culture di 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 banyak 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 ketika perintah selesai. Variabel atau fungsi apa pun yang didefinisikan dalam perintah hilang.

Untuk membuat koneksi persisten ke komputer jarak jauh, gunakan cmdlet New-PSSession. Misalnya, perintah berikut membuat PSSessions di komputer Server01 dan Server02 lalu menyimpan PSSessions dalam variabel $s.

$s = New-PSSession -ComputerName Server01, Server02

CARA MENJALANKAN PERINTAH DALAM PSSESSION

Dengan PSSession, Anda dapat menjalankan serangkaian perintah jarak jauh yang berbagi data, seperti fungsi, alias, dan nilai variabel. Untuk menjalankan perintah dalam PSSession, gunakan parameter Sesi 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 dalam 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 pada beberapa komputer, ketik semua nama komputer dalam nilai parameter ComputerName dari Invoke-Command. Pisahkan nama dengan koma.

Misalnya, perintah berikut menjalankan perintah Get-Culture pada tiga komputer:

Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture}

Anda juga dapat menjalankan perintah di beberapa PSSessions. Perintah berikut membuat PSSessions di komputer Server01, Server02, dan Server03 lalu menjalankan perintah Get-Culture di setiap PSSessions.

$s = New-PSSession -ComputerName S1, S2, S3
Invoke-Command -Session $s -ScriptBlock {Get-Culture}

Untuk menyertakan daftar komputer lokal komputer, 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 di 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 mengganggu perintah, tekan CTRL+C. Permintaan interupsi diteruskan ke komputer jarak jauh di mana ia mengakhiri perintah jarak jauh.

UNTUK INFORMASI SELENGKAPNYA

KATA KUNCI

about_Remoting

Lihat juga