Formatowanie daty do żądanego formatu w pliku wsadowym

0

Korzystam z pliku wsadowego jako

@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

Ale format daty w createTimestamp i lastlogintime nie jest taki, jak chcę nagrywać.

Obecnie wygląda to tak: lastlogindate: 20130309100231Z

Ale chcę go w ogólnym formacie: dd/mm/yyyy.

czy jest to możliwe do zrobienia? Próbowałem zmodyfikować go w polityce haseł OpenDj, ale kiedy zmieniam format, nie wyświetla pola w konsoli. Proszę pomóż!!

użytkownik3150734
źródło
nie można użyć set MYDATE=%dd%-%mm%-%yy%?
Bhavesh Gangani
@BhaveshGangani Ups, tak, też źle to przeczytałem. OP chce wygenerować „lastlogindate” ldapsearchw jego pożądanym formacie. Nie %MYDATE%zmienna w partii.
Rik

Odpowiedzi:

0

od tutaj

Próbowałeś:

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

przed wykonaniem ldapsearch?

Jeśli to nie zadziała, może być lastLoginTimekonieczne spełnienie niektórych wymagań. Możesz "ddMMyyyyZ"zamiast tego spróbować .


Z tego źródła :

Następnie dostosuj zasady haseł, aby umieścić uogólniony znacznik czasu w 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
Rik
źródło