批量从AD获取用户名和PWD到期

时间:2012-05-18 14:45:32

标签: batch-file

我目前有一个包含所有AD用户的文本文件。使用以下内容,我可以获得PWD的过期日期的管道列表,但我无法将用户名与到期日的配对进行配对。有人可以帮忙吗?警告:需要批量:(

        for /F %%i in (users.txt) do net user %%i /domain | find "Password expires" >> passwordexp.txt

2 个答案:

答案 0 :(得分:1)

您需要时已经拥有所需的所有信息,只需将其打印出来: - )

您可以使用括号在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

答案 1 :(得分:0)

好吧我认为这对你有用:

获取“用户名”执行此操作:

    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%

是否可以满足您的需求(不要忘记将管理员更改为您的用户名)