Извлеките всех пользователей из всех локальных групп на сервере Windows - PullRequest
0 голосов
/ 30 апреля 2018

Я должен найти всех пользователей во всех локальных группах через пакетный скрипт и должен перенаправить в выходной файл.

Я могу извлечь для одной группы и перенаправить в файл.

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

Но мне нужно получить список пользователей для всех групп, отображаемых для приведенной ниже команды.

net localgroup

1 Ответ

0 голосов
/ 01 мая 2018

Обычно работает только net localgroup возвращает группы со звездочкой * Так что это должно работать:

@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"
 )
...