[Samba] Users list and the date the password will expire

Ole Traupe ole.traupe at tu-berlin.de
Thu Feb 9 12:40:29 UTC 2017


Actually, there were 2 problems. These lines work for me:

     #user=$(echo "${user}" | awk -F '\\' '{print $2}')
     user_expire_date=$(ldbsearch --url="${LDBDB}" -b "${domainDN}" -s 
sub "(&(objectCategory=person)(objectClass=user)(sAMAccountName=$user))" 
msDS-UserPasswordExpiryTimeComputed | grep 
"msDS-UserPasswordExpiryTimeComputed: " | sed 
"s|msDS-UserPasswordExpiryTimeComputed: ||")
     UNIXTimeStamp=$(((${user_expire_date}/10000000)-11644473600))
     date_now=$(date +%s)
     exp_days=$(((${UNIXTimeStamp} - ${date_now}) / 3600 / 24))

With the 'awk' the user is empty. Querying $user before the awk shows 
the correct user name without "DOMAIN\". This line seems not to be 
necessary for me.

I also had to remove the quotes in the 3rd and last of these lines:

e.g.
./mailtest_rowland.sh: line 29: 
("131479598790000000"/10000000)-11644473600: syntax error: operand 
expected (error token is ""131479598790000000"/10000000)-11644473600")

Ole


On 09.02.2017 13:14, Rowland Penny wrote:
> On Thu, 9 Feb 2017 12:49:12 +0100
> Ole Traupe via samba <samba at lists.samba.org> wrote:
>
>> Never mind. However, with your update I get the following error right
>> on the first found "user":
>>
>> ./mailtest_rowland.sh: line 27: (""/10000000)-11644473600: syntax
>> error: operand expected (error token is """/10000000)-11644473600")
>>
> I initially got that, so I added:
> user=$(echo "${user}" | awk -F '\\' '{print $2}')
>
> because, 'wbinfo -u' gives you 'DOMAIN\username'
>
> It looks like for some reason this is failing, are you using 'dash'
> instead of 'bash' ?
>
> You could try adding 'echo "User: ${user}" ' above and below line 25
>
> i.e. Change:
>
> for user in $user_list; do
>      user=$(echo "${user}" | awk -F '\\' '{print $2}')
>
> To:
>
> for user in $user_list; do
>      echo "User: ${user}"
>      user=$(echo "${user}" | awk -F '\\' '{print $2}')
>      echo "User: ${user}"
>      break
>
> This should print the username before and after the removal of the
> domain name and then break out of the loop.
>
> Rowland




More information about the samba mailing list