2017-04-16 74 views
0

我創建這個簡單的命令:與DSGET用戶Windows批處理-sid

DSGET用戶-sid%USERNAME%

而且它產生的輸出:

sid 
S-1-5-21-438975769-448141152-163212925-1186 
dsget succeeded 

我只想中間線。需要做些什麼來揭示這一點?

回答

3
dsget user -sid %UserName% | find "S-" 

因爲只有SID以「S-」開始。

+0

我發現查找命令的幫助下,我把這個帖子之後。這個解決方案比我使用的更好一些。謝謝。 –

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