我们正在迁移到新的文件和打印服务器,该服务器的名称与旧服务器不同。我们有很多基于部门的映射驱动器以及很多打印机。我只是想知道(在您看来)在客户端计算机上将对旧服务器的所有引用更改为新服务器的最佳方法是什么?
谢谢。
答案1
要更改映射驱动器引用,您可以编写一个非常简单的 VBScript 来重新映射这些引用,并将其作为登录脚本执行。对于打印机也一样。
然后我会在你的 DNS 服务器上创建一个 CNAME 记录,将 oldFileServer 指向 newFileServer(以防万一)
编辑:您无需更改 CNAME。1) 启动新服务器。2) 关闭旧服务器 3) 删除 oldFileServer.myDomain.loc 的 DNS A 记录 4) 添加将 oldFileServer.myDomain.loc 指向 newFileServer.myDomain.loc 的 CNAME 记录
至于示例脚本,这是我们迁移 15 台打印服务器时同事编写的。只需替换\\旧打印服务器位,\\oldPrintServer.myDomain.loc位,以及\\新打印服务器位。然后您需要将其作为用户的登录脚本调用(通过 AD 中的用户帐户、从现有登录脚本或通过 GPO)
Option Explicit
On Error Resume Next
MigratePrint("\\oldPrintServer")
MigratePrint("\\oldPrintServer.myDomain.loc")
Function MigratePrint(strOldServer)
Dim strComputer
Dim strShareName
Dim objWMIService
Dim objPrinter
Dim objItem
Dim colItems
Dim WshNetwork
Dim strNewServer
strComputer = "."
strNewServer="\\newPrintServer"
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer",,48)
For Each objItem in colItems
If objItem.ServerName = strOldServer Then
If objItem.Default = "True" Then
strShareName = objItem.ShareName
End If
WshNetwork.RemovePrinterConnection objItem.ServerName & "\" & objItem.ShareName, True, True
WshNetwork.AddWindowsPrinterConnection strNewServer & "\" & objItem.Sharename
End If
Next
Set objPrinter = CreateObject("WScript.Network")
objPrinter.SetDefaultPrinter (strNewServer & "\" & strShareName)
End Function