提取 windows 服务器中所有本地组中的所有用户

Extract all the users in all the local groups in windows server

我必须通过批处理脚本找到所有本地组中的所有用户,并且应该重定向到输出文件。

我可以提取一组并重定向到一个文件。

net localgroup "Administrators" > c:\temp.txt

但我必须获取为以下命令显示的所有组的用户列表。

net localgroup

通常 运行 仅 net localgroup returns 以星号开头的组 * 所以这应该有效:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('net localgroup') do (
  set "var=%%a"
  set var=!var:~1!
  net localgroup "!var!" >> someoutput.txt
)

编辑

根据您的意见,我们可以简单地检查创建的文件是否具有正确的行数,如果不正确,将其删除。

@echo off
setlocal enabledelayedexpansion
 for /f "tokens=*" %%a in ('net localgroup') do (
   set "var=%%a"
   set var=!var:~1!
   net localgroup "!var!" > "!var!.txt"
  for /f %%i in ('type "!var!.txt" ^|find "" /v /c ') do set /a count=%%i
   if !count! lss 10 del /Q "!var!.txt"
 )