我正在移动文件服务器。 一旦完成,我将不得不改变映射的驱动器号使用全networking指向新机器的UNCpath。 我想通过VBSlogin脚本处理更改,我将附加到OU以映射不同的驱动器。
脚本的目标是首先获取F:的UNCpath(或任何驱动器); 如果它等于“\ old_server \ files”,则断开连接,然后重新连接为“\ new_server \ files”。 否则,什么都不要做。 总共有5个path/驱动器,这将需要发生。
我尝试使用计算机性能的已连接脚本,但无法得到它的工作。 在多台机器上进行testing时,它并没有断开旧驱动器的连接。
任何帮助表示赞赏。
如果你有一个域,那么我会考虑为驱动器映射做一个组策略首选项 。 您应该能够将给定的UNC映射到给定的驱动器,并自动replace存在的任何旧映射。
既然你只是testing旧映射的存在和删除,为了使新的映射,为什么不只是使用Net X:/删除驱动器号,你通常映射,然后继续你的网使用X:语句。 如果新服务器已经存在,删除和重新映射连接将不会造成任何伤害。
有点晚了,但这是你想要的? 这将不得不在每台电脑本地运行 – 例如像你说的login脚本
Set objShell = CreateObject("Wscript.Shell") Set objNet = WScript.CreateObject("Wscript.Network") Set objExec = objShell.Exec("net use ") strMaps = LCase(objExec.StdOut.ReadAll) MapArray=split(strMaps,CHR(10)) for x=1 to ubound(mapArray) if instr(mapArray(x),"i:") AND instr(mapArray(x),"\oldserver1\sharex$") then objNet.RemoveNetworkDrive "i:",true,true objNet.MapNetworkDrive "I:" , "\newserver1\shareX" end if if instr(mapArray(x),"j:") AND instr(mapArray(x),"\\oldserver2\shareY$") then objNet.RemoveNetworkDrive "J:" objNet.MapNetworkDrive "J:" , "\\newserver2\shareX$" end if next