Free SmartDock connectivity tool - offline logon scripts

SmartDock is a small exe file that detects whenever the computer changes IP settings of any network adapter and executes a FastTrack script when it does. This means that when the computer for instance is booted, resumes from standby, connects to VPN or a wireless network or any other scenario where the computer changes IP settings, it trigs a script execution. What you actually do in your script is then entirely up to you. This is very handy for portable computers that roams; setting or remove proxy server settings based on whether or not the computer is on LAN or not would be one thing to do instead of using the quirky IE auto detection mechanism. Another thing could be connecting or disconnecting common shares. Think of the script as an offline supplement to your logon script.

SmartDock is not a Windows Service but a small exe file. The reason for this is simple: If it was a Windows Service, it could not run in the user's context and then it would be worthless to you. It would be impossible to set proxy server settings, changing default printer and all other things that are related to the user.

Setup execution

SmartDock is included in the FastTrack Logon package and the easiest way to use it, is to include a line like this in your prelogon.fsh script:

If Portable Then SetUserStartupItem SmartDock,[UserAppDataDir]\FastTrack\SmartDock.exe

This makes SmartDock execute any time the user logs on regardless if the computer is on LAN or not. Since you replicated the script file and the SmartDock executable to a local directory with FastTrack Logon, it can also execute without LAN access.

Example script

Smartdock executes a script named "SmartDock.fsh" in the same directory as the SmartDock.exe. In the FastTrack Logon binary folder there is a already a template script. All lines are commented out, but looks like this:

SmallSplash "Setting up network, please wait..."

If Alive AcmeProxy Then

  SetProxyServer AcmeServer,8080

  ConnectShare J:,\\AcmeServer\CommonShare

  ConnectShare [UserHomeDrive],[UserHomeDir]

Else

  DisableProxyServer

  DisconnectAllShares

End If

If the server AcmeProxy is reachable, proxy server is set and two shares are connected. If the server is not reachable, all shares are disconnected and the the proxy server is disabled to make sure that the user can actually browse the internet outside the company. You could also detect whether the user is on LAN or not by checking the IP scope. You can expand the script with all sorts of other stuff specific to your company needs. Remember that the script will also execute on LAN after your logon script, so don't do anything that voids the functionality of the logon script.