Script to Map Network Shares on OSX (AFP or SMB)
I have tested mapping shares with Profiles and determined that it wasn't 100% reliable, and not as powerful as I liked. I decided to use an AppleScript to map the network shares, which is saved as an app with a nice icon and run at login. It can also be run if the shares disconnect while the user is logged in, which happens quite often since so many of our teachers just close the lid and can go weeks or months without actually logging in to their account on the network (sigh).
The script that I use is below and can be edited easily for use in any environment:
try
set loggedInUser to do shell script "whoami"
set accountType to do shell script "dscl . -read /Users/" & loggedInUser & " | grep UniqueID | cut -c 11-"
set nodeName to do shell script "dscl . -read /Users/" & loggedInUser & " | awk '/^OriginalNodeName:/,/^Password:/' | head -2 | tail -1 | cut -c 2-"
set ADGroups to do shell script "dscl " & quoted form of nodeName & " -read /Users/" & loggedInUser & " | awk '/^dsAttrTypeNative:memberOf:/,/^dsAttrTypeNative:msExchHomeServerName:/'"
if accountType is less than 1000 then
tell me to quit
end if
if ADGroups contains "AllStaff" then
mount volume "smb://<servername>/Staff/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/MediaLibrary/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/Scans/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "AllTeachers" then
mount volume "smb://<servername>/Curriculum_Archives/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/IWB/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/Reports/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/Teachers/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "IWB_Group" then
mount volume "smb://<servername>/Teachers/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/IWB/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/Scans/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "OHS" then
mount volume "smb://<servername>/OHS/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "AdminDepartment" then
mount volume "smb://<servername>/Admin/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "FinanceStaff" then
mount volume "smb://<servername>/Finance/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "PrimaryStudents" then
mount volume "smb://<servername>/Primary/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "PrimaryTeachers" then
mount volume "smb://<servername>/Primary/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "ICT" then
mount volume "smb://<servername>/Installers/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/ICT/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/Archives/" & loggedInUser & ";" & loggedInUser & ":password"
mount volume "smb://<servername>/ISO-Library/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "VCAL" then
mount volume "smb://<servername>/VCAL/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "MediaStudents" then
mount volume "smb://<servername>/VCD/" & loggedInUser & ";" & loggedInUser & ":password"
end if
if ADGroups contains "MediaTeachers" then
mount volume "smb://<servername>/VCD/" & loggedInUser & ";" & loggedInUser & ":password"
end if
on error error_message number error_number
display alert ("One or more NetworkDrivefailedtoinstall.
Pleasereportthiserrortothe ICT Help Desk.
") ¬
message error_message ¬
¬
& (" Error number ") & error_number & "."
end try
p.s. you can also use "afp" rather than "smb" shares in the script. We mostly use AFP, but I edited it as I suspect many on here will just be using SMB.

2 Comments
Recommended Comments
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now