Jamf Binary 9.01 & 10.6 Network Home Drives

Hobbs155
Contributor

Has anyone else upgraded to 9.01 and had the binary break the Use Windows UNC path for home at log on?
Basically all our SL machines are getting question marks "?" in the dock when users log on.
I have removed the jamf binary (sudo jamf removeFramework), logged out and logged back in, homeShare was mounted on the dock.
I used to recon app to app the mac back to JSS, log out log back in and I get a question mark again.....

I'm sure we can't be the only school in the world with this problem.

30 REPLIES 30

dmcintos
New Contributor

You're not the only one. It's not every account but I'd say about 25% or more don't mount in the dock. We see it on 10.8.4 as well. Just not as many accounts affected.

dmcintos
New Contributor

If I uncheck the box for "Enable computer-level Managed Preferences in the Check-In option in computer management, the network home mounts fine. That is not a practical option for a school as we lock certain things in iTunes which are then open to students. Such as explicit music, music sharing, internet radio, ect. This doesn't make much sense as these are user-level preferences for iTunes. They don't get applied if the computer-level managed preferences is unchecked.

Hobbs155
Contributor

dmcintos - thank you for that, lucky we dont have many computer level policies and could probably script locking down what we want to, although not ideal at least we wont have 100's of students and staff without home network share, your advice is very much appericated. If you figure anything else out please let us know, i will do the same, i'm currently working with our Jamf techincal support to see what we come up with.

Hobbs155
Contributor

unchecking "Enable computer-level Managed Preferences" is a bit hit and miss for us, certainly not worth disabling at this stage, although we are getting pretty desperate now.

Hobbs155
Contributor

Anyone else having these issues?

GSquared
New Contributor II

We also are having this issue. We will be placing a call to JAMF tomorrow as none of our staff, administration and some students can access their network homes without going and explicitly connecting to them (CMD-K + type in path) and reloading Dock which is highly impractical for any normal user.

Huge huge problem for us and we were going crazy thinking it was our image until we accidentally didn't enroll one computer and it worked fine after trying to figure this out for days now.

JAMF -- Please let us know if you are working on this or if you need anything from your users. Can't wait to talk to your team tomorrow and hopefully get this resolved for everyone!

GSquared
New Contributor II

Update: Placed a call and working with JAMF now on this. Also, issue persists on 9.1 as well.

jbrucato
New Contributor

We have yet to upgrade to v 9.x, but if this is an issue then I am going to continue to hold off. The majority of our clients are 10.6 and we rely on the AD plugin to auto mount the UNC path.

Just to clarify, you guys are using the AD plugin to auto mount the UNC path for that user, correct? You're not using a JAMF policy to do so?

I hope this gets corrected!

Hobbs155
Contributor

We are letting OS X do the mounting, We have a called placed with out JSS support and Adam is working closely with me on this, from what i have found and tested, user-level managed preferences is what is stopping the mounting, I figured this out by accident.

When this issue was reported to IT by the teachers, our IT macs were working perfectly fine but all the others were not.
I did a jamf removeFramework and the mounting worked i re-add the the jamf binary and it stopped working, (puzzled but able to narrow it down the jamf binary breaking it) dmcintos commented that by unchecking computer-level managed preferences he got more of a success rate but it still wasn't consistent.

Still puzzled i used the cool new feature of being able to have multiple tabs with v9 and compared computer inventory-details of the one working and one broken (both with the jamf binary installed) the only difference i could pick out was the Managed Preferences that were being applied which confused me even more.
Not sure on where to start i started with a fresh clean manage preference group and scoped a non working mac to it and excluded it from other managed preference scopes.
I removed all managed preferences by doing the following:

sudo dscl . -mcxdelete /Computers/localhost
sudo rm -rf /Library/Managed Preferences

I then applied the new mcx by running jamf mcx -verbose

I got a message saying no mcx settings at computer level (strange) i rebooted logged in and i had my home drive mount, i continued the process adding one mcx at a time to the test mcx group, Everything was still working and i had exactly the same settings by the end. :-( (This would be because the computer was not downloading mcx settings.)

Not getting anywhere i decided to add my own mac which was working to the student mcx settings group and see what happened, running the jamf mcx -verbose it downloaded all the updated mcx settings, (i sat and scratched me head a little and went to get a coffee)

I went back to the mac that was working but not getting the correct mcx settings, i ran an jamf enroll and rebooted and then the jamf mcx -verbose to see what it was doing, and this time was downloading the mcx settings, so back to square one.
I started removing mcx settings one by one, i had about 3 left in the list and the mount started working again, i went back and compared the test mcx group and the original, the test one had no user-level enfored mcx settings, as soon as i add the user-level enfored mcx settings it stopped working again for me.

We are lucky that the only user level mcx settings we had was for Fast User switching - disable
Time Machine, Bluetooth menu extra - disabled

We in the process of upgrading everything to ML in time for Mavericks, (skipping Lion), we can use Configuration profiles to lock system preferences to stop students enabling any of this.
In our imaging process we have a Default Profile.dmg for each Computer lab with the way we want the students profiles setup with all this stuff disabled and configued anyway, so the theory for the student labs is if its configured already and locked down no need to have them.

For staff we would still like to be able to use them but its a different story for another day.

We have upgraded to v9.1 (stuff is broken anyway) so will need to do some testing and see what has been fixed and what has been broken.

GSquared
New Contributor II

https://gist.github.com/GSquared/6fcd0d0da615ba213647

Temporary Fix feel free to edit it for your own use.

Mounts the SMBHome and kills the dock after 4 seconds. Question Mark goes away. I use it as a login script right now. Works great so far especially if you want MCX settings to still be applied.

jbrucato
New Contributor

I just went through this myself. Short story: I ended up downgrading back to 8.72. This is the second time I've had to go back to v8 because of bugs in v9.

I guess it's partly my fault for not testing it out enough, but this is crazy. First it was the MCX prefs not coming over and now the AD UNC path isn't mounting automatically. I really hope this gets fixed because we have A LOT of iPads coming in soon with iOS7 and I'd like to take advantage of some of the new features in mgmt.

Hobbs155
Contributor

We are pushing through this and have worked around this issue by removing the user level mcx settings, we only had a few, we then push the settings we want set with packages of the plists if that makes sense.

jbrucato
New Contributor

Hobbs,

Can you explain the user level MCX changes you made? For instance, how would one handle MS Office First Run via your method?

Thank you,

John

Hobbs155
Contributor

John - the user level mcx settings we had configured was:

Disable Fast User Switching
Bluetooth Menu Extra
Wifi Menu Extra
Time Machine Menu Extra

We removed these user-level mcx settings and just left computer level ones.
With Mountain Lion we have packaged up a Default Profile with all this already set and during imagining we use FUT and FEU so when students or staff log on this is already configured. I hope this makes sense.

To answer your question with the MS Office First run, we have made up a script that runs on log in, it will write to a log file when it is done, this is done so when staff log in it will check the log file if it is there it will exit. For students their accounts deleted at log off so it will need to run every time they log on, naturally the log file wont exist if their account is deleted.

Here is a sample of the script feel free to edit it if you wish, it is probably not the most efficient script but it works so we not really going to change it until we really need to. I have made the changes you would need to make in BOLD and marked them with the characters < and >

Hope it helps.

#!/bin/bash

########################################################################################
# Disable Office First run Script
# This version is for Office 2011.
#
# By: Calvin Van Helsdingen
#
# Purpose: This script will auto populate all office first run preferences
# so the user does not have to. The script will only do this if the
# user is part of Active Directory.
# This allows a more controlled environment and sets everything up
#
########################################################################################

# Sets the username to the Casper Variable.
USERNAME=$3

# Set the Log Path
LOGF="/Users/$USERNAME/Library/Application Support/<School Name>/OfficeSetup.log"

# Set the ADMIN Domain Primary Group ID.
ADMINDOMAIN=123456789 <put your Domains Primary Group ID Here>

# Set the DOMAIN Domain Primary Group ID.
DOMAINDOMAIN=123456789 <put your child Domain Primary Group ID Here>

# Set the Office .plist paths and locations.
OFFICEPREF="/Users/$USERNAME/Library/Preferences/com.microsoft.office.plist"
OFFICEDOMAIN="/Users/$USERNAME/Library/Preferences/com.microsoft.office"

# Set the name of the Organisation
OFFICEORG="<Your Company/School Name Here>"

# Auto Updates
AUPREF="/Users/$USERNAME/Library/Preferences/com.microsoft.autoupdate2.plist"
AUDOMAIN="/Users/$USERNAME/Library/Preferences/com.microsoft.autoupdate2"

# Error Reporting
ERPREF="/Users/$USERNAME/Library/Preferences/com.microsoft.error_reporting.plist"
ERDOMAIN="/Users/$USERNAME/Library/Preferences/com.microsoft.error_reporting"

# Excel
EXPREF="/Users/$USERNAME/Library/Preferences/com.microsoft.Excel.plist"
EXDOMAIN="/Users/$USERNAME/Library/Preferences/com.microsoft.Excel"

# Word
WORPREF="/Users/$USERNAME/Library/Preferences/com.microsoft.Word.plist"
WORDOMAIN="/Users/$USERNAME/Library/Preferences/com.microsoft.Word"

# PowerPoint
PPTPREF="/Users/$USERNAME/Library/Preferences/com.microsoft.PowerPoint.plist"
PPTDOMAIN="/Users/$USERNAME/Library/Preferences/com.microsoft.PowerPoint"

# Outlook
OUTPREF="/Users/$USERNAME/Library/Preferences/com.microsoft.Outlook.plist"
OUTDOMAIN="/Users/$USERNAME/Library/Preferences/com.microsoft.Outlook"

## Set Variable for OS Version
sysver=sw_vers -productVersion | cut -c 1-4

### Set DSCL Path based on OS Version
if [ $sysver = 10.6 ]; then
ADPATH="/Active Directory/All Domains"
else
ADPATH="/Active Directory/ADMIN/All Domains"
fi

if [ -f "$LOGF" ];then
exit 0
else

##################### Beginning ###############################################

echo "---------- Beginning Log ----------" >> "$LOGF"
echo "Configuring Office 2011............" >> "$LOGF"
echo `date "+%d%m%y %H.%M"` >> "$LOGF"
echo "User: $USERNAME" >> "$LOGF"

##################### Check What User Is Logged On ###########################

# No point in Setting a local user.
PRIMARYGROUPID=$(id -G $USERNAME | awk '{print $1}')

echo "$PRIMARYGROUPID" >> "$LOGF"

if [ "$PRIMARYGROUPID" = "$ADMINDOMAIN" ]; then
echo "$USERNAME is part of the ADMIN Domain" >> "$LOGF"
elif [ "$PRIMARYGROUPID" = "$DOMAINDOMAIN" ]; then
echo "$USERNAME is part of the DOMAIN Domain" >> "$LOGF"
else
echo "User is not part of Active Directory" >> "$LOGF"
echo -e "---------- Ending Log ---------- " >> "$LOGF"; exit 0; fi

echo "$USERNAME is running" >> "$LOGF"

##################### Office Preferences #######################################

# Create files and values com.microsoft.office.plist
if [ -f "$OFFICEPREF" ];then
echo "com.microsoft.office.plist exists." >> "$LOGF"
else
echo "com.microsoft.office.plist does not exist. Creating it and setting SetupComplete to 1" >> $LOGF
defaults write "$OFFICEDOMAIN" "14FirstRunSetupComplete" -int 1
defaults write "$OFFICEDOMAIN" "14File New StateFNXCEL" -int 0
defaults write "$OFFICEDOMAIN" "14File New StateFNPPT3" -int 0
defaults write "$OFFICEDOMAIN" "14File New StateFNMSWD" -int 0
chmod -f 777 "$OFFICEPREF"
fi

echo "Checking if 14FirstRunSetupComplete has value 1" >> "$LOGF"
SETUPSTATUS=$(defaults read "$OFFICEDOMAIN" "14FirstRunSetupComplete")
if [ $SETUPSTATUS = 1 ];then
echo "SetupComplete is set to 1. Nothing to do" >> "$LOGF"
else
echo "Setting SetupComplete to 1" >> "$LOGF"
defaults write "$OFFICEDOMAIN" "14FirstRunSetupComplete" -int 1
defaults write "$OFFICEDOMAIN" "14File New StateFNXCEL" -int 0
defaults write "$OFFICEDOMAIN" "14File New StateFNPPT3" -int 0
defaults write "$OFFICEDOMAIN" "14File New StateFNMSWD" -int 0
chmod -f 777 "$OFFICEPREF"; fi

##################### Excel Preferences ######################################

# Disable Excel Welcome Screen
if [ -f "$EXPREF" ];then
echo "com.microsoft.Excel.plist exists." >> "$LOGF"
else
echo "com.microsoft.Excel.plist does not exist. Creating it and setting SetupComplete to 1" >> "$LOGF"
defaults write "$EXDOMAIN" "14Microsoft ExcelHide Welcome Window" -int 1
chmod -f 777 "$EXPREF"
fi

SETUPEXCELSTATUS=$(defaults read "$EXDOMAIN" "14Microsoft ExcelHide Welcome Window")
if [ $SETUPEXCELSTATUS = 1 ]
then
echo "Excel Welcome Window is set to 1. Nothing to do" >> "$LOGF"
else
echo "Setting Hide Welcome Window to 1" >> "$LOGF"
defaults write "$EXDOMAIN" "14Microsoft ExcelHide Welcome Window" -int 1
chmod -f 777 "$EXPREF"
fi

##################### Word Preferences ######################################

# Disable Word Welcome Screen
if [ -f "$WORPREF" ];then
echo "com.microsoft.Word.plist exists." >> "$LOGF"
else
echo "com.microsoft.Word.plist does not exist. Creating it and setting SetupComplete to 1" >> "$LOGF"
defaults write "$WORDOMAIN" "14OptionsHide Welcome Dialog" -int 1
defaults write "$WORDOMAIN" "14OptionsOptions:StartWhatIsNew" - int 1
chmod -f 777 "$WORPREF"
fi

SETUPWORDSTATUS=$(defaults read "$WORDOMAIN" "14OptionsHide Welcome Dialog")
if [ $SETUPWORDSTATUS = 1 ]
then
echo "Word Welcome Window is set to 1. Nothing to do" >> "$LOGF"
else
echo "Setting Hide Welcome Window to 1" >> "$LOGF"
defaults write "$WODOMAIN" "14OptionsHide Welcome Dialog" -int 1
defaults write "$WORDOMAIN" "14OptionsOptions:StartWhatIsNew" - int 1
chmod -f 777 "$WORPREF"
fi

##################### PowerPoint Preferences ######################################

# Disable PowerPoint Welcome Screen
if [ -f "$PPTPREF" ]; then
echo "com.microsoft.PowerPoint.plist exists." >> "$LOGF"
else
echo "com.microsoft.PowerPoint.plist does not exist. Creating it and setting SetupComplete to 1" >> "$LOGF"
defaults write "$PPTDOMAIN" "14OptionsOptionsHide Welcome Dialog" -int 1
chmod -f 777 "$PPTPREF"
fi

SETUPPPTSTATUS=$(defaults read "$PPTDOMAIN" "14OptionsOptionsHide Welcome Dialog")
if [ $SETUPPPTSTATUS = 1 ]
then
echo "PowerPoint Welcome Window is set to 1. Nothing to do" >> "$LOGF"
else
echo "Setting Hide Welcome Window to 1" >> "$LOGF"
defaults write "$PPTDOMAIN" "14OptionsOptionsHide Welcome Dialog" -int 1
chmod -f 777 "$PPTPREF"
fi

##################### Outlook Preferences ######################################

# Disable Outlook Welcome Screen
if [ -f "$OUTPREF" ];then
echo "com.microsoft.Outlook.plist exists." >> "$LOGF"
else
echo "com.microsoft.Outlook.plist does not exist. Creating it and setting SetupComplete to 1" >> "$LOGF"
defaults write "$OUTDOMAIN" "FirstRunExperienceCompleted" -int 1
chmod -f 777 "$OUTPREF"
fi
SETUPOUTSTATUS=$(defaults read "$OUTDOMAIN" "FirstRunExperienceCompleted")
if [ $SETUPOUTSTATUS = 1 ]; then
echo "Outlook Welcome Window is set to 1. Nothing to do" >> "$LOGF"
else
echo "Setting Hide Welcome Window to 1" >> "$LOGF"
defaults write "$OUTDOMAIN" "FirstRunExperienceCompleted" -int 1
chmod -f 777 "$OUTPREF"
fi

##################### Update Preferences ######################################

# Create fields and values com.microsoft.autoupdate2.plist
if [ -f "$AUPREF" ];then
echo "com.microsoft.autoupdate2.plist exists." >> "$LOGF"
else
echo "com.microsoft.autoupdate2.plist does not exist. Creating it and setting HowToCheck and LastUpdate to Manual" >> "$LOGF"
defaults write "$AUDOMAIN" "HowToCheck" -string "Manual"
defaults write "$AUDOMAIN" "LastUpdate" -date "2001-01-01T00:00:00Z"
chmod -f 777 "$AUPREF"
fi
echo "Checking if HowToCheck has value Manual" >> "$LOGF"
HOWTOCHECK=$(defaults read "$AUDOMAIN" "HowToCheck")
LASTUPDATE=$(defaults read "$AUDOMAIN" "LastUpdate")
if [ $HOWTOCHECK = "Manual" ]
then
echo "HowToCheck is set to Manual. Nothing to do" >> "$LOGF"
else
echo "Setting HowToCheck to Manual" >> "$LOGF"
defaults write "$AUDOMAIN" "HowToCheck" -string "Manual"
chmod -f 777 "$AUPREF"
fi
if [ -z "$LASTUPDATE" ];then
echo "LastUpdate is empty, populating"
defaults write "$AUDOMAIN" "LastUpdate" -date "2001-01-01T00:00:00Z"
else
echo "LastUpdate exists"
fi

##################### Error Reporting Preferences ######################################

# Create fields and values com.microsoft.error_reporting.plist
if [ -f "$ERPREF" ];then
echo "com.microsoft.error_reporting.plist exists." >> "$LOGF"
else
echo "com.microsoft.error_reporting.plist does not exist. Creating it and setting SQMReportsEnabled and ShipAssertEnabled to False" >> "$LOGF"
defaults write "$ERDOMAIN" "SQMReportsEnabled" -bool False
defaults write "$ERDOMAIN" "ShipAssertEnabled" -bool False
chmod -f 777 "$ERPREF"
fi
echo "Checking if SQMReportsEnabled has value False" >> "$LOGF"
SQMREPORTS=$(defaults read "$ERDOMAIN" "SQMReportsEnabled")
SHIPASSERT=$(defaults read "$ERDOMAIN" "ShipAssertEnabled")
if [ $SQMREPORTS = "0" ]
then
echo "SQMReportsEnabled is set to False. Nothing to do" >> "$LOGF"
else
echo "Setting SQMReportsEnabled to False" >> "$LOGF"
defaults write "$ERDOMAIN" "SQMReportsEnabled" -bool False
chmod -f 777 "$ERPREF"
fi
if [ $SHIPASSERT = "0" ]
then
echo "ShipAssertEnabled is set to False. Nothing to do" >> "$LOGF"
else
echo "Setting ShipAssertEnabled to False" >> "$LOGF"
defaults write "$ERDOMAIN" "ShipAssertEnabled" -bool False
chmod -f 777 "$ERPREF"
fi

##################### UserInfo Preferences ######################################

# Set name
REALNAME=$(dscl "$ADPATH" -read /Users/"$USERNAME" RealName | grep -v RealName | sed 's/^[ ]*//')
echo "RealName is $REALNAME" >> "$LOGF"
REALNAMESTATUS=$(defaults read "$OFFICEDOMAIN" "14UserInfoUserName")
echo "RealName Status is $REALNAMESTATUS" >> "$LOGF"
if [ ! "$REALNAMESTATUS" = "REALNAME" ]; then
echo "Setting realname" >> "$LOGF"
defaults write "$OFFICEDOMAIN" "14UserInfoUserName" -string "$REALNAME"
defaults write "$OFFICEDOMAIN" "14UserInfoUserOrganization" -string "$OFFICEORG"
chmod -f 777 "$OFFICEPREF"
else
echo "REALNAME is already set" >> "$LOGF"; fi

##################### Ending Preferences ######################################

echo -e "---------- Ending Log ---------- " >> "$LOGF"
fi

jbrucato
New Contributor

Thank you for the script. I've been working with JAMF support on this and we're both kind of stuck right now. Has anyone else made any more progress?

Hobbs155
Contributor

What user-level mcx settings do you have applied at the moment? Have you tested removing all your user level mcx settings?

Ever time i made changes i ran the following and then rebooted:
To delete out user level Managed Preferences: sudo dscl . -mcxdelete /Users/<username>

To delete out system level Managed Preferences: sudo dscl . -mcxdelete /Computers/localhost

Deletes Managed Preferences Folder: rm –rf /Library/Managed Preferences/

Can you package up your user level managed preferences and deploy them using FUT and FEU? Use the login script to configure office first run, or if you didnt want your office personalized you could package up the office plists aswell and deploy them then when your users log in they will get all your settings you want.

Hobbs155
Contributor

jbrucato - i have asked my account manager to contact yours to see if they can help, we are using a work around as listed above but i believe this is a real problem they need to address.

GSquared
New Contributor II

jbrucato -- The script I posted has been deployed campus wide to our 1-to-1 laptop program and labs and has been working flawlessly. No need to change your MCX settings they are still working for us using this work around. I also added a check to see if the home was mounted already but that part will be specific to the mount name and I statically used ours instead of coding it for changes. I can modify it when I get some time if need be.

It is definitely a problem that needs fixing though.

Hopefully they will release some official fix soon.

jbrucato
New Contributor

Gsquared,

It looks like your script is going to work, however it's prompting the user to input their network password. I'm assuming this has something to do with kerberos not being set up correctly? I'm not very familiar with kerberos, but if I go into ticket viewer, I'm seeing a valid kerberos ticket that has not expired.

Does this mean the I don't have my file share kerberized correctly? I'm running a 10.8 server for home directories over AFP.

Can anyone offer some advice?

Thank you!

GSquared
New Contributor II

It sounds like it is not carrying over the logged in credentials to authenticate to the server. Usually it does this automatically. If you try to connect to the network home directory does it work or does it prompt you as well? This will be the key factor as that is all it does (just without user intervention).

Also that script is specifically grabbing the SMBShare option so if you are using AFP Shares you may have to tweak it for that. If it is prompting them for the correct home drive then that option is more flexible than I had thought. We are using Active Directory and Windows file shares for home drives so that is why it is based on SMB. Let me see if I can work something out.

edit: Also, if you need to use it as an option after already being logged in $3 in the script won't work. Just set a variable user=ls -la /dev/console | cut -d " " -f 4 and replace $3 with $user.

jbrucato
New Contributor

It prompts either way when attempting to connect to the server. I tweaked it for AFP, and attempted SMB as well but I'm getting the same results either way.

I've also set the variables statically just to make sure and I'm getting the same results. It's odd that the AD plugin will mount it automatically, but not when I try to use a script.

bentoms
Esteemed Contributor
Esteemed Contributor

The script is running as root & not as a user.

(However, I have not read the script).

Deploy it to /Library/Scripts & try as a launch agent.

(May end up running too late, but might work!).

jbrucato
New Contributor

I believe I may have figured out the issue. On my test server I had to run:

sudo dsconfigad -enablesso

The scripts started to work after that. I'm going to attempt this on the production server once the machines turn off so the binary doesn't update right away.

jbrucato
New Contributor

Thank you everyone for your help!! I think I'm out of the woods. I've updated 8.72 > 9.12 and all looks good. I tested a bunch of machines and the home directories are mounting because of the script.

My specific problem was the Single Sign On (SSO) wasn't properly enabled on my file server. Once I enabled that I was golden.

GSquared
New Contributor II

Glad it is working now jbrucato! And bentoms, I thought about a launch agent, I was just looking for a super quick solution in hopes that it would be corrected on the jamf binary soon.

jbrucato
New Contributor

Does anyone know if 9.2 resolved this issue?

GSquared
New Contributor II

It is currently filed as a defect (D-005615) and no I don't believe it did.

elislider
New Contributor

We are currently also having this problem after migrating to 9.x

In people's experience, does simply disabling User-Level Enforced preferences solve the problem on its own? Or do I manually have to tell computers to clear out preferences with a script?

Any hope in sight for a fix from JAMF?

tcam
Contributor

I'm also experiencing this issue. Clients are on 10.7.5 JSS is 9.3. I did notice the fallowing.

without MCX from the JSS (ad account)
com.apple.dock:

MCXDockSpecialFolders:

Value: ( AddDockMCXOriginalNetworkHomeFolder ) State: always Source: TheShare (User)

static-others:

Value: ( ) State: always Source: TheShare (User)

loginwindow:

AutoLaunchedApplicationDictionary-managed:

Value: ( { AuthenticateAsLoginUserShortName = 1; "MCX-NetworkHomeDirectoryItem" = 1; } ) State: always Source: TheShare (User)

with the JSS MCX (ad account)
com.apple.dock:

MCXDockSpecialFolders:

Value: ( AddDockMCXOriginalNetworkHomeFolder ) State: always Source: TheShare (User), TheShare (User)

static-others:

Value: ( { "tile-data" = { "file-data" = { "_CFURLString" = "file://localhost/Volumes/TheShare//"; "_CFURLStringType" = 15; }; "file-label" = "TheShareU2019s Network Home"; }; "tile-type" = "directory-tile"; } ) State: always Source: TheShare (User), TheShare (User)

loginwindow:

AutoLaunchedApplicationDictionary-managed:

Value: ( ( { AuthenticateAsLoginUserShortName = 1; "MCX-NetworkHomeDirectoryItem" = 1; URL = "smb://TheServer/TheShare"; } ), { AuthenticateAsLoginUserShortName = 1; "MCX-NetworkHomeDirectoryItem" = 1; } ) State: always Source: TheShare (User), TheShare (User)

tcam
Contributor

the solutions above did not work for me. So this is what i'm using for now.

#!/bin/bash

#### mountHome.sh
#### mount windows network home share


#### Read in the parameters
####
mountPoint=$1
computerName=$2
username=$3
theDomain=$4
customParameter2=$5
customParameter3=$6
customParameter4=$7
customParameter5=$8
customParameter6=$9



##### Echo input parameters
#####
echo ""
echo "Target Drive Mount Point:   $mountPoint"
echo "ComputerName:               $computerName"
echo "Username:                   $username"
echo "theDomain:                  $theDomain"
echo "Custom Parameter 2:         $customParameter2"
echo "Custom Parameter 3:         $customParameter3"
echo "Custom Parameter 4:         $customParameter4"
echo "Custom Parameter 5:         $customParameter5"
echo "Custom Parameter 6:         $customParameter6"
echo ""


#### set OS verion
# 
OS=`/usr/bin/defaults read /System/Library/CoreServices/SystemVersion ProductVersion | awk '{print substr($1,1,4)}'`

#### get home folder location
####
#if [[ "$OS" < "10.6" ]]; then
#   echo "OS less then or euqal to 10.6"
#   targetHome=$(dscl /Active Directory/All Domains/Users -read /Users/"$username" SMBHome | sed 's/^.{9}//' | sed 's/\///g')
#ELSE
    echo "OS is greater then 10.6"
    targetHome=$(dscl /Active Directory/"$theDomain"/All Domains -read /Users/"$username" SMBHome | sed 's/^.{9}//' | sed 's/\///g')
#fi

#### echo $targetHome
####
echo ""
echo "targetHome:         $targetHome"
echo ""

#### set share name
####
homeName=$(basename "$targetHome")


#### echo $homeName
####
echo ""
echo "homeName:         $homeName"
echo ""

#### mount Share
####
/usr/bin/su - "$username" -c "mkdir /Volumes/"$homeName" ; /sbin/mount_smbfs smb:"$targetHome" /Volumes/"$homeName""


exit 0

(requires theDomain)