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\Plugin
Verzeichnis 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?
quelle
Antworten:
Was funktioniert ist
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 ...quelle
Können Sie den Benutzer hinzufügen mit:
winrm configSDDL http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd
Quelle
quelle
Sie müssen Benutzer auf dem WinRM-Server zur Gruppe "Remoteverwaltungsbenutzer" hinzufügen.
So einfach ist das.
quelle
PS C:\Windows\system32> winrs -r:localhost:55985 -u:IEUser -p:Passw0rd! 'powershell -command "2+2"'