Отдалечен достъп до WinRM без права на администратор

По подразбиране трябва да имате администраторски права, за да се свържете дистанционно с компютър, използвайки PowerShell (PowerShell Remoting). В тази статия ще покажем как с помощта на група за защита, групова политика и промяна на дескриптора на сесията на PoSh да предоставим права за връзка чрез PowerShell Remoting (WinRM) за обикновените потребители без администраторски права.

Когато се опитвате да създадете сесия на PowerShell с отдалечен компютър от редовен потребител (Enter-PSSession msk-server1), се появява грешка в достъпа:

Enter-PSSession: Свързването с отдалечен сървър msk-server1 не успя със следното съобщение за грешка: Достъпът е отказан.

Съдържание:

  • Дистанционен достъп до WinRM и групата потребители на отдалечено управление
  • Дескриптор на сигурността на сесията PowerShell
  • Hyper-V Remote Management също изисква права на WinRM

Дистанционен достъп до WinRM и групата потребители на отдалечено управление

Проверете стандартните разрешения за сесията на PoSh:

(Get-PSSessionConfiguration -Name Microsoft.PowerShell). Разрешение

Както виждаме, е разрешен достъп за следните вградени групи:

  • BUILTIN \ Administrators - AccessAllowed,
  • BUILTIN \ Потребители на отдалечено управление - AccessAllowed

По този начин, за да може потребителят да се свърже дистанционно чрез WinRM, достатъчно е той да е член на вградената локална група за сигурност от администратори или отдалечен управление Потребители (групата е създадена в системата, като се започне от PowerShell 4.0, която е достъпна по подразбиране в Windows 8 / Windows Server 2012 и по-нови версии). Тази група също така осигурява достъп до WMI ресурси чрез протоколи за управление (например WS-Management)

Необходимият потребител може да бъде включен в групата чрез приспособлението за управление на компютъра:

или с помощта на командата:

net localgroup "Потребители на дистанционно управление" / добавете aapetrov2

В случай, че такъв достъп трябва да бъде предоставен на много компютри, можете да използвате груповата политика. За целта задайте GPO на необходимите компютри и правилото Конфигурация на компютъра -> Настройки на Windows -> Настройки за защита -> Групи с ограничен достъп добавете нови групипри потребители на дистанционно управление и включете в него сметките или групите, на които трябва да бъде предоставен достъп до WinRM.

След като потребителят бъде включен в групата на потребителите на отдалечено управление, той ще може да създаде отдалечена сесия на PowerShell с помощта на Enter-PSSession или да изпълнява команди, използвайки Invoke-Command. Правата на потребителите в тази сесия ще бъдат ограничени от правата му на машината.

Проверете дали дистанционната връзка работи.

Дескриптор на сигурността на сесията PowerShell

Друг начин за бързо даване на право на потребителя да използва PowerShell Remoting без да го включва в локалната група за сигурност на потребителите на отдалечено управление е да променя дескриптора на сигурността на текущата сесия на Microsoft.PowerShell на локалния компютър. Този метод ще ви позволи бързо временно (до следващото рестартиране) да предоставите на отделни потребители правото да се свързват дистанционно чрез PowerShell.

Следващата команда отваря списъка на текущите разрешения:

Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI

В този диалогов прозорец трябва да добавите потребител или група и да му предоставите права Изпълнение (Invoke).

След като запазите промените, системата ще поиска потвърждение за рестартиране на услугата WinRM.

В случай, че трябва да промените дескриптора на защита автоматично (без GUI), първо ще трябва да направите промените ръчно и след това да получите текущия дескриптор на достъп във SDDL формат.

(Get-PSSessionConfiguration -Name "Microsoft.PowerShell"). SecurityDescriptorSDDL

В нашия пример командата върна дръжка

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)

След това можете да използвате тази SDDL линия, за да осигурите достъп до PowerShell на всеки друг сървър..

$ 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 също изисква права на WinRM

В Windows 10 / Windows Server 2016 протоколът PowerShell Remoting беше използван за отдалечена връзка с Hyper-V сървър с помощта на Hyper-V Manager. Така по подразбиране отдалечените потребители без администратор няма да могат да управляват Hyper-V сървъра, дори ако имат разрешения в Hyper-V.

Когато се опитвате да се свържете с Hyper-V сървър от компютър с Windows 10 под обикновен потребител, се появява грешка.

Възникна грешка при опит да се свържете със сървъра „server1“, Проверете дали услугата за управление на виртуална машина работи и дали имате право да се свържете със сървъра

За да разрешите отдалечена връзка с конзолата, просто добавете потребителя Hyper-V към локалната група потребители на отдалечено управление по същия начин..