Akses jarak jauh ke WinRM tanpa hak administrator

Secara default, Anda harus memiliki hak administrator untuk menghubungkan dari jarak jauh ke komputer menggunakan PowerShell (PowerShell Remoting). Dalam artikel ini, kami akan menunjukkan bagaimana, dengan bantuan grup keamanan, kebijakan grup, dan mengubah deskriptor sesi PoSh, untuk memberikan hak koneksi melalui PowerShell Remoting (WinRM) untuk pengguna biasa tanpa hak administrator.

Saat mencoba membuat sesi PowerShell dengan komputer jarak jauh dari bawah pengguna biasa (Enter-PSSession msk-server1), kesalahan akses muncul:

Enter-PSSession: Menyambung ke server jauh msk-server1 gagal dengan pesan kesalahan berikut: Akses ditolak.

Konten:

  • Akses jarak jauh ke WinRM dan grup Pengguna Manajemen Jarak Jauh
  • Penjelasan Keamanan PowerShell Session
  • Hyper-V Remote Management juga membutuhkan hak WinRM

Akses jarak jauh ke WinRM dan grup Pengguna Manajemen Jarak Jauh

Periksa izin standar untuk sesi PoSh:

(Get-PSSessionConfiguration -Name Microsoft.PowerShell) .Permission

Seperti yang dapat kita lihat, akses diizinkan untuk grup bawaan berikut:

  • BUILTIN \ Administrator - AccessAllowed,
  • BUILTIN \ Pengguna Manajemen Jarak Jauh - AccessAllowed

Dengan demikian, agar pengguna dapat terhubung dari jarak jauh melalui WinRM, cukup baginya untuk menjadi anggota grup administrator lokal built-in atau Jauh Manajemen Pengguna (grup dibuat pada sistem dimulai dengan PowerShell 4.0, yang tersedia secara default di Windows 8 / Windows Server 2012 dan lebih tinggi). Grup ini juga menyediakan akses ke sumber daya WMI melalui protokol kontrol (misalnya, WS-Management)

Pengguna yang diperlukan dapat dimasukkan dalam grup melalui snap-in manajemen komputer:

atau menggunakan perintah:

net localgroup "Pengguna Manajemen Jarak Jauh" / tambahkan aapetrov2

Jika akses seperti itu perlu diberikan pada banyak komputer, Anda dapat menggunakan Kebijakan Grup. Untuk melakukan ini, tetapkan GPO ke komputer yang diperlukan, dan kebijakannya Konfigurasi Komputer -> Pengaturan Windows -> Pengaturan Keamanan -> Grup Terbatas tambahkan grup barudi Pengguna Manajemen Jarak Jauh dan memasukkan di dalamnya akun atau grup yang perlu diberikan akses ke WinRM.

Setelah pengguna termasuk dalam grup Pengguna Manajemen Jarak Jauh, ia akan dapat membuat sesi PowerShell jarak jauh menggunakan Enter-PSSession atau menjalankan perintah menggunakan Invoke-Command. Hak pengguna dalam sesi ini akan dibatasi oleh haknya pada mesin.

Periksa apakah koneksi jarak jauh berfungsi.

Penjelasan Keamanan PowerShell Session

Cara lain untuk memberi pengguna dengan cepat hak untuk menggunakan PowerShell Remoting tanpa memasukkannya ke dalam grup keamanan lokal Pengguna Remote Management adalah dengan memodifikasi deskriptor keamanan sesi Microsoft.PowerShell saat ini di komputer lokal. Metode ini akan memungkinkan Anda untuk sementara waktu cepat (sampai reboot berikutnya) memberikan setiap pengguna hak untuk terhubung dari jarak jauh melalui PowerShell.

Perintah berikut membuka daftar izin saat ini:

Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI

Di kotak dialog ini, Anda perlu menambahkan pengguna atau grup dan memberinya hak Jalankan (Panggil).

Setelah menyimpan perubahan, sistem akan meminta konfirmasi untuk memulai kembali layanan WinRM.

Jika Anda perlu mengubah deskriptor keamanan secara otomatis (tanpa GUI), Anda harus terlebih dahulu membuat perubahan secara manual, dan kemudian mendapatkan deskriptor akses saat ini dalam format SDDL.

(Dapatkan-PSSessionConfiguration -Nama "Microsoft.PowerShell"). SecurityDescriptorSDDL

Dalam contoh kita, perintah mengembalikan pegangan

O: NSG: BAD: P (A;; GA ;;; BA) (A ;; GXGR ;;; S-1-5-21-2373142251-3438396318-2932294317-23761992) (A ;; GA ;;;; RM ) S: P (AU; FA; GA ;;; WD) (AU; SA; GXGW ;;; WD)

Kemudian Anda dapat menggunakan jalur SDDL ini untuk memberikan akses ke PowerShell di server lain..

$ SDDL = “O: NSG: BAD: P (A ;; GA ;;; BA) (A ;; GXGR ;;; S-1-5-21-2373142251-3438396318-2932294317-23761992) (A ;; GA; ;;; RM) S: P (AU; FA; GA ;;; WD) (AU; SA; GXGW ;;; WD) ”
Set-PSSessionConfiguration -Name Microsoft.PowerShell -SecurityDescriptorSddl $ SDDL

Hyper-V Remote Management juga membutuhkan hak WinRM

Pada Windows 10 / Windows Server 2016, protokol PowerShell Remoting digunakan untuk terhubung dari jarak jauh ke server Hyper-V menggunakan Hyper-V Manager. Dengan demikian, secara default, pengguna non-administrator jarak jauh tidak akan dapat mengelola server Hyper-V, bahkan jika mereka memiliki izin di Hyper-V.

Saat mencoba menyambung ke server Hyper-V dari komputer Windows 10 di bawah pengguna biasa, muncul kesalahan.

Terjadi kesalahan saat mencoba menyambung ke server "server1", Periksa bahwa layanan Manajemen Mesin Virtual sedang berjalan dan bahwa Anda berwenang untuk terhubung ke server

Untuk mengizinkan koneksi jarak jauh ke konsol, cukup tambahkan pengguna Hyper-V ke grup Pengguna Manajemen Remote lokal dengan cara yang sama..