我目前有一个包含所有 AD 用户的文本文件。使用以下内容,我可以获得 PWD 到期日期的管道列表,但我无法将用户名与到期日期配对以确保准确性。有人可以帮忙吗?警告:需要批处理:(
for /F %%i in (users.txt) do net user %%i /domain | find "Password expires" >> passwordexp.txt
我目前有一个包含所有 AD 用户的文本文件。使用以下内容,我可以获得 PWD 到期日期的管道列表,但我无法将用户名与到期日期配对以确保准确性。有人可以帮忙吗?警告:需要批处理:(
for /F %%i in (users.txt) do net user %%i /domain | find "Password expires" >> passwordexp.txt
您已经拥有所需的所有信息,您只需将其打印出来 :-)
您可以使用括号在 DO 子句中执行多个命令。
您可以使用 SET /P 打印最后没有换行符的信息。
将整个构造括在括号中并将输出定向到文件一次会更有效。
@echo off
(
for /F %%i in (users.txt) do (
<nul set /p "=%%i: "
net user %%i /domain | find "Password expires"
)
)>passwordexp.txt
好的,我认为这对您有用:
要获取“用户名”,请执行以下操作:
for /f "tokens=1-3*" %%a in ('net user administrator /domain ^| find "User name"') do @echo "%%a %%b" "%%c" & set uname=%%c
要获得“密码过期”,请执行以下操作:
for /f "tokens=1-3*" %%a in ('net user administrator /domain ^| find "Passowrd expires"') do @echo "%%a %%b" "%%c" & set expires=%%c
要显示用户的状态,请执行以下操作:
echo %uname% expires %expires%
这对您想要的有用吗(不要忘记将管理员更改为您的用户名)