This posting covers how to create a script (application) for your Mac to automatically connect to a shared Windows folder when you login to your Mac.
Creating the Script
- Open the Apple Script Editor: Applications > Utilities > AppleScript Editor
- Enter the script code below:
(Note: if you copy/paste this code you may need to re-type all the “double quotes” to correct the syntax.)
- Click the Compile button to validate your code.
tell application "Finder" if not (exists disk "SHARED") then mount volume "smb://MyServer/MyShare" end tell
Saving the Script File as an AppleScript file
This will save the script in a format that can later be edited, if you chose to make changes.
- File > Save
- Specify a name for your script. For example: MapNetworkServers.scpt
- File Format: Script
- Run Only: Unchecked
Saving the Script File as an Application
This will save the file in an executable format. This is the file that will run at login.
- File > Save As
- Specify where you want to save your script file, and specify a file name. For example: MapNetworkServers.app. I created a folder called “Commands” in my Documents folder where I store my script and application file.
- Set the File Format to Application.
- Check the Run Only check box. This will cause the script to run and exit.
- Click Save.
You should now have two files:
- MapNetworkServers.scpt – keep this file so you can modify this script in the future.
- MapNetworkServers.app – this is the script you will use to configure to execute when you login.
Configure the Script to Run at Login
- Go to System Preference > Accounts
- Select the appropriate user; the user you want this script to run when they login.
- Select the Login Items tab.
- Click the “+” button at the bottom of the list of applications to add a new startup application.
- Browse to your MapNetworkServers.app file and select it.
- You should now see it in the list.
- Optional: You can check the Hide check box, if you like. I suggest not doing this until you know your script is working correctly.
That’s it. Your shared Windows server folders should now be mapped automatically when you login.
This sample script only maps one folder, the “MySharedFolder” folder. However, on my home network I have several folders on the same server that exist. If you have previously selected all the shared Windows folders (using Finder > Go > Connect to Server), and provide your login credentials to that server, all the shared folders on that server will appear; which is ultimately what I want anyway. This also allows your script to be shorter and easier to maintain by having to map one shared folder in your script instead of having to write a line of code for each and every shared foler on that Windows server.