I deploy NoMAD and NoMAD Login to my Macs in the following way...
Take the 2 installer packages and put them in a folder, Which I then compress into a .tar.gz archive. I then put this into Composer. Remember with .tar.gz to cd to the folder where you have the files first, then make the archive.
Then I give it a Post install Shell script.....
#!/bin/sh
## postinstall
pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3
# What folder name is being used
csgfile="NoMAD"
# Uncompressing the Installers
# Move to location
cd /private/var/csg/Install/
# Uncompress the archive
tar -zxvf "$csgfile".tar.gz
# ---------------------------------------------------//------------------------------------------------------------
# Install the pkg files found in a temp location
for PKG in $(ls "/private/var/csg/Install/$csgfile/" | grep "pkg$")
do
/usr/sbin/installer -pkg /private/var/csg/Install/"$csgfile"/"$PKG" -tgt / -allowUntrusted
# Then it will remove the installers
rm -Rf /private/var/csg/Install/"$csgfile"/"$PKG"
done
# ---------------------------------------------------//------------------------------------------------------------
#I remove any old existing ones it makes changes easier
rm -Rf /Library/Preferences/menu.nomad.login.ad.plist
mkdir /var/db/NoMADLogin/
AD_domain="YOUR AD SERVER NAME"
BackgroundImage="PATH TO YOUR CHOSEN BACKGROUND IMAGE"
LoginLogo="PATH TO YOUR CHOSEN LOGO IMAGE"
# EULA="Lots of EULA language"
# EULA_Title=" Computing Resources Usage Agreement"
# EULA_Path="/var/db/NoMADLogin/"
# Admin_Groups="<Tech Support, Domain Admins>"
Placeholder="username@YOUR AD SERVER"
# Write default AD domain
defaults write /Library/Preferences/menu.nomad.login.ad.plist ADDomain "$AD_domain"
defaults write /Library/Preferences/menu.nomad.login.ad.plist BackgroundImage "$BackgroundImage"
defaults write /Library/Preferences/menu.nomad.login.ad.plist LoginLogo "$LoginLogo"
defaults write /Library/Preferences/menu.nomad.login.ad.plist EULAText "$EULA"
defaults write /Library/Preferences/menu.nomad.login.ad.plist EULATitle "$EULA_Title"
defaults write /Library/Preferences/menu.nomad.login.ad.plist EULAPath "$EULA_Path"
defaults write /Library/Preferences/menu.nomad.login.ad.plist CreateAdminIfGroupMember -array 'Tech Support' 'Domain Admins'
defaults write /Library/Preferences/menu.nomad.login.ad.plist UsernameFieldPlaceholder "$Placeholder"
defaults write /Library/Preferences/menu.nomad.login.ad.plist KeyChainAddNoMAD -bool "true"
defaults write /Library/Preferences/menu.nomad.login.ad.plist KeychainCreate -bool "true"
defaults write /Library/Preferences/menu.nomad.login.ad.plist BackgroundImageAlpha "40"
# Backup existing security authdb settings
security authorizationdb read system.login.console > /private/tmp/evaluate-mechanisms/console.bak
# Write NoMADLoginAD security authdb mechanisms
security authorizationdb write system.login.console < /private/tmp/evaluate-mechanisms/console-ad
#Use authchanger
/usr/local/bin/authchanger -reset -AD
# Remove the folder and the archive
rm -Rf /private/var/csg/Install/"$csgfile"
rm -Rf /private/var/csg/Install/"$csgfile".tar.gz
# Find loginwindow processes and kill if any exist
if pgrep loginwindow; then
killall -HUP loginwindow
fi
exit 0 ## Success
exit 1 ## Failure
When this completes it will kill the loginwindow and return the Mac to the login screen.
You can add in composer the images you want, just put them somewhere they can be accessed. Mine are pushed out by another script, but that is just because I was pushing out desktop pictures this way and it was easy to add to them.
I also have a login script that runs as the user and it has...
AD_domain="your ad server"
Realm="YOUR AD SERVER"
# Write default AD domain
defaults write com.trusourcelabs.NoMAD ADDomain -string "$AD_domain"
defaults write com.trusourcelabs.NoMAD KerberosRealm -string "$Realm"
defaults write com.trusourcelabs.NoMAD UseKeychain -bool "true"
defaults write com.trusourcelabs.NoMAD SignInWindowOnLaunch -bool "true"
defaults write com.trusourcelabs.NoMAD UPCAlert -bool "true"
defaults write com.trusourcelabs.NoMAD UseKeychainPrompt -bool "true"
This populates the NoMAD app for the user to be able to sign in. I am thinking of adding this script in to the first one, but making it set up the User Templates. This way every new account that logs in will get the plist by default, and not have it set on every login.
The only other thing we do and it is dependant on your network setup. In DHCP the AD server is in there as Domain Name server and Domain Name. It doesn't work without this. This gets pushed out by the DHCP server, along with our other DNS servers.
Both of these plists need to be in place.
This works for me, hope it helps you.
Paul