Frage Wie erlaube ich den Zugriff auf Winrs für Nicht-Admin-Benutzer?


Ich habe Windows Server 2012 (und Server 2008, aber es ist nächste Priorität), um es mit zu überwachen txwinrm. Die txwinrm-Bibliothek verwendet intern das WinRS-Protokoll. Ich muss es mit dem am wenigsten privilegierten Benutzer überwachen, weiß aber nicht, wie ich den Zugang für ihn konfigurieren soll.

Alles, was ich geschafft habe, ist die Konfiguration der Powershell-Remote-Sitzung für meinen Benutzer, aber es sieht so aus, als hätten Win- und Powershell-Sitzungen unterschiedliche Sicherheitsbeschreibungen:

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.

Konfiguration für meinen Benutzer folgt:

(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)

(In jeder Sicherheitsbeschreibung erhält mein Benutzer allgemeinen Zugriff auf das geschützte Objekt).

Also, welchen Sicherheitsdeskriptor sollte ich einstellen, damit meine Winrs-Abfrage für Nicht-Admin-Benutzer funktioniert?

UPD: Kürzlich habe ich festgestellt, dass ich konnte Informationen über winrm Shells abrufen:

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

Und ich habe keine solche Ressourcen-URI gefunden WSMan:\localhost\Plugin Verzeichnis. :( Dokumentation Zustände:

Der Ressourcen-URI kann zum Abrufen der Plug-In-Konfiguration verwendet werden, die für die Shell-Instanz spezifisch ist.

Aber wie kann man diese Plugin-Konfiguration abrufen und ändern?


7
2018-04-22 10:27


Ursprung


Hast du gesehen diese - MichelZ
@MichelZ Ja, habe ich. - Bunyk


Antworten:


Was funktioniert, ist

winrm configSDDL default

Und dann Lese- und Ausführungsrechte erlauben. Aber seltsam, dass die Einstellungen dort dieselben sind wie in WSMan:\localhost\Service\RootSDDL. Es könnte sein, weil Winrm ConfigSDDL einige Cache oder etwas neu lädt, weiß ich nicht ...


3
2018-04-28 09:36





Können Sie den Benutzer hinzufügen mit:

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

Quelle


1
2018-04-24 10:38



Leider nein, es heißt: Fehlernummer: -2144108544 0x80338000 Der WS-Management-Dienst kann die Anfrage nicht verarbeiten. Der Dienst kann die durch den Ressourcen-URI und die Selektoren angegebene Ressource nicht finden. Das ist seltsam, weil der Administrator Zugriff auf eine Ressource hat, so dass die Ressource vorhanden sein sollte. - Bunyk


Sie müssen Benutzer auf dem winrm-Server der Gruppe "Remote Management Users" hinzufügen

So einfach ist das.


1
2017-11-20 13:26



Hat winrs -r: $ host -u: lpu1 -p: $ pwd 'powershell - Befehl "2 + 2" funktioniert für Sie? Außerdem existiert diese Gruppe nur unter Windows Server 2012 (also hoffen wir, dass Windows Server 2008 und niedriger bald legacy werden). - Bunyk
@bunyk Ihr Tipp, einfach mit Benutzer und Passwort zu authentifizieren, funktionierte für mich. PS C:\Windows\system32> winrs -r:localhost:55985 -u:IEUser -p:Passw0rd! 'powershell -command "2+2"' - domih