Se você deseja iterar usuários estritamente na linha de comando do Windows, a maneira mais fácil seria uma combinação de wmic
e for
loop.
for /f "tokens=* skip=1" %%a in ('wmic UserAccount get Name') do (
if not "%%a"=="" (
:: %%a is a variable containing an account name
)
)
O coração do comando é wmic UserAccount get Name
, que deve imprimir uma lista de contas. Você pode querer fazer alguma filtragem, como Karan fez em sua resposta VBScript, com algo como wmic UserAccount where "LocalAccount=True" get Name
. Qualquer campo é filtrável; para ver todos eles, use wmic UserAccount get
(omitindo Name
).
O loop for
é simplesmente usado para analisar a saída do comando. Ele pula a primeira linha (que imprime o cabeçalho da coluna) e a última linha é ignorada com o comando if
, pois está vazia. Veja for /?
para mais informações.