[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2777
  • Last Modified:

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
0
LegalIT
Asked:
LegalIT
  • 2
  • 2
1 Solution
 
gavin_wickensCommented:
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
0
 
gavin_wickensCommented:
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

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

:----8<----------------------------- FileName.bat ------------------------------------:
@ECHO OFF

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

GOTO :EOF

:NOT_NT
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

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

Good luck,
[r.D]
0
 
DrWarezzCommented:
8-) Thanks.
[r.D]
0
 
carmineCommented:
Or try

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

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

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now