about_Remote_Requirements

Deskripsi singkat

Menjelaskan persyaratan sistem dan persyaratan konfigurasi untuk menjalankan perintah jarak jauh di PowerShell.

Deskripsi panjang

Topik ini menjelaskan persyaratan sistem, persyaratan pengguna, dan persyaratan sumber daya untuk membuat koneksi jarak jauh dan menjalankan perintah jarak jauh di PowerShell. Ini juga menyediakan instruksi untuk mengonfigurasi operasi jarak jauh.

Catatan

Banyak cmdlet (termasuk Get-Servicecmdlet , , Get-ProcessGet-WMIObject, Get-EventLog, dan Get-WinEvent ) mendapatkan objek dari komputer jarak jauh dengan menggunakan metode Microsoft .NET Framework untuk mengambil objek. Mereka tidak menggunakan infrastruktur jarak jauh PowerShell. Persyaratan dalam dokumen ini tidak berlaku untuk cmdlet ini.

Untuk menemukan cmdlet yang memiliki parameter ComputerName tetapi tidak menggunakan powerShell jarak jauh, baca deskripsi parameter ComputerName dari cmdlet.

Persyaratan sistem

Untuk menjalankan sesi jarak jauh pada Windows PowerShell 3.0, komputer lokal dan jarak jauh harus memiliki hal berikut:

  • Windows PowerShell 3.0 atau yang lebih baru
  • Microsoft .NET Framework 4 atau yang lebih baru
  • Windows Remote Management 3.0

Untuk menjalankan sesi jarak jauh pada Windows PowerShell 2.0, komputer lokal dan jarak jauh harus memiliki hal berikut:

  • Windows PowerShell 2.0 atau yang lebih baru
  • Microsoft .NET Framework 2.0 atau yang lebih baru
  • Windows Remote Management 2.0

Anda dapat membuat sesi jarak jauh antara komputer yang berjalan Windows PowerShell 2.0 dan Windows PowerShell 3.0. Namun, fitur yang hanya berjalan pada Windows PowerShell 3.0, seperti kemampuan untuk memutuskan dan menyambungkan kembali ke sesi, hanya tersedia ketika kedua komputer berjalan Windows PowerShell 3.0.

Untuk menemukan nomor versi PowerShell versi yang diinstal, gunakan $PSVersionTable variabel otomatis.

Windows Remote Management (WinRM) 3.0 dan Microsoft .NET Framework 4 disertakan dalam Windows 8, Windows Server 2012, dan rilis sistem operasi Windows yang lebih baru. WinRM 3.0 disertakan dalam Windows Management Framework 3.0 untuk sistem operasi yang lebih lama. Jika komputer tidak memiliki versi WinRM atau Microsoft .NET Framework yang diperlukan, penginstalan gagal.

Izin pengguna

Untuk membuat sesi jarak jauh dan menjalankan perintah jarak jauh, secara default, pengguna saat ini harus menjadi anggota grup Administrator di komputer jarak jauh atau memberikan kredensial administrator. Jika tidak, perintah gagal.

Izin yang diperlukan untuk membuat sesi dan menjalankan perintah pada komputer jarak jauh (atau dalam sesi jarak jauh di komputer lokal) dibuat oleh konfigurasi sesi (juga dikenal sebagai titik akhir) pada komputer jarak jauh tempat sesi tersambung. Secara khusus, deskriptor keamanan pada konfigurasi sesi menentukan siapa yang memiliki akses ke konfigurasi sesi dan siapa yang dapat menggunakannya untuk terhubung.

Deskriptor keamanan pada konfigurasi sesi default, Microsoft.PowerShell, Microsoft.PowerShell32, dan Microsoft.PowerShell.Workflow, hanya mengizinkan akses ke anggota grup Administrator .

Jika pengguna saat ini tidak memiliki izin untuk menggunakan konfigurasi sesi, perintah untuk menjalankan perintah (yang menggunakan sesi sementara) atau membuat sesi persisten di komputer jarak jauh gagal. Pengguna dapat menggunakan parameter ConfigurationName cmdlet yang membuat sesi untuk memilih konfigurasi sesi yang berbeda, jika tersedia.

Anggota grup Administrator di komputer dapat menentukan siapa yang memiliki izin untuk tersambung ke komputer dari jarak jauh dengan mengubah deskriptor keamanan pada konfigurasi sesi default dan dengan membuat konfigurasi sesi baru dengan deskriptor keamanan yang berbeda.

Untuk informasi selengkapnya tentang konfigurasi sesi, lihat about_Session_Configurations.

Lokasi jaringan Windows

Mulai Windows PowerShell 3.0, Enable-PSRemoting cmdlet dapat mengaktifkan jarak jauh pada windows versi klien dan server pada jaringan privat, domain, dan publik.

Pada versi server Windows dengan jaringan privat dan domain, cmdlet Enable-PSRemoting membuat aturan firewall yang memungkinkan akses jarak jauh yang tidak terbatas. Ini juga membuat aturan firewall untuk jaringan publik yang memungkinkan akses jarak jauh hanya dari komputer di subnet lokal yang sama. Aturan firewall subnet lokal ini diaktifkan secara default pada versi server Windows pada jaringan publik, tetapi Enable-PSRemoting menerapkan kembali aturan jika aturan diubah atau dihapus.

Pada versi klien Windows dengan jaringan privat dan domain, secara default, Enable-PSRemoting cmdlet membuat aturan firewall yang memungkinkan akses jarak jauh yang tidak terbatas.

Untuk mengaktifkan jarak jauh pada versi klien Windows dengan jaringan publik, gunakan parameter SkipNetworkProfileCheck cmdlet Enable-PSRemoting . Ini membuat aturan firewall yang memungkinkan akses jarak jauh hanya dari komputer di subnet lokal yang sama.

Untuk menghapus pembatasan subnet lokal pada jaringan publik dan mengizinkan akses jarak jauh dari semua lokasi pada windows versi klien dan server, gunakan Set-NetFirewallRule cmdlet dalam modul NetSecurity . Jalankan perintah berikut:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Catatan

Nama aturan firewall bisa berbeda untuk versi Windows yang berbeda. Gunakan Get-NetFirewallRule untuk melihat daftar aturan. Sebelum mengaktifkan aturan firewall, lihat pengaturan keamanan dalam aturan untuk memverifikasi bahwa konfigurasi sesuai untuk lingkungan Anda.

Di Windows PowerShell 2.0, pada versi server Windows, Enable-PSRemoting membuat aturan firewall yang mengizinkan akses jarak jauh di semua jaringan.

Di Windows PowerShell 2.0, pada versi klien Windows, Enable-PSRemoting membuat aturan firewall hanya pada jaringan privat dan domain. Jika lokasi jaringan publik, Enable-PSRemoting gagal.

Jalankan sebagai administrator

Hak istimewa administrator diperlukan untuk operasi jarak jauh berikut:

  • Membuat sambungan jarak jauh ke komputer lokal. Ini umumnya dikenal sebagai skenario "loopback".

  • Mengelola konfigurasi sesi di komputer lokal.

  • Menampilkan dan mengubah pengaturan WS-Management pada komputer lokal. Ini adalah pengaturan di node LocalHost dari drive WSMAN: .

Untuk melakukan tugas-tugas ini, Anda harus memulai PowerShell dengan opsi "Jalankan sebagai administrator" meskipun Anda adalah anggota grup Administrator di komputer lokal.

Di Windows 7 dan di Windows Server 2008 R2, untuk memulai PowerShell dengan opsi Jalankan sebagai administrator :

  1. Klik Mulai, klik Semua Program, klik Aksesori, lalu klik folder PowerShell.
  2. Klik kanan PowerShell, lalu klik Jalankan sebagai administrator.

Untuk memulai Windows PowerShell dengan opsi Jalankan sebagai administrator:

  1. Klik Mulai, klik Semua Program, lalu klik folder PowerShell.
  2. Klik kanan PowerShell, lalu klik Jalankan sebagai administrator.

Opsi Jalankan sebagai administrator juga tersedia di entri Windows Explorer lainnya untuk PowerShell, termasuk pintasan. Cukup klik kanan item, lalu klik Jalankan sebagai administrator.

Saat Anda memulai PowerShell dari program lain seperti Cmd.exe, gunakan opsi Jalankan sebagai administrator untuk memulai program.

Cara mengonfigurasi komputer Anda untuk jarak jauh

Komputer yang menjalankan semua versi Windows yang didukung dapat membuat koneksi jarak jauh ke dan menjalankan perintah jarak jauh di PowerShell tanpa konfigurasi apa pun. Namun, untuk menerima koneksi, dan memungkinkan pengguna untuk membuat sesi PowerShell lokal dan jarak jauh yang dikelola pengguna ("PSSessions") dan menjalankan perintah di komputer lokal, Anda harus mengaktifkan PowerShell jarak jauh di komputer.

Windows Server 2012 dan rilis Windows Server yang lebih baru diaktifkan untuk PowerShell jarak jauh secara default. Jika pengaturan diubah, Anda dapat memulihkan pengaturan default dengan menjalankan Enable-PSRemoting cmdlet .

Pada semua versi Windows lain yang didukung, Anda perlu menjalankan Enable-PSRemoting cmdlet untuk mengaktifkan PowerShell jarak jauh.

Fitur remoting PowerShell didukung oleh layanan WinRM, yang merupakan implementasi Microsoft dari protokol Web Services for Management (WS-Management). Saat mengaktifkan PowerShell jarak jauh, Anda mengubah konfigurasi default WS-Management dan menambahkan konfigurasi sistem yang memungkinkan pengguna tersambung ke WS-Management.

Untuk mengonfigurasi PowerShell untuk menerima perintah jarak jauh:

  1. Mulai PowerShell dengan opsi Jalankan sebagai administrator .
  2. Pada prompt perintah, ketik: Enable-PSRemoting

Untuk memverifikasi bahwa jarak jauh dikonfigurasi dengan benar, jalankan perintah uji seperti perintah berikut, yang membuat sesi jarak jauh di komputer lokal.

New-PSSession

Jika jarak jauh dikonfigurasi dengan benar, perintah akan membuat sesi di komputer lokal dan mengembalikan objek yang mewakili sesi. Output harus menyerupai contoh output berikut:

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

Jika perintah gagal, untuk bantuan, lihat about_Remote_Troubleshooting.

Memahami kebijakan

Saat Anda bekerja dari jarak jauh, Anda menggunakan dua instans PowerShell, satu di komputer lokal dan satu di komputer jarak jauh. Akibatnya, pekerjaan Anda dipengaruhi oleh kebijakan Windows dan kebijakan PowerShell pada komputer lokal dan jarak jauh.

Secara umum, sebelum Anda tersambung dan saat Anda membuat koneksi, kebijakan di komputer lokal berlaku. Ketika Anda menggunakan koneksi, kebijakan pada komputer jarak jauh berlaku.

Batasan autentikasi dasar di Linux dan macOS

Saat menyambungkan dari sistem Linux atau macOS ke Windows, Autentikasi Dasar melalui HTTP tidak didukung. Autentikasi Dasar dapat digunakan melalui HTTPS dengan menginstal sertifikat di server target. Sertifikat harus memiliki nama CN yang cocok dengan nama host, tidak kedaluwarsa atau dicabut. Sertifikat yang ditandatangani sendiri dapat digunakan untuk tujuan pengujian.

Lihat Cara: Mengonfigurasi WINRM untuk HTTPS untuk detail tambahan.

Perintah berikut, yang dijalankan dari prompt perintah yang ditingkatkan, akan mengonfigurasi pendengar HTTPS di Windows dengan sertifikat yang diinstal.

$hostinfo = '@{Hostname="<DNS_NAME>"; CertificateThumbprint="<THUMBPRINT>"}'
winrm create winrm/config/Listener?Address=*+Transport=HTTPS $hostinfo

Di sisi Linux atau macOS, pilih Dasar untuk autentikasi dan -UseSSl.

Catatan

Autentikasi dasar tidak dapat digunakan dengan akun domain; akun lokal diperlukan dan akun harus berada di grup Administrator .

# The specified local user must have administrator rights on the target machine.
# Specify the unqualified username.
$cred = Get-Credential username
$session = New-PSSession -Computer <hostname> -Credential $cred `
  -Authentication Basic -UseSSL

Alternatif untuk Autentikasi Dasar melalui HTTPS adalah Negosiasi. Ini menghasilkan autentikasi NTLM antara klien dan server dan payload dienkripsi melalui HTTP.

Berikut ini menggambarkan menggunakan Negosiasi dengan New-PSSession:

# The specified user must have administrator rights on the target machine.
$cred = Get-Credential username@hostname
$session = New-PSSession -Computer <hostname> -Credential $cred `
  -Authentication Negotiate

Catatan

Windows Server memerlukan pengaturan registri tambahan untuk mengaktifkan administrator, selain administrator bawaan, untuk tersambung menggunakan NTLM. Lihat pengaturan registri LocalAccountTokenFilterPolicy di bawah Negosiasikan Autentikasi di Autentikasi untuk Koneksi Jarak Jauh

Lihat juga