如何在Powershell中获取Windows服务帐户列表?我在网上看过许多尝试实现此目的的脚本。但是,它们都只是查询Windows服务列表,并查看它们各自的StartName以查看正在使用的服务帐户。从理论上讲,可能有一个服务帐户不会被任何服务使用?要演示我所指的内容,请打开Windows资源管理器(文件资源管理器),右键单击任何文件,然后选择属性>安全>编辑>添加>高级>立即查找。我想要整个用户列表。我已经知道如何查询常规用户和组,而不是服务帐户。
谢谢,
答案 0 :(得分:1)
这样做......
Windows资源管理器(文件资源管理器),右键单击任何文件,然后选择 属性>安全>编辑>添加>高级>立即查找
...仅显示文件上有权限的用户。这与服务帐户有什么关系?如果您想要文件或文件夹上的用户/权限列表,那就是Get-ACL的用途。
# Get parameters, examples, full and Online help for a cmdlet or function
(Get-Command -Name Get-Acl).Parameters
Get-help -Name Get-Acl -Examples
Get-help -Name Get-Acl -Full
Get-help -Name Get-Acl -Online
(Get-Acl D:\Temp\fsoVolume.docx | Select -ExpandProperty Access).IdentityReference
至于......
理论上,可能有一个服务帐户不会被任何服务使用吗?
......没有。
你在这里说的是无效的。简而言之,未分配给服务的服务帐户只是一个用户帐户。 除非您知道要查找的服务并且知道应该分配给服务的帐户,否则您无法知道某个用户帐户是否被用作服务标识。
同样,服务帐户在分配给服务时只是一个服务帐户。不论它的名字是什么。
大多数组织都有一个用于特定服务的帐户的分类/命名约定。通常,像svcSQlService之类的东西。然而,如果你的组织没有标准,那么这是首先要解决的问题。
您只能列出所有服务,并查看分配了哪个帐户的身份。如果您的组织具有命名构造,则可以使用该列表与所有服务进行比较,以查看是否曾将其分配给任何服务。如果没有,则应将其分配给其目标服务或删除为某个随机用户帐户。