2

我正在使用 Windows Server v1.0 的服务总线。我有一个在 LocalSystem (NT AUTHORITY\SYSTEM) 帐户或 NetworkService (NT AUTHORITY\NETWORK SERVICE) 中运行的服务。我想赋予该服务对服务总线中默认命名空间的管理权限。

我跑过:

set-sbnamespace -name ServiceBusDefaultNamespace -ManageUsers 
"NT AUTHORITY\SYSTEM","NT AUTHORITY\NETWORK SERVICE","MY_DOMAIN\MY_USER"

结果:

Name                  : ServiceBusDefaultNamespace
AddressingScheme      : Path
CreatedTime           : 7/19/2013 2:40:52 PM
IssuerName            : ServiceBusDefaultNamespace
IssuerUri             : ServiceBusDefaultNamespace
ManageUsers           : {nt authority\system, nt authority\network service,
                    my_user@my_domain}

但是在尝试创建队列时,出现错误:

The remote server returned an error: (401) Unauthorized. Authorization 
failed for specified action: Manage..TrackingId:XXXXXXXXXXXXXXXXXXXX, 
TimeStamp:7/23/2013 9:31:31 AM

如果我尝试添加系统帐户“MY_DOMAIN\MY_SERVER$”,它会抱怨该帐户不存在,即使这对 MS SQL Server 非常有效。

如果我尝试以 MY_DOMAIN\MY_USER 身份运行该服务,但它不是我想要的理想状态。

进行配置更改后,我尝试重新启动服务器。

4

2 回答 2

7

建议使用共享访问密钥。

要使用共享访问密钥获取连接字符串,请运行 PowerShell cmd:

$authRule = Get-SBAuthorizationRule -NamespaceName ServiceBusDefaultNamespace
$authRule[0].ConnectionString
于 2014-02-25T10:32:39.997 回答
1

您不能直接将计算机帐户“MY_DOMAIN\MY_SERVER$”添加为“ManageUsers”。悬停你可以将windows组设置为“ManageUsers”,这就足够了。

你应该

  • 创建一个组
  • 将“MY_DOMAIN\MY_SERVER$”计算机帐户添加到组
  • 在 Set-SBNamespace powershell 命令中将此组用作“ManageUsers”

这对我有用。

于 2015-09-14T06:00:13.673 回答