I have been plagued with a problem on Windows 7 Professional (may also apply to Windows Vista) with Red X’s on mapped drives after a logoff/reboot. I spent days on the phone with Microsoft support about this issue, to no avail. The problem was this… When logging on to Windows, a Red X appears on all mapped drives. If you click on the drive to open it, it open fine. So what’s the problem? If you do not manually click on that drive to activate it, software that you use that depends on resources in that drive will not work (in my case, QuickBooks).
I have Googled my fingers blue and could not find a resolution… Until recently. Upon my research in the various forums across the net’, I noticed one common factor with everyone having these issues – drives being mapped by a logon script. The problem with Windows Vista and Windows 7 is with it’s added security. I found that if I turned off UAC (User Account Control), the drives would map perfectly and no Red X’s would appear. Unfortunately for us, not having the UAC active is not an option. Try temporarily disabling the UAC on your PC – if it works and your drives are being mapped by a logon script, then this solution will most likely work for you. I also found that even after I resolved the issue, when leaving the computer locked overnight I came back in and My Computer was riddled with Red X’s again – this was as the result of another issue… So it seems the problem was a combination of two issues. Microsoft created a KB article here that addresses the latter issue.
I then recreated the logon scripts and made them vbscripts instead of batch files. If you are not the administrator of you network and cannot add this script into your company’s SYSVOL\[domain name\Scripts folder, you can just as easily add it into you computers Startup folder. The below example is the script I found that works to solve this issue – copy it into notepad, modify it to your settings and save it as winlogon.vbs
On Error Resume Next
Set objNetwork = CreateObject("Wscript.Network")
Set colDrives = objNetwork.EnumNetworkDrives
For i = 0 to colDrives.Count-1 Step 2
objNetwork.RemoveNetworkDrive colDrives.Item(i)
Next
objNetwork.MapNetworkDrive "L:", "\\myserver\share1"
objNetwork.MapNetworkDrive "N:", "\\myserver\share2"
objNetwork.MapNetworkDrive "M:", "\\myserver\share3"
objNetwork.AddWindowsPrinterConnection "\\myserver\printer1"
Set objWSHShell = Wscript.CreateObject("Wscript.Shell")
strLogonServer = objWSHShell.ExpandEnvironmentStrings("%LOGONSERVER%")
objNetwork.MapNetworkDrive "N:", strLogonServer & "\root"
Resources:




Thank you so much Brad by providing this solution. Nothing Else I found on the internet worked for me. Bless you.