2012-05-18 2 views
0

В настоящее время у меня есть текстовый файл со всеми пользователями AD. Используя следующее, я могу получить список дат истечения срока действия для PWD, но я не могу получить имя пользователя в паре с истечением срока для точности. Может ли кто-нибудь помочь? Оговорка: должно быть пакетное :(Пакет Получить имена пользователей и PWD Срок действия от AD

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

ответ

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% 

делает эту работу за то, что вы хотите (не забудьте изменить администратору вашего имени пользователя)

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 
Смежные вопросы