【问题标题】:Virtual Service Accounts programmatic creation/assigning?虚拟服务帐户程序化创建/分配?
【发布时间】:2015-08-25 13:43:19
【问题描述】:

我们需要将我们的产品 windows 服务设置为使用虚拟服务帐户。转到 services.msc 并输入“NT Service\MyServiceName”对我们来说不是一个选项,因为我们需要在脚本中以编程方式执行此操作。

所以在 powershell 中尝试了一切之后......我终于崩溃并使用了:

net user NT Service\MyServiceName /ADD /Y

这很好,作为一种解决方法,但由于“NT 服务”中的空间,它在用户面板中显示为“NT”并在那里切断。我试过了;

net user 'NT Service\MyServiceName' /ADD /Y
net user "NT Service\MyServiceName" /ADD /Y

都不行。

最终,我希望有一个 Powershell 解决方案。但是,如果有人对如何使用网络用户进行操作有一个想法,并且名称不会被截断,我很乐意听取您的意见。

微软关于 VSA 的过度分发但示例不足的链接: https://technet.microsoft.com/en-us/library/Dd548356(v=WS.10).aspx

【问题讨论】:

  • net user "NT Service\MyServiceName" /ADD /Y 不起作用,因为用户名的名称中不能有反斜杠。对于本地帐户,您只能指定反斜杠后的部分。

标签: powershell service virtual accounts


【解决方案1】:

我认为您实际上不需要创建这些虚拟服务帐户。安装服务后,会自动创建/配置一个匹配的帐户。您无需先创建帐户即可使用该帐户。

icacls .\file.txt /grant "NT Service\MyService:(M)"

sc.exe config MyService obj= "NT SERVICE\MyService"

这是针对本地服务帐户的,我在域中对它们做的不多。

【讨论】:

  • 谢谢,也许这是我们的误解。这里有些人想在用户控制面板中看到 NT Service\MyService 用户。当我添加用户用户网络用户时,它确实出现了。很奇怪。
  • @BrendanStewart - 这就是他们称为virtual accounts 的原因,您可以使用它们,但就普通用户管理而言,它们不是real。有点令人困惑,但您不希望所有 180 多个服务帐户都显示在您的用户列表中。此外,如果答案对您的问题有所帮助,您应该接受它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多