Net use command in Windows NT 4

Dear all experts,

  I've some question regarding the net use command in Windows NT4, please kindly advice:

  Currently I've 10 NT 4 Workstations and 60 Windows 2000 Professional clients, both of the computers are joinned in my Windows 2003 Active Directory.  I've made a login script for my client to map the network drive when they login to the network, the script is as follow:

  Net Use H: \\Server1\Data > Nul
  Net Use I: \\Server1\Data\Application > Nul
  Net Use J: \\Server1\Data\Application\New > Nul
  Net Use K: \\Server1\Document > Nul
  Net Use L: \\Server1\Document\IT > Nul
  Net Use M: \\Server1\Document\Human > Nul

  Where \\Server\Data and \\Server1\Document are the share folder in my network.
  And Application is the subfolders under "Document" share

  When the clients login on the Windows 2000 Professional machine, it can map all the network drives (H, I, J, K, L, M).  However, when the clients login on the Windows NT4 workstatoin, it can mapped to H and K drive.  I think the problem is the net use command provided by Windows NT4 cannot map to network share folder directly.  

  Therefore, can any experts tell me how to override the above problem.  How do I re-write my login script?  Please advice.

  Futhermore, I would like to know how to detemind the OS version in login script.

Thounsand Thanks!

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Windows 2000 and above supports deep root mapping, this means that you can map a drive to any folder beneth a share.  NT can't do this so you could share each folder, eg share application and share document.

then update the script to read:

 Net Use H: \\Server1\Data > Nul
 Net Use I: \\Server1\Application > Nul
 Net Use J: \\Server1\New > Nul
 Net Use K: \\Server1\Document > Nul
 Net Use L: \\Server1\IT > Nul
 Net Use M: \\Server1\Human > Nul
For determining OS here is a vbscript:

'========= Declarations =================
Option Explicit

'Define variables
Dim sOStype
Dim iRetVal

'========= Main code =================

'Display a string for OS type rather than a number
iRetVal = GetOSType
Select Case iRetVal
    Case 0
        sOStype = "Not found"
    Case 1
        sOStype = "Windows 95"
    Case 2
        sOStype = "Windows 98"
    Case 3
        sOStype = "Windows Me"
    Case 4
        sOStype = "Windows NT"
    Case 5
        sOStype = "Windows 2000"
    Case 6
        sOStype = "Windows XP"
End Select
'========= Procedures and functions ==============

Function GetOSType
    'Declare local variables
    Dim sOSType    'Temp variable to store values from registry
    Dim oWshShell    'Needs the Shell object to access registry

    Set oWshShell = WScript.CreateObject("WScript.Shell")
    GetOSType = 0

    'Get OS Info from registry
    On Error Resume Next
        'Initially assume Win9x platform
        sOSType = oWshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Version")

        If sOSType = Empty Then
            'If variable still empty then NT platform is used
            'Read version from registry to find type of NT platform
            '    "CurrentVersion"="4.0"
            '    "CurrentVersion"="5.0"
            sOSType = Trim(oWshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion"))
            If sOSType = "5.1" Then
                'Windows XP
                GetOSType = 6            
            ElseIf sOSType = "5.0" Then
                'Windows 2000
                GetOSType = 5
            ElseIf sOSType = "4.0" Then
                'Windows NT 4.0
                GetOSType = 4
            End If
            'Find type of Win9x platform
            '    "Version"="Windows 98"
            '    "Version"="Windows 95"
            '    "Version"="Windows Millennium Edition"
            If InStr(1,sOSType,"Millennium Edition",1) > 0 Then
                'Windows Me
                GetOSType = 3
            ElseIf InStr(1,sOSType,"98",0) > 0 Then
                'Windows 98
                GetOSType = 2
            ElseIf InStr(1,sOSType,"95",0) > 0 Then
                'Windows 95
                GetOSType = 1
            End If
        End If
    On Error Goto 0

    'Clean up
    Set oWshShell = Nothing
End Function

You might be able to do that all in an MSDOS script, try this:

:----8<----------------------------- FileName.bat ------------------------------------:

FOR /F "tokens=3 delims= " %%C in ('ver') do IF /I "%%C" NEQ "NT" GOTO :NOT_NT

 Net Use H: \\Server1\Data > Nul
 Net Use I: \\Server1\Application > Nul
 Net Use J: \\Server1\New > Nul
 Net Use K: \\Server1\Document > Nul
 Net Use L: \\Server1\IT > Nul
 Net Use M: \\Server1\Human > Nul


ECHO The detected OS does not appear to be Windows NT...

  Net Use H: \\Server1\Data > Nul
  Net Use I: \\Server1\Data\Application > Nul
  Net Use J: \\Server1\Data\Application\New > Nul
  Net Use K: \\Server1\Document > Nul
  Net Use L: \\Server1\Document\IT > Nul
  Net Use M: \\Server1\Document\Human > Nul

ECHO complete.
:----8<----------------------------- FileName.bat ------------------------------------:

Good luck,

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
8-) Thanks.
Or try

subst J: \\Server1\Data\Application\New > Nul

iirc this works on NT4, but I'm a bit rusty.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Operating Systems

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.