Я запускаю командный файл как

@echo off
set yy=%date:~-4%
set mm=%date:~-7,2%
set dd=%date:~-10,2%
set MYDATE=%dd%%mm%%yy%
md UserRecords%MYDATE%

cd E:\testuser\OpenDJ-2.5.0-Xpress1\bat
ldapsearch -h localhost -p 1389 -D "cn=Directory Manager" -w password -b "ou=people,dc=exmple,dc=com" inetUserstatus=Active dn sn createTimestamp lastlogintime inetUserstatus>"E:\testuser\records\UserRecords%MYDATE%\userlist_%MYDATE%.txt" --trustAll

Но формат даты в createTimestamp и lastlogintime не такой, как я хочу записать.

В настоящее время это как: lastlogindate: 20130309100231Z

Но я хочу это в общем формате: dd/mm/yyyy .

Возможно ли это сделать? Я попытался изменить его в политике паролей OpenDj, но когда я изменяю формат, он не отображает поле в консоли. Пожалуйста помоги!!

1 ответ1

0

Отсюда

Ты пробовал:

dsconfig
 ... < other options >
 --set last-login-time-attribute:lastLoginTime
 --set last-login-time-format:"dd/MM/yyyy"

перед выполнением ldapsearch?

Если это не сработает, возможно, lastLoginTime должен соответствовать некоторым требованиям. Вместо этого вы можете попробовать "ddMMyyyyZ" .


Из этого источника:

Затем настройте политику паролей, чтобы добавить обобщенную метку времени в lastLoginTime.

$ dsconfig
 -p 4444
 -h `hostname`
 -D "cn=Directory Manager"
 -w password
 set-password-policy-prop
 --policy-name "Default Password Policy"
 --set last-login-time-attribute:lastLoginTime
 --set last-login-time-format:"yyyyMMddHHmmss'Z'"
 -X -n

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .