Remoting PowerShell Windows
Remoting Windows PowerShell, yang menggunakan protokol WS-Management, memungkinkan Anda menjalankan perintah Windows PowerShell pada satu atau banyak komputer jarak jauh. Ini memungkinkan Anda membuat koneksi terus-menerus, memulai sesi interaktif 1: 1, dan menjalankan skrip pada banyak komputer. Untuk menggunakan remoting Windows PowerShell, komputer jarak jauh harus dikonfigurasi untuk manajemen jarak jauh. Setelah Anda mengkonfigurasi Windows PowerShell remoting, banyak strategi remoting tersedia untuk Anda. Sisa dari dokumen ini daftar hanya beberapa dari mereka.
Mulai Sesi Interaktif
Untuk memulai sesi interaktif dengan komputer jarak jauh tunggal, gunakan cmdlet Enter-PSSession. Misalnya, untuk memulai sesi interaktif dengan komputer jarak jauh Server01, ketik:
Enter-PSSession Server01
Prompt perintah berubah untuk menampilkan nama komputer yang terhubung dengan Anda. Sejak saat itu, semua perintah yang Anda ketikkan pada prompt dijalankan di komputer jarak jauh dan hasilnya ditampilkan di komputer lokal.
Untuk mengakhiri sesi interaktif, ketik:
Exit-PSSession
Jalankan Perintah Jarak Jauh
Untuk menjalankan perintah apa pun di satu atau banyak komputer jarak jauh, gunakan cmdlet Invoke-Command. Misalnya, untuk menjalankan perintah Get-UICulture pada komputer jarak jauh Server01 dan Server02, ketik:
invoke-command -computername Server01, Server02 {get-UICulture}
Output dikembalikan ke komputer Anda.
LCID Name DisplayName PSComputerName
---- ---- ----------- --------------
1033 en-US English (United States) server01.corp.fabrikam.com
1033 en-US English (United States) server02.corp.fabrikam.com
Jalankan Script
Untuk menjalankan skrip di satu atau banyak komputer jarak jauh, gunakan parameter FilePath pada cmdlet Invoke-Command. Skrip harus aktif atau dapat diakses oleh komputer lokal Anda. Hasilnya dikembalikan ke komputer lokal Anda.
Misalnya, perintah berikut menjalankan skrip DiskCollect.ps1 pada komputer jarak jauh Server01 dan Server02.
invoke-command -computername Server01, Server02 -filepath c:\Scripts\DiskCollect.ps1
Membangun Koneksi Persisten
Untuk menjalankan serangkaian perintah terkait yang berbagi data, buat sesi di komputer jarak jauh dan kemudian gunakan cmdlet Invoke-Command untuk menjalankan perintah di sesi yang Anda buat. Untuk membuat sesi jarak jauh, gunakan cmdlet New-PSSession.
Misalnya, perintah berikut ini membuat sesi jarak jauh di komputer Server01 dan sesi jarak jauh lainnya di komputer Server02. Ini menyimpan objek sesi dalam variabel $ s.
$s = new-pssession -computername Server01, Server02
Sekarang setelah sesi dibuat, Anda dapat menjalankan perintah apa pun di dalamnya. Dan karena sesi ini persisten, Anda dapat mengumpulkan data dalam satu perintah dan menggunakannya dalam perintah berikutnya.
Misalnya, perintah berikut menjalankan perintah Get-Hotfix di sesi dalam variabel $ s dan menyimpan hasilnya dalam variabel $ h. Variabel $ h dibuat di setiap sesi dalam $ s, tetapi itu tidak ada di sesi lokal.
invoke-command -session $s {$h = get-hotfix}
Sekarang Anda dapat menggunakan data dalam variabel $ h dalam perintah berikutnya, seperti yang berikut. Hasilnya ditampilkan di komputer lokal.
invoke-command -session $s {$h | where {$_.installedby -ne "NTAUTHORITY\SYSTEM"} }