如何从Powershell设置Windows服务权限?

如何从Powershell设置Windows服务权限?,windows,security,powershell,service,Windows,Security,Powershell,Service,我需要为给定的Windows服务授予特定帐户 似乎有一些方法可以做到这一点,但更喜欢PowerShell本机的方法,不需要外部工具,例如使用Get/Set ACL cmdlet或调用某些.NET API 有人知道怎么用那种方式做吗?提前谢谢。我认为您应该考虑使用subinacl.exe,您可以使用它。从下载it站点,它被描述为: SubInACL是一个命令行工具,使管理员能够获取 关于文件的安全信息, 注册表项和服务,以及 将此信息从用户传输到 用户,从本地或全局组到 组,并从一个域到另一个域

我需要为给定的Windows服务授予特定帐户

似乎有一些方法可以做到这一点,但更喜欢PowerShell本机的方法,不需要外部工具,例如使用Get/Set ACL cmdlet或调用某些.NET API


有人知道怎么用那种方式做吗?提前谢谢。

我认为您应该考虑使用
subinacl.exe
,您可以使用它。从下载it站点,它被描述为:

SubInACL是一个命令行工具,使管理员能够获取 关于文件的安全信息, 注册表项和服务,以及 将此信息从用户传输到 用户,从本地或全局组到 组,并从一个域到另一个域

从PowerShell中使用它似乎非常简单:

SUBINACL /verbose=1 /service Spooler /grant=PC\Joe=LQSTOP

看看马克·米纳西写的这篇文章。

冷问题应该得到部分答案

退房

如果您不想在生产服务器上安装carbon,请查看源代码(Apache 2.0许可证),看看您是否可以将.NET代码用于自己的设备。如果我有时间的话,我会扩展这个答案以包括示例代码,但现在我可以看到存储库的这两个部分

Powershell CmdLet

使用.Net对象(使用系统)


因此,编写自己的Powershell v3+本机调用应该是一个跳跃和跳跃。

谢谢Keith。虽然这是有帮助的,但Windows Server 2008及更高版本并不正式支持它,这使得它在我们的数据中心中无法辨认。无论如何谢谢你!