hi
我正在尝试在下面运行以获取用户,并且已分配了全局组@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2,3 delims=," %%a in ('net localgroup TectiaUsers^|findstr /b "EUR"') do (
set FID=%%~a
echo !FID!
PAUSE
set FID=!FID:EUR=!
echo !FID!
PAUSE
for /f "useback tokens=1,2,3 delims=," %%b in ('net user !FID! /domain^|findstr /b "Global Group memberships"') do (
echo !FID!,%%~b
PAUSE
)
)
现在上面的代码没有给出预期的输出,我已经检查并发现当代码 for/f"用用tokens = 1,2,3 delims =," %% b in('NET用户! echo!fid!,%% 〜b) 它返回输出,因为它是
Press any key to continue . . .
User1,net user User1 /domain|findstr /b "Global Group memberships"
Press any key to continue . . .
相反,我期望输出如下
Global Group memberships *Domain Users
查看您的脚本有两个明显的问题:
- 您的令牌和分界符似乎是错误的
- 您的第二个
FindStr
搜索掩码不正确。
我无法在此处复制您的输出,因此以下示例脚本代码纯粹基于我的最佳猜测。
@Echo Off
For /F "Tokens=1*Delims=" %%A In (
'Net LocalGroup "TectiaUsers"^|FindStr/LIB "EUR"'
) Do For /F "Tokens=3*" %%C In (
'Net User "%%B" /Domain^|FindStr/LIB "Global Group memberships"'
) Do Echo %%B,%%D
Pause