This Extension Attribute is designed to return the number of days remaining until Active Directory password expiration. Run as a standalone script it works fine, it returns the integer "212" for my account. However, if I create a Smart Group in the JSS based on this EA it doesn't populate with any data. The field is blank for all users when viewed in inventory list, even after recon. Am I missing something obvious?
Smart Group parameters:
"AD Password Expiration" is less than 30
Extension Attribute:
Name: AD Password Expiration
Data type: integer
Inventory Display: Extension Attributes
Input type: Script
#!/bin/bash
# Logged in user
LoggedInUser=`ls -l /dev/console | awk '{ print $3 }'`
# Current password change policy
PasswdPolicy=365
# Last password set date
LastPasswordSet=`dscl /Active Directory/CORP/All Domains/ read /Users//$LoggedInUser SMBPasswordLastSet | awk '{print $2}'`
# Calculations
LastPasswordCalc1=`expr $LastPasswordSet / 10000000 - 1644473600`
LastPasswordCalc2=`expr $LastPasswordCalc1 - 10000000000`
TimeStampToday=`date +%s`
TimeSinceChange=`expr $TimeStampToday - $LastPasswordCalc2`
DaysSinceChange=`expr $TimeSinceChange / 86400`
DaysRemaining=`expr $PasswdPolicy - $DaysSinceChange`
echo $DaysRemaining
exit 0
JSS 9.3, Mac OS X
