Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Workstations Lose Connectivity

Status
Not open for further replies.

rocmills

Technical User
Dec 30, 2002
142
US
I originally posted this problem in a different forum, and Linney suggested it would be better to post here. This is the problem I am having:


If anyone has any suggestions (in plain english-for-idiots), I would be extremely grateful. I've pretty much decided this is something I can't do myself, but thought I would give this forum a shot before I surrender to my server ignorance.

Thank you in advance for any input or suggestions you might have.

--Roc
 
That's a lot of reading.
Just to clarify the original server was stolen, then you restored to a new one? Did you see any strange DNS issues [not the error messages in eventvwr e.g the old servers DNS settings, the name of this server the same as the stolen one, and is the IP the same?]
I take it all the FSMO roles are now on this server?
In the dssite.msc are there any replication partners. You can run Check replication topology. BTW is this the only server? [Maybe add a desktop as a DC and see if the problem still exists]
Does the actual server also hang? or just clients.
On XP have you gone to Start -> Help & Support -> Tools -> Network diagnostics?
I see the one post you have a certificate error, where you using GPO to automate the roll out of the CA certificate?
finally have you tried a packet sniffer to capture packets at that time.

 
Will continue to think of anything else, seems as power was covered, switches, routers, planes, radios etc. Network cards where covered, which made me think of the following. I was practicing recovery once and every time I done a system state restore the old network card would also be restored. [Hidden of course]. So just check it no longer exists.
Add in your system environment variables the variable
DEVMGR_SHOW_NONPRESENT_DEVICES
set it's value to: 1
reboot your machine
goto your device manager [devmgmt.msc]
Click View -> Show hidden devices.
Just delete the network card you no longer have.
And just in case DNS try clearing the cache. Open dnsmgmt.msc Click -> View -> Advanced.
Right click cached lookups and click Clear cache.

Did they ever perform a metadata cleanup.
BTW even printers could cause packets to lockup the network, so look into a packet sniffer as mentioned. I believe you running 2000 so MS network monitor wont work in this case.



 
GrimR,

That's a lot to chew on, and I will see if I can manage it. I'm not a server person, I can geek a workstation and fix a broken computer, but servers and networks are mostly beyond my comprehension.

Strangely enough, the problem did not occur this past Monday or Tuesday and on both days the server was rebooted mid-day as were the workstations. Also, when I tried to update the driver for the Netgear Gigabit card (ga311.exe), the update closed half-way through - it uninstalled the old software without installing the update. (instructions indicated i would have to shut down the server and remove the card, then install updated driver and reinstall the card) So maybe the gigabit driver was partially responsible?

--Roc
 
I think I may have found another clue. When I "rebuilt" the network (server) from the back up after our break in, I didn't change anything in the software though there was one change in hardware. The server box (fileserver) and/or the network think we still have two servers: fileserver and printserver. Printserver box does not exist, but I can't figure out how to get the fileserver machine to remove it. Every place I have found and tried to delete references to printserver give me an error message.

Example: In Active Directory Users and Computers (on the fileserver), under Domain Controllers, when I tell it to delete the entry for 'printserver' it responds "The DSA object cannot be deleted."

I get the same error message in other windows, so I'm obviously not looking in the right place to delete the non-existent printserver.

--Roc
 
That's why I asked
Did they ever perform a metadata cleanup.
Just out of interest are there entries in dssite.msc to replicate to that old server?
To remove references to that computer you going to have to perform a metadata cleanup.
Here's a script which may help with that. Copy past to notepad, save as MetaDataScript.vbs and run it. Once that's done restart the server.
BTW did you manage to add the system environment variables to check for hidden network cards.
Right Click My Computer -> Properties -> Advanced -> environment variables Click new under System variable and add DEVMGR_SHOW_NONPRESENT_DEVICES
set it's value to: 1

Code:
REM    ==========================================================
REM                GUI Metadata Cleanup Utility
REM             Written By Clay Perrine - clayp@microsoft.com
REM                          Version 2.5
REM    ==========================================================
REM     This tool is furnished "AS IS". NO warranty is expressed or Implied.

on error resume next
dim objRoot,oDC,sPath,outval,oDCSelect,objConfiguration,objContainer,errval,ODCPath,ckdcPath,myObj,comparename

rem =======This gets the name of the computer that the script is run on ======

Set sh = CreateObject("WScript.Shell")
key= "HKEY_LOCAL_MACHINE"
computerName = sh.RegRead(key & "\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName")

rem === Get the default naming context of the domain====

set objRoot=GetObject("LDAP://RootDSE")
sPath = "LDAP://OU=Domain Controllers," & objRoot.Get("defaultNamingContext")

rem === Get the list of domain controllers====

Set objConfiguration = GetObject(sPath)
For Each objContainer in objConfiguration
outval = outval & vbtab &  objContainer.Name & VBCRLF
Next
outval = Replace(outval, "CN=", "")

rem ==Retrieve the name of the broken DC from the user and verify it's not this DC.===

oDCSelect= InputBox (outval,"Type the Name of the Problem Domain Controller","")
comparename = UCase(oDCSelect)



if comparename = computerName then
msgbox "The Domain Controller you entered is the machine that is running this script." & vbcrlf & "You cannot clean up the metadata for the machine that is running the script!",,"Metadata Cleanup Utility Error."
wscript.quit
End If


sPath = "LDAP://OU=Domain Controllers," & objRoot.Get("defaultNamingContext")
Set objConfiguration = GetObject(sPath)
For Each objContainer in objConfiguration
Err.Clear
ckdcPath = "LDAP://" & "CN=" & oDCSelect & ",OU=Domain Controllers," & objRoot.Get("defaultNamingContext")
set myObj=GetObject(ckdcPath)
If err.number <>0 Then
errval= 1
End If
Next
If errval = 1 then
msgbox "The Domain Controller you entered was not found in the Active Directory",,"Metadata Cleanup Utility Error."
wscript.quit
End If
abort = msgbox ("You are about to remove all metadata for the server " & oDCSelect & "! Are you sure?",4404,"WARNING!!")
if abort <> 6 then
msgbox "Metadata Cleanup Aborted.",,"Metadata Cleanup Utility Error."
wscript.quit
end if
oDCSelect = "CN=" & oDCSelect
ODCPath ="LDAP://" & oDCselect & ",OU=Domain Controllers," & objRoot.Get("defaultNamingContext")
sSitelist = "LDAP://CN=Sites,CN=Configuration," & objRoot.Get("defaultNamingContext")
Set objConfiguration = GetObject(sSitelist)
For Each objContainer in objConfiguration
Err.Clear
sitePath = "LDAP://" & oDCSelect & ",CN=Servers," &  objContainer.Name & ",CN=Sites,CN=Configuration," & objRoot.Get("defaultNamingContext")
set myObj=GetObject(sitePath)
If err.number = 0 Then
siteval = sitePath
End If    
Next
sFRSSysvolList = "LDAP://CN=Domain System Volume (SYSVOL share),CN=File Replication Service,CN=System," & objRoot.Get("defaultNamingContext")
Set objConfiguration = GetObject(sFRSSysvolList)
For Each objContainer in objConfiguration
Err.Clear
SYSVOLPath = "LDAP://" & oDCSelect & ",CN=Domain System Volume (SYSVOL share),CN=File Replication Service,CN=System," & objRoot.Get("defaultNamingContext")
set myObj=GetObject(SYSVOLPath)
If err.number = 0 Then
SYSVOLval = SYSVOLPath
End If
Next
SiteList = Replace(sSitelist, "LDAP://", "")
VarSitelist = "LDAP://CN=Sites,CN=Configuration," & objRoot.Get("defaultNamingContext")
Set SiteConfiguration = GetObject(VarSitelist)

For Each SiteContainer in SiteConfiguration
Sitevar = SiteContainer.Name
VarPath ="LDAP://OU=Domain Controllers," & objRoot.Get("defaultNamingContext")
Set DCConfiguration = GetObject(VarPath)
    For Each DomContainer in DCConfiguration
    DCVar = DomContainer.Name
    strFromServer = ""
    NTDSPATH =  DCVar & ",CN=Servers," & SiteVar & "," & SiteList
    GuidPath = "LDAP://CN=NTDS Settings,"& NTDSPATH
    Set objCheck = GetObject(NTDSPATH)
        For Each CheckContainer in objCheck

rem ====check for valid site paths =======================
        ldapntdspath = "LDAP://" & NTDSPATH
        Err.Clear
        set exists=GetObject(ldapntdspath)
            If err.number = 0 Then
                Set oGuidGet = GetObject(GuidPath)

                For Each objContainer in oGuidGet
                oGuid = objContainer.Name
                oGuidPath = "LDAP://" & oGuid & ",CN=NTDS Settings," & NTDSPATH  
                Set objSitelink = GetObject(oGuidPath)
                objSiteLink.GetInfo
                strFromServer = objSiteLink.Get("fromServer")
                ispresent = Instr(1,strFromServer,oDCSelect,1)


                    if ispresent <> 0 then

                    Set objReplLinkVal = GetObject(oGuidPath)
                    objReplLinkVal.DeleteObject(0)
                    else
                    end if
                next

                sitedelval = "CN=" & comparename & ",CN=Servers," & SiteVar & "," & SiteList
                if sitedelval = ntdspath then
                    Set objguidpath = GetObject(guidpath)
                    objguidpath.DeleteObject(0)
                    Set objntdspath = GetObject(ldapntdspath)
                    objntdspath.DeleteObject(0)
                    else
                end if
            End If
        next
    next
next


Set AccountObject = GetObject(ckdcPath)
temp=Accountobject.Get ("userAccountControl")
AccountObject.Put "userAccountControl", "4096"
AccountObject.SetInfo
Set objFRSSysvol = GetObject(SYSVOLval)
objFRSSysvol.DeleteObject(0)
Set objComputer = GetObject(ckdcPath)
objComputer.DeleteObject(0)
Set objConfig = GetObject(siteval)
objConfig.DeleteObject(0)
oDCSelect = Replace(oDCSelect, "CN=", "")
msgval = "Metadata Cleanup Completed for " & oDCSelect
msgbox  msgval,,"Notice."
wscript.quit
 
Seems as our time differences are way off. I'll post the next step for you to complete.
Open cmd <b>Start -> Run -> CMD </b>and type in <b>netdiag /fix</b>, this should now sort out any other DNS inconsistency.
For Server 2000
Other support tools if you wish to install.
You can load support tools from the Win2K CD-ROM in the \support\tools folder.
 
Damn can't edit that post. Lets see if bold works now.
Seems as our time differences are way off. I'll post the next step for you to complete.
Open cmd Start -> Run -> CMD and type in netdiag /fix, this should now sort out any other DNS inconsistency.
For Server 2000
Other support tools if you wish to install.
You can load support tools from the Win2K CD-ROM in the \support\tools folder.
 
Grim,

I just installed all the support tools for 2000 Server, but have not yet had a chance to try them out. Hope to have time to get to all your suggestions later today, or maybe tomorrow.

An interesting note, the problem has not occurred at all for the past three days.

Also just learned that everyone is being cut back to half-time starting next month, so I may not have the opportunity to keep digging into this after Labor Day.

--Roc
 
Added the environment variable.

Ran netdiag /fix on server.
Lots of information scrolled across cmd window... including lots of DNS_ERROR_RCODE_SERVER_FAILURE referencing an ip of 208.57.0.11 - I'm pretty sure this was the old IP and not the new one.

Will not be able to reboot the machine until Tuesday morning as a back up is running at the moment.

However, I should point out that the problem has not occurred at all this week. Obviously there are many things wrong with the internal settings on the server, but maybe it was the Netgear Gigabit adapter software/driver which was causing the problem.

Will report back again on Tuesday.

Thanks, Grim, for going above and beyond the call...

--Roc
 
Very strange... I saved the metadata script. Tried to run it on the server via run command under start button. It asked me FILESERVER or PRINTSERVER and I typed FILESERVER in the box. Told me I could not run the script on the same machine as the script resided.

When I try to run the script from my workstation, it keeps opening in notepad!

--Roc
 
I dont think it will work considering the machine name will be the same. Hopefully after fixing the network card drivers and DNS the problem will be solved. BTW just check if you still have any replication partners in dssite.msc.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top