web-dev-qa-db-ja.com

管理者以外のユーザーがwinrsにアクセスできるようにするにはどうすればよいですか?

txwinrm を使用して監視するために、Windows Server 2012(およびServer 2008が次の優先事項です)を持っています。 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

また、WSMan:\localhost\PluginディレクトリにそのようなリソースURIは見つかりませんでした。 :( Documentation の状態:

リソースURIを使用して、シェルインスタンスに固有のプラグイン構成を取得できます。

しかし、そのプラグイン構成を取得する方法とそれを変更する方法は?

7
Bunyk

機能するのは

winrm configSDDL default

そして、読み取り権と実行権を許可します。しかし奇妙なことに、その設定はWSMan:\localhost\Service\RootSDDLと同じです。 winrm configSDDLがキャッシュまたは何かをリロードすることが原因である可能性があります。

4
Bunyk

次を使用してユーザーを追加できますか:

winrm configSDDL http://schemas.Microsoft.com/wbem/wsman/1/windows/Shell/cmd

ソース

2
MichelZ

winrmサーバー上のユーザーを「リモート管理ユーザー」グループに追加する必要があります

とても簡単です。

1
Alex