【发布时间】:2021-07-01 16:22:12
【问题描述】:
范围从用户的本地计算机运行。 您可以使用它来获取活动用户的 SID。 然后您可以将它与 HKU 注册表配置单元一起使用。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
ECHO GET THE NAME OF THE ACTIVELY LOGGED ON USER
FOR /F "skip=1" %%G IN ('wmic computersystem get username') DO (
SET aUSER=%%G
GOTO EXITLOOP1
)
:EXITLOOP1
ECHO %aUSER%
ECHO[
REM ECHO TRIM THE USERNAME
SET tUSER=%aUSER:~4%
REM ECHO %tUSER%
ECHO[
ECHO GET SID FOR USER: %tUSER%
FOR /F "usebackq skip=1" %%a IN (`WMIC USERACCOUNT WHERE NAME^='%%tUSER%%' GET SID`) DO (
SET SID=%%a
GOTO EXITLOOP2
)
:EXITLOOP2
ECHO %SID%
【问题讨论】:
-
这里有问题吗?如果您尝试将此添加为教程,请在页面的“问题”部分中按照本网站的问题格式以及在页面的“答案”部分中的答案进行操作。
-
关于您提供的代码已经有很多问题和答案了。我认为再买一个没有意义。
-
我不确定您为什么要在
HKU, (HKEY_USERS) 注册表配置单元中使用它。由于用户是当前活动的帐户,他们的配置单元已经加载,因此可以使用HKCU, (HKEY_CURRENT_USER) 访问。此外,没有理由将SID保存到变量中,因为它已经分配给元变量%%a。 -
mhickey,我注意到您已经以登录本网站的身份返回,但没有回复上述 cmets 或提供官方答案的人。请参阅What should I do when someone answers my question? 以了解在这种情况下您可以选择哪些选项,因为没有接受答案的问题不会被本网站视为已回答。
标签: windows batch-file cmd command sid