Link to home
Start Free TrialLog in
Avatar of LegalIT
LegalIT

asked on

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!

Regards
Avatar of gavin_wickens
gavin_wickens

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
msgbox(sOStype)
'========= 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

    'Initialize
    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
        Else
            '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

ASKER CERTIFIED SOLUTION
Avatar of DrWarezz
DrWarezz

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
8-) Thanks.
[r.D]
Or try

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

iirc this works on NT4, but I'm a bit rusty.