PowerShell adalah konsol perintah tangguh yang disertakan dengan Windows versi modern. Salah satu fitur yang paling berguna adalah kemampuan untuk menjalankan perintah di server jauh. Ini dapat bermanfaat bagi administrator sistem yang mengelola beberapa server Windows.
Langkah 1: Mengizinkan akses jarak jauh
Pertama, kita perlu mengizinkan akses jarak jauh. Di server yang ingin Anda akses dari jarak jauh, buka PowerShell dengan hak administratif (jadi klik kanan PowerShell dan klik "Run as administrator"). Jalankan perintah berikut:
Enable-PSRemoting -Force
Ini memulai layanan WinRM, memastikan itu mulai secara otomatis, dan mengkonfigurasi firewall Anda sehingga memungkinkan koneksi masuk.
Di komputer (yang ingin Anda hubungkan), jalankan perintah berikut dengan hak administratif:
Enable-PSRemoting -Force
Kita perlu memastikan kedua komputer saling percaya. Untuk melakukan ini, kita perlu mengkonfigurasi pengaturan "TrustedHosts". Jika Anda ingin mengizinkan koneksi ke komputer / server Anda dari semua komputer, jalankan:
Set-Item wsman:\localhost\client\trustedhosts *
Jika Anda ingin membatasi ini untuk komputer tertentu, maka gunakan perintah berikut. Ganti daftar yang dipisahkan koma dari 0.0.0.0, 1.1.1.1, 2.2.2.2 dan 3.3.3.3 dengan alamat IP yang akan mendapatkan akses.
Set-Item wsman:\localhost\client\trustedhosts 0.0.0.0,1.1.1.1,2.2.2.2,3.3.3.3
Sekarang mulai ulang WinRM:
Restart-Service WinRM
Langkah 2: Uji koneksi
Untuk menguji koneksi, buka komputer yang ingin Anda sambungkan, dan jalankan:
Test-WsMan ipaddress
Ganti ipaddressdengan alamat IP komputer / server lain.
Langkah 3: Membuka port
Perintah pertama yang kami jalankan ( Enable-PSRemoting -Force) akan secara otomatis mengkonfigurasi firewall sehingga menerima koneksi masuk untuk akses jarak jauh. Namun, jika ada sesuatu di depan firewall (seperti router Anda), Anda mungkin harus mengatur port forwarding juga. Port yang digunakan adalah:
- 5985 untuk HTTP
- 5986 untuk HTTPS
Langkah 4: Menjalankan perintah
Berikut ini digunakan untuk menjalankan perintah pada server jauh:
Invoke-Command -ComputerName ipaddress -ScriptBlock { command } -credential username
Ganti ipaddressdengan alamat IP server, commanddengan perintah yang ingin Anda jalankan di server itu, dan usernamedengan nama pengguna pengguna yang akan menjalankan perintah.
Jika Anda tidak ingin menggunakan Invoke-Commanduntuk setiap perintah, Anda dapat memulai sesi sebagai gantinya. Setiap perintah yang Anda ketikkan akan dijalankan pada server jauh dengan kredensial yang ditentukan. Sintaks untuk memulai sesi adalah sebagai berikut:
Enter-PSSession -ComputerName ipaddress -Credential username
Ganti ipaddressdengan alamat IP server dan usernamedengan pengguna yang akan menjalankan perintah. Setiap perintah yang Anda ketikkan akan dieksekusi di server jauh.