我创建了这个简单的命令:
dsget user -sid%UserName%
它产生了这个输出:
sid
S-1-5-21-438975769-448141152-163212925-1186
dsget succeeded
我只想要中间线。需要做些什么才能揭示出来?
答案 0 :(得分:3)
dsget user -sid %UserName% | find "S-"
因为只有SID以" S - "。
开头答案 1 :(得分:1)
您可以使用以下内容:
@echo off
for /f "eol=d skip=1" %%a in (
'dsget user -sid %username%'
) do echo(%%a
在非服务器操作系统中,有两种选择:
内置WMIC命令。 (这允许您根据需要替换%username%
,而非当前用户。
@echo off
for /f "skip=1" %%a in (
'"wmic useraccount where name='%username%' get sid"'
) do for %%b in (%%a) do echo(%%b
或者仅针对当前登录用户的内置WhoAmI,您可以尝试:
@echo off
for /f tokens^=3^ delims^=^" %%a in (
'whoami /user /FO CSV /NH') do echo(%%a