Jump to content

Recommended Posts

Posted

One of my schools has 2 servers (both 2003) and the one that I have been warning about for over a year has finally given up the ghost. The set up was:

 

Server: seemed to handle DHCP and held various shared areas

Server 2: SIMS and user profiles

 

Both were configured as File/Print Server, Domain Controller and DNS Server (way before my time).

 

I can't get the dead server (Server) to boot to OS at all though (luckily) I seem to be able to see the Data drive (but not the OS drive) and am currently retrieving the data. I have enabled DHCP on Server 2 and now have net access (thank god!), but cannot access any shared resources on it by name - though if I use the IP address it works. e.g. If I try to connect to \\server2\printer it doesn't work, but using \\192.xxx.xxx.xx\printer does; I can also ping 192.etc but not server2.

 

How can I resolve this, and should I do anything else? I presume that Server 2 needs to be promoted and I've had a look at this thread, but I'm not sure what's relevant.

 

We have a couple of unused ContentCache servers, and I was hoping to repurpose one to serve the shared areas that were on the dead server (and possibly the printer shared from it). To save having to manually alter the links on 200+ XP Home laptops, is there any reason why I shouldn't rename the replacement server as "Server"?

Posted

Sounds like server 1 did DNS too...

There are several roles (or FSMOs) you can ask an Domain controller to serve. They should be forfilled be a DC on your network somewhere or you'll get problems.

If you only have on DC I guess it should do them all.

 

If your old server was called 'server' AND it was a domain controller... then I would call your new repurposed server by the same name until you've sorted out your active directory.

 

Better being safe than sorry and calling it by a different name - you'll give yourself lots of AD grief if something still thinks it's the old bit of kit...

  • Thanks 1
Posted
I agree with the DNS diagnostic above. You should be fine calling the new replacement server by the old servers name as long as you clean out all of the old reffrences to the old one from AD first. As it is not bootable you will not be able to use dcpromo to do it and will have to do it manually after seizing all of the roles. Manually Removing a Domain Controller from Active Directory : Brian Desmond's BlogDelete Failed DCs from Active Directory
  • Thanks 1
Posted

Thanks, folks. I was coming to the same conclusion (though DNS is enabled under "Manage you Server", looking at the link suggests that some DNS is more equal than others) but didn't have a clue how to proceed; big thanks for the link, SYNACK.

 

Reading through the info now - I'll probably be back with more questions later!

Posted

Ideally each DC running DNS should point to itself first, then another server second, so in the event of a failure DNS should still be functional. You've already enabled DHCP Server which is good, but ideally you still need to get the PDC back online and then transfer all FSMO roles. I'd also make sure your DNS servers are listed within DHCP Server.

 

Once you've retrieved all data, you could use this drive to re-install Windows, allocate the same name and IP, then perform a full restore including the system state. This should then bring the network back online and allow you to transfer all roles. At this point I would then demote the server as a DC altogether so it's just a member server.

  • Thanks 1
Posted
From previous experience I tend to follow the advice to seize all roles to your remaining DC, back it up darned quickly and then introduce a new box, with a new name and that way you eliminate some of the risk of the new second DC having different information in the GUID, Sites & Services, DNS, etc compared to the name.
  • Thanks 1
Posted
ideally you still need to get the PDC back online and then transfer all FSMO roles.

 

Unfortunately, I can't see it happening; the OS disk seems irretrievably damaged :(.

 

From previous experience I tend to follow the advice to seize all roles to your remaining DC, back it up darned quickly and then introduce a new box, with a new name and that way you eliminate some of the risk of the new second DC having different information in the GUID, Sites & Services, DNS, etc compared to the name.

 

How likely is this, do you think? I'm a bit concerned that if I don't have the same name than mappings to \\server\public and \\server\ColourCopier will need to be manually remapped on 200+ laptops that are a sod to get off the kids/teachers. (Or am I missing an easy way to do this, bearing in mind that these machines are not domain members?)

Posted (edited)

Its probably easier to remap with a script, this should simply swap any printers mapped to the old server to the new one at user logon: (from cleanest to dirtyiest code)

http://lordoftheping.blogspot.com/2007/09/vbscript-to-change-printer-server.html

 

or

 

VBS Printer update script Help....#

Option Explicit

Dim strComputer : strComputer = "."

Dim objWMIService : Set objWMIService = GetObject("winmgmts:\\" & _

strComputer & "\root\cimv2")

Dim colPrinters : Set colPrinters = objWMIService.ExecQuery("SELECT * FROM Win32_Printer")

Dim strOldPrintServer : strOldPrintServer = "OLDPRINTSERVER"

Dim strNewPrintServer : strNewPrintServer = "NEWPRINTSERVER"

Dim objNetwork : Set objNetwork = CreateObject("WScript.Network")

Dim objPrinter, strOldPrinter, strNewPrinter

For Each objPrinter In colPrinters

strOldPrinter = UCase(objPrinter.DeviceID) ' this will be \\servername\printername

If InStr(strOldPrinter, UCase(strOldPrintServer)) Then 'check to see if old printer server name is in the printer path

strNewPrinter = Replace(strOldPrinter, UCase(strOldPrintServer), UCase(strNewPrintServer)) 'replace old printer name with new one

On Error Resume Next

objNetwork.AddWindowsPrinterConnection strNewPrinter ' attempt to add new printer connectiong

If Err.Number = 0 Then

If objPrinter.Default Then

objNetwork.SetDefaultPrinter strNewPrinter ' if old printer was the default and no errors, make the new one the default

End If

objNetwork.RemovePrinterConnection strOldPrinter ' if no errors; remove old printer connection

Else

WScript.Echo Err.Number & " - " & Err.Description

End If

On Error GoTo 0

End If

Next

 

or

 

http://www.mombu.com/microsoft/microsoft/t-printer-queues-moved-to-new-server-2577743.html

dim net: Set net = CreateObject("WScript.Network")

OldPrintServer = "ws2003e02"

NewPrintServer = "PSrv2k8"

 

Dim PConnections

set PConnections = net.EnumPrinterConnections()

 

' Manually pad the names for the servers.

' Doing it this way should reduce administrator

' errors slightly.

' Or not. However, it lets us enter the names

' in a cleaner fashion and doesn't force people

' to remember where to put how many (\)s.

OldPrintRoot = "\\" & OldPrintServer & "\"

NewPrintRoot = "\\" & NewPrintServer & "\"

 

 

' Following reduces list to only UNC paths (or

' names for local printers)

Redim Queues(PConnections.count/2)

for i = 1 to PConnections.count step 2

Queues((i-1)/2) = PConnections(i)

next

 

' Reduce queues to ONLY those with the old print root

OldQueues = Filter(Queues, OldPrintRoot, True, vbTextCompare)

'WScript.Echo Join(OldQueues, vbCrLf)

 

 

' If NewPrintServer isn't up yet, there will be significant

' pause (15-45 sec) while AddWindowsPrinterConnection times out.

' for that reason, we want to quit trying if it doesn't work.

' The following loop tries to remap each queue. If it succeeds,

' the old mapping is deleted.

' If it fails for two queues during the process, we quit trying.

' This is intentional; you don't want a user with 10 print queues

' mapped to wait for 7-8 minutes while the logon script does nothing.

 

Dim failures: failures = 0

For Each OldQueue in OldQueues

NewQueue = Replace(OldQueue, OldPrintRoot, NewPrintRoot)

On Error Resume Next

Net.AddWindowsPrinterConnection(NewQueue)

'could test err.number, but this lets us stop

' error suppression immediately.

errnum = err.number

On Error Goto 0

if err.number = 0 Then

' remap succeeded; kill the old queue

' We want to force it if necessary, AND update profile.

Net.RemovePrinterConnection OldQueue, False, False

else

failures = failures + 1

' One failure might be a glitch. Two failures means

' a problem somewhere; stop slowing down progress

' and exit the For-Next loop.

'WScript.Echo Hex(Err.Number)

If failures > 1 Then Exit For

end if

Next

Edited by SYNACK
  • Thanks 1
Posted
Its probably easier to remap with a script, this should simply swap any printers mapped to the old server to the new one at user logon

 

I did consider this (and something similar for the mapped drive) but won't that only work on machines joined to the domain? I guess if the worst comes to the worst I could stick a couple of scripts on a key and get the teachers to do it. (Hmmm... maybe just do it myself in a couple of the classes!)

Posted

I have another solution that is probably easier, just add a CNAME to DNS as an alias with the old servers name pointing to the new servers ip. That way the new server can still be called something different but the shares and printers will still map. You will need to add this reg tweak to get it to work though: CNAME Sharing disabled in Windows 2003 SP1

 

It is still advisable to clear out the records of the old DC using the metods above though as when you come to upgrade or add more servers it could cause you greif.

  • Thanks 1
Posted
I have another solution that is probably easier

 

Easier sounds good to me!

 

Have worked through the first page on the previous link, about to start the cleanup...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...