Как разрешить доступ к 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 ресурса можно использовать для получения конфигурации подключаемого модуля, специфичной для экземпляра оболочки.

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

3 ответа

Решение

Что работает

winrm configSDDL default

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

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

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

Источник

Необходимо добавить пользователей на сервере winrm в группу "Пользователи удаленного управления"

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

Другие вопросы по тегам