Wie erlaube ich Nicht-Administratoren den Zugriff auf winrs?

7

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

Alles, was ich geschafft habe, ist, eine Remote-Powershell-Sitzung für meinen Benutzer zu konfigurieren, aber es sieht so aus, als hätten Winrs- 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.

Die Konfiguration für meinen Benutzer lautet wie 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 ein geschütztes Objekt.)

Welchen Sicherheitsdeskriptor sollte ich also festlegen, damit meine WinR-Abfrage für Benutzer ohne Administratorrechte funktioniert?

UPD: Kürzlich habe ich festgestellt, dass ich Informationen über WinRM-Shells abrufen kann :

  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 im WSMan:\localhost\PluginVerzeichnis gefunden. :( Dokumentationsstatus :

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 wie kann man sie ändern?

Bunyk
quelle
Kennen Sie schon dieses
MichelZ
@MichelZ Ja, das habe ich.
Bunyk

Antworten:

4

Was funktioniert ist

winrm configSDDL default

Und dann Lese- und Ausführungsrechte zulassen. Aber seltsam, dass die Einstellungen dort die gleichen sind wie in WSMan:\localhost\Service\RootSDDL. Es könnte daran liegen, dass winrm configSDDL einen Cache neu lädt oder so, ich weiß nicht ...

Bunyk
quelle
2

Können Sie den Benutzer hinzufügen mit:

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

Quelle

MichelZ
quelle
1
Leider heißt es: Fehlernummer: -2144108544 0x80338000 Der WS-Management-Dienst kann die Anforderung nicht verarbeiten. Der Dienst kann die durch den Ressourcen-URI und die Selektoren identifizierte Ressource nicht finden. Was seltsam ist, weil der Administrator Zugriff auf einige Ressourcen hat, sodass diese Ressource vorhanden sein sollte.
Bunyk
1

Sie müssen Benutzer auf dem WinRM-Server zur Gruppe "Remoteverwaltungsbenutzer" hinzufügen.

So einfach ist das.

Alex
quelle
1
Hat winrs -r: $ host -u: lpu1 -p: $ pwd 'Powershell -Befehl "2 + 2"' für Sie funktioniert? Außerdem ist diese Gruppe nur unter Windows Server 2012 vorhanden (hoffen wir also, dass Windows Server 2008 und niedriger bald zum Legacy wird).
Bunyk
@bunyk Ihr Hinweis, sich einfach mit Benutzer und Passwort zu authentifizieren, hat bei mir funktioniert. PS C:\Windows\system32> winrs -r:localhost:55985 -u:IEUser -p:Passw0rd! 'powershell -command "2+2"'
Domih