Назад | Перейти на главную страницу

Как разрешить доступ к winrs для пользователя без прав администратора?

У меня Windows Server 2012 (и Server 2008, но это следующий приоритет), чтобы отслеживать его с помощью txwinrm. Внутренняя библиотека txwinrm использует протокол WinRS. Я должен следить за ним с помощью наименее привилегированного пользователя, но не знаю, как настроить для него доступ.

Все, что мне удалось сделать - это настроить удаленный сеанс Powershell для моего пользователя, но похоже, что сеансы winrs и powershell имеют разные дескрипторы безопасности:

Invoke-Command -ComputerName 192.168.173.206 -Credential (credential Administrator $pwd) -ScriptBlock { 2 + 2}
# gives 4
Invoke-Command -ComputerName 192.168.173.206 -Credential (credential lpu1 $pwd) -ScriptBlock { 2 + 2}
# gives 4
winrs -r:192.168.173.206 -u:Administrator -p:$pwd 'powershell -command "2+2"'
# gives 4
winrs -r:192.168.173.206 -u:lpu1 -p:$pwd 'powershell -command "2+2"'
# Gives Winrs error: Access is denied.

Конфигурация для моего пользователя следующая:

(Get-Item WSMan:\localhost\Service\RootSDDL).value
# O:NSG:BAD:P(A;;GA;;;BA)(A;;GA;;;S-1-5-21-3231263931-1371906242-1889625497-1141)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
(Get-PSSessionConfiguration -name Microsoft.Powershell).SecurityDescriptorSddl
# O:NSG:BAD:P(A;;GA;;;BA)(A;;GA;;;S-1-5-21-3231263931-1371906242-1889625497-1149)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)

(В каждом дескрипторе безопасности моему пользователю предоставляется общий доступ к защищенному объекту).

Итак, какой дескриптор безопасности я должен установить, чтобы мой запрос winrs работал для пользователя без прав администратора?

UPD: Недавно я обнаружил, что я может получить информацию об оболочках WinRM:

  winrm enumerate shell
Shell
    ShellId = 3793B153-CCCF-4500-99FB-8534074E1738
    ResourceUri = http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd

И я не нашел такого URI ресурса в WSMan:\localhost\Plugin каталог. :( Документация состояния:

URI ресурса можно использовать для получения конфигурации подключаемого модуля, специфичной для экземпляра оболочки.

Но как получить эту конфигурацию плагина и как ее изменить?

Что работает

winrm configSDDL default

А затем разрешить чтение и выполнение прав. Но странно, что настройки там такие же, как в WSMan:\localhost\Service\RootSDDL. Это может быть из-за того, что winrm configSDDL перезагружает какой-то кеш или что-то в этом роде, я не знаю ...

Можете ли вы добавить пользователя, используя:

winrm configSDDL http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd

Источник

вам необходимо добавить пользователей на сервере WinRM в группу «Пользователи удаленного управления»

Это так просто.