无法保存旧的netsh http urlacl预订

时间:2012-12-24 15:31:58

标签: windows wcf sysadmin basichttpbinding netsh

我正在试验服务器上的设置,它从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只是出现了您为每个预订创建一个用户。

是否有一些特殊的语法?设置这个东西的另一种方法是什么?我读过“作为一个群体做”,但这看起来不像原来是一群人吗?并且每个其他服务器都设置为这样......所以必须有某种方式。我错过了什么?

由于

3 个答案:

答案 0 :(得分:3)

对不起,我明白了。

解决方案是您可以使用SDDL指定多个组(我不知道它是什么,但它对于某些权限设置加上SID是短手的。)

所以我做了netsh http add urlacl url=http://+:47001/wsman/ sddl="D:(A;;GX;;;[redacted])(A;;GX;;;[redacted])"

它最终将设置恢复到以前的状态。我应该注意到你必须完全正确地使用上面的语法才能接受它。如果需要,还可以使用一些PowerShell命令将用户帐户(如上所述)转换为SID。

答案 1 :(得分:2)

由于它可能会帮助其他人,我只想在上面的netsh命令中添加它,您只需要将[编辑]替换为您要添加的用户的SID。所以对于一个用户:

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

等...

这些命令将授予GenericExecute访问SID指定的用户帐户的权限。

答案 2 :(得分:1)

使用命令首先以管理员身份运行cmd

添加/删除URL

要添加网址:netsh http add urlacl url = http://192.168.1.143:9608/ user = everyone 将190.168.1.143替换为您的本地IP地址,并将9608替换为您的本地端口。

删除已存在的网址:netsh http delete urlacl url = http://192.168.1.1.143:9608

最后一步是配置Windows防火墙以允许端口上的外部流量:netsh advfirewall防火墙添加规则名称=&#34; IISExpressXamarin&#34; dir = in protocol = tcp localport = 9608 profile = private remoteip = localsubnet action = allow