Home Directories not mapping

O

OregonSteve

Greetings-

Mixed W2K, W2K3 domain; single site; 3 DCs. Using NetWare client to log
into NetWare file servers and Windows client to authenticate to Domain and
access Windows file servers. Workstations are XP Pro SP1.

Some users sometimes don't get their Home directory mapped when they log in.
They can restart two or three times until they get it. At the same time,
we're using a logon script (VBS) through a GPO, mapping two or three drives.
Again, some people SOMETIMES get an error and don't get those drives mapped.
Here is the error and the script:

Script:
\\Domain.com\SysVol\Domain.com\Policies\...\...\...\...\Lscript.vbs
Line: 54
Char: 4
Error: Logon Failure: The target accouint name is incorrect.
Code: 80070574
Source: (null)

Line 54 is where it identifies the Provider: Set objUser =
GetObject("WinNT://" _
& strDomain & "/" _
& strUserName & ",user")

----------------------------------
'System Login Script

Dim WSHNetwork, FSO, strUserName, strUserDomain, ObjGroupDict, objGroup

'---------THIS SECTION SETS VALUES FOR VARIABLES -----------------
Set WSHNetwork = wscript.CreateObject("WScript.Network")
Set FSO = CreateObject("Scripting.FileSystemObject")

strUserName = ""
While strUserName = ""
wscript.Sleep 500
strUserName = WSHNetwork.UserName
Wend
strUserDomain = WSHNetwork.UserDomain


Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName)

'----------THIS SECTION NAMES THE SECURITY GROUPS------------------
For Each objGroup In ObjGroupDict

Select case Ucase(objGroup)
case "- INFORMATION SYSTEMS"
call InformationSystems
case "IS_TECHS"
call IS_Techs
case "IS_TRAIN"
call IS_Train
case else
End Select

Next



'----THIS SECTION CREATES THE DICTIONARY OBJECTS ENUMERATING GROUP
MEMBERSHIP----
Function CreateMemberOfObject(strDomain, strUserName)
Dim objUser, objGroup

'====================================================
'BEGIN LDAP PROVIDER CALL; PREFERRED METHOD OF GATHERING GROUP INFO;
WIN2K/XP ONLY
' Set CreateMemberOfObject = CreateObject("Scripting.Dictionary")
' Set objSysInfo = CreateObject("ADSystemInfo")
' Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
' For Each objGroup In objUser.Groups
' CreateMemberOfObject.Add objGroup.sAMAccountName, "-"
' Next
'END LDAP PROVIDER
'====================================================


Set CreateMemberOfObject = CreateObject("Scripting.Dictionary")
CreateMemberOfObject.CompareMode = vbTextCompare
Set objUser = GetObject("WinNT://" _
& strDomain & "/" _
& strUserName & ",user")
For Each objGroup In objUser.Groups
CreateMemberOfObject.Add objGroup.Name, "-"
Next
Set objUser = Nothing

End Function

'===================================================================
'------------------------- end of main script ----------------------------
'===================================================================

'---------THIS SECTION MAPS DRIVE LETTERS BASED ON GROUP MEMBERSHIP--------

Sub InformationSystems
WSHNetwork.MapNetworkDrive "I:", "\\Server1\IS\Data", False
' WSHNetwork.MapNetworkDrive "<drive letter>:",
"\\<server>\<share>\<folder>", False
End Sub
'--------------------------------------------------------------------------

Sub IS_Techs
WSHNetwork.MapNetworkDrive "T:", "\\Server1\IS\Techs", False
' WSHNetwork.MapNetworkDrive "<drive letter>:",
"\\<server>\<share>\<folder>", False
End Sub
'--------------------------------------------------------------------------

Sub IS_Train
WSHNetwork.MapNetworkDrive "I:", "\\Server1\IS\Data\Train", False
' WSHNetwork.MapNetworkDrive "<drive letter>:",
"\\<server>\<share>\<folder>", False
End Sub
 
T

Tim Springston \(MSFT\)

Hi Steve-

When this issue occurs, I would have your clients check their secure channel
and see which domain controller their workstation is looking to for
authentication at the time the logon script fails to run.

On Windows 2000, XP and 2003 machines you can get this by gathering a
NETDIAG /V (NETDIAG.EXE is a Support Tool). The test below is what you want
to look at (this one is a success):

Trust relationship test. . . . . . : Passed
Test to ensure DomainSid of domain 'DOMAIN' is correct.
Secure channel for domain 'DOMAIN' is to '\\DC1.domain.local'.
Secure channel for domain 'DOMAIN' was successfully set to PDC
emulator'\\DC1.domain.local'.

If you are able to determine that a particular server or servers are the
ones the workstations are connecting to when this fails you can begin
looking at those servers to see what state they are in.

--
Tim Springston
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.
OregonSteve said:
Greetings-

Mixed W2K, W2K3 domain; single site; 3 DCs. Using NetWare client to log
into NetWare file servers and Windows client to authenticate to Domain and
access Windows file servers. Workstations are XP Pro SP1.

Some users sometimes don't get their Home directory mapped when they log in.
They can restart two or three times until they get it. At the same time,
we're using a logon script (VBS) through a GPO, mapping two or three drives.
Again, some people SOMETIMES get an error and don't get those drives mapped.
Here is the error and the script:

Script:
\\Domain.com\SysVol\Domain.com\Policies\...\...\...\...\Lscript.vbs
Line: 54
Char: 4
Error: Logon Failure: The target accouint name is incorrect.
Code: 80070574
Source: (null)

Line 54 is where it identifies the Provider: Set objUser =
GetObject("WinNT://" _
& strDomain & "/" _
& strUserName & ",user")

----------------------------------
'System Login Script

Dim WSHNetwork, FSO, strUserName, strUserDomain, ObjGroupDict, objGroup

'---------THIS SECTION SETS VALUES FOR VARIABLES -----------------
Set WSHNetwork = wscript.CreateObject("WScript.Network")
Set FSO = CreateObject("Scripting.FileSystemObject")

strUserName = ""
While strUserName = ""
wscript.Sleep 500
strUserName = WSHNetwork.UserName
Wend
strUserDomain = WSHNetwork.UserDomain


Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName)

'----------THIS SECTION NAMES THE SECURITY GROUPS------------------
For Each objGroup In ObjGroupDict

Select case Ucase(objGroup)
case "- INFORMATION SYSTEMS"
call InformationSystems
case "IS_TECHS"
call IS_Techs
case "IS_TRAIN"
call IS_Train
case else
End Select

Next



'----THIS SECTION CREATES THE DICTIONARY OBJECTS ENUMERATING GROUP
MEMBERSHIP----
Function CreateMemberOfObject(strDomain, strUserName)
Dim objUser, objGroup

'====================================================
'BEGIN LDAP PROVIDER CALL; PREFERRED METHOD OF GATHERING GROUP INFO;
WIN2K/XP ONLY
' Set CreateMemberOfObject = CreateObject("Scripting.Dictionary")
' Set objSysInfo = CreateObject("ADSystemInfo")
' Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
' For Each objGroup In objUser.Groups
' CreateMemberOfObject.Add objGroup.sAMAccountName, "-"
' Next
'END LDAP PROVIDER
'====================================================


Set CreateMemberOfObject = CreateObject("Scripting.Dictionary")
CreateMemberOfObject.CompareMode = vbTextCompare
Set objUser = GetObject("WinNT://" _
& strDomain & "/" _
& strUserName & ",user")
For Each objGroup In objUser.Groups
CreateMemberOfObject.Add objGroup.Name, "-"
Next
Set objUser = Nothing

End Function

'===================================================================
'------------------------- end of main
cript ----------------------------
 
O

OregonSteve

Greetings-

We have used the SET command to identify the logonserver for one user
experiencing the problems and at first it appeared to be one particular
server, but further investigation has revealed that it can be any of our
DCs. This morning it took her four reboots to get an H: drive...

Thanx
OregonSteve
 
T

Tim Springston \(MSFT\)

Hi OregonSteve-

Windows XP has a caching feature that makes the SET logonserver variable a
less reliable test for secure channel info. If, after looking at the
NETDIAG test I mentioned, you do not see any enlightening info appear, you
may want to capture the network traffic of a client exhibiting the problem
and a separate capture of the problem not occurring in order to compare the
two.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top