我正在运行批处理文件
@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
从这里
你试过了吗:
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