列出用户的所有权限

问题描述 投票:0回答:2

我有一个 Windows 服务,我想使用特定用户登录它 - 因此我添加了通过

ntrights
作为服务登录的用户权限。
为了使其生效 - 需要重新启动。
为了避免不必要的重新启动 - 我想检查该用户是否已经具有此权限。
有办法检查吗?

这就是我添加用户权限的方式:

 ntrights +r SeServiceLogonRight -u "USER" -m \\%COMPUTERNAME%
windows batch-file cmd windows-services privileges
2个回答
-1
投票

使用此命令检查用户是否具有特定权限:

whoami /priv /fo CSV | convertFrom-Csv | Select-String -Pattern   "SeServiceLogonRight" -Quiet

如果此命令返回

True
,则用户拥有给定的权限,否则没有。


-1
投票

我还编写了一个可能有用的开源工具:

https://github.com/Bill-Stewart/PrivMan

此命令的替换:

ntrights +r SeServiceLogonRight -u "USER" -m \\%COMPUTERNAME%

是这个吗:

PrivMan -a "USER" -g "SeServiceLogonRight" -c %COMPUTERNAME%

要测试计算机上是否有

USER
SeServiceLogonRight
,您可以使用以下命令:

PrivMan -a "USER" -t "SeServiceLogonRight" -c %COMPUTERNAME%

在这种情况下,如果用户具有指定的特权/权利,则退出代码(对于 cmd.exe,为

%ERRORLEVEL%
,对于 PowerShell,为
$LASTEXITCODE
)为 1,如果用户没有指定的特权/权限,则退出代码为 0。其他退出代码表示错误。

© www.soinside.com 2019 - 2024. All rights reserved.