我正在试验服务器上的设置,并从netsh http show urlacl:
Reserved URL : http://+:47001/wsman/ User: NT SERVICE\WinRM Listen: Yes Delegate: No User: NT SERVICE\Wecsvc Listen: Yes Delegate: No SDDL: D:(A;;GX;;;(redacted)((A;;GX;;;(redacted))
那么显然两个用户帐户注册了相同的URL,对吗? 但是,由于删除该保留(我用推荐某处但不再需要的NT AUTHORITY \ NETWORK SERVICE取代它,因为我确定了真正的原因),但是我还没有能够恢复到这些设置,因为netsh只显示您为每个保留创build一个用户。
有一些特殊的语法吗? 另一种方法来设置这个东西? 我已经读过“像小组一样”,但是这看起来不像是最初的一个小组吗? 而其他所有服务器都是这样设置的…所以一定有办法。 我错过了什么?
谢谢
对不起,我明白了。
解决的方法是你可以使用SDDL来指定多个组(我不知道它是什么,但是对于某些权限设置加上一个SID是很简单的)。
所以我做了一个netsh http add urlacl url=http://+:47001/wsman/ sddl="D:(A;;GX;;;[redacted])(A;;GX;;;[redacted])"
最后,它恢复了以前的设置。 我应该注意到你必须得到上面的语法完全正确,才能接受它。 还有一些PowerShell命令可用于将用户帐户(如上面的那些)转换为SID(如果需要的话)。
因为它可能会帮助别人,所以我只想在上面的netsh命令中添加一点,你只需要用你想添加的用户的SID替换[redacted]即可。 所以对于一个用户:
netsh http add urlacl url=http://+:47001/wsman/ sddl="D:(A;;GX;;;<SID>)"
和两个用户…
netsh http add urlacl url=http://+:47001/wsman/ sddl="D:(A;;GX;;;<SID1>)(A;;GX;;;<SID2>)"
等等…
这些命令将授予对由SID指定的用户帐户的GenericExecute访问权限。
要使用命令添加/删除URL 首先以管理员身份运行cmd
要添加一个URL:netsh http add urlacl url = http://192.168.1.143:9608/ user = everyone用你的本地IP地址替换190.168.1.143,用本地端口替换9608。
删除已经存在的URL:netsh http delete urlacl url = http://192.168.1.1.143:9608
最后一步是配置Windows防火墙以允许端口上的外部流量:netsh advfirewall防火墙添加规则名称=“IISExpressXamarin”dir =在协议= tcp localport = 9608配置文件=私人remoteip = localsubnet行动=允许