Batch file 从AD批量获取用户名和PWD过期时间
我目前有一个包含所有广告用户的文本文件。使用下面的方法,我可以获得PWD的过期日期的管道列表,但我无法获得用户名与Accuracy的过期日期配对。有人能帮忙吗?警告:需要批处理:(Batch file 从AD批量获取用户名和PWD过期时间,batch-file,Batch File,我目前有一个包含所有广告用户的文本文件。使用下面的方法,我可以获得PWD的过期日期的管道列表,但我无法获得用户名与Accuracy的过期日期配对。有人能帮忙吗?警告:需要批处理:( 好的,我想这对你会有用的: 要获取“用户名”,请执行以下操作: 要获取“密码过期”,请执行以下操作: 要显示用户的状态,请执行以下操作: echo %uname% expires %expires% 这能满足您的需要吗(别忘了将管理员更改为您的用户名)您已经拥有所需的所有信息,需要时只需打印出来即可:-)
好的,我想这对你会有用的: 要获取“用户名”,请执行以下操作: 要获取“密码过期”,请执行以下操作: 要显示用户的状态,请执行以下操作:
echo %uname% expires %expires%
这能满足您的需要吗(别忘了将管理员更改为您的用户名)您已经拥有所需的所有信息,需要时只需打印出来即可:-) 可以使用括号在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
@echo关闭
(
对于(users.txt)中的/F%%i,请执行以下操作(
passwordexp.txt
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%
@echo off
(
for /F %%i in (users.txt) do (
<nul set /p "=%%i: "
net user %%i /domain | find "Password expires"
)
)>passwordexp.txt