I know your looking for a script, however,
Do you have domain privileges (Server 2008R2-2012) ? If so, use a GPO to set drive letters to specific users or groups.
You can also prevent locals from changing drive letters in the future.
Let me know if you need help with this change
We can create a logon script to do just that. No need for gpo. GPOs can be finicky in regards to running. If they don't get applied how do you force the mapping or manually map it? Scripting it is a much better option because you have a backup when the gpo doesn't work for whatever reason, you can make the script part of the gpo if you so choose so that way you have the best of both worlds. This is how I commonly execute drive mappings.
Here are two scripting examples that will map a drive based on group membership (we can do pc name if they have a specific departmental prefix or suffix that would do it based on where the computer is, good for printer mappings by location).
map y: "\\servername\common share" /persistent:yes
if ingroup("domain group name")
map x: \\servername\sharename /persistent:yes
set objSysInfo = CreateObject("ADSystemInfo")
Set objNetwork = CreateObject("Wscript.Network")
strUserPath = "LDAP://" & objSysInfo.UserName
Set objUser = GetObject(strUserPath)
For Each strGroup in objUser.MemberOf
strGroupPath = "LDAP://" & strGroup
Set objGroup = GetObject(strGroupPath)
strGroupName = objGroup.CN
Select Case strGroupName
Case "domain group name"
objNetwork.MapNetworkDrive "X:", "\\atl-fs-01\sharename"
Following either of these two examples will map the drive every time the user logs in, and if you change their membership will map the new drives for them as well.