在我公司工作,因为我们最近已更改的文件服务器上的旧称为“实施例-FS-001”和典型的驱动器映射是\例如-FS-001 \ staff_directory \ staffname如何使用PowerShell替换部分映射的网络驱动器路径?
新服务器称为companyname.local,典型的驱动器映射将是\ companyname.local \ shares \ staff_directory \ staffname。
我们正在使用Server 2012 R2。
为了帮助IT服务台免受有关“我的网络驱动器无法正常工作”的票据的轰炸,我想创建一个脚本,该脚本可以在用户计算机上运行并更改网络驱动器路径,但只需替换\ example- fs-001 \ to \ companyname.local \ shares \ part。
主驱动器已经更改,这将取代手动设置映射的网络驱动器。
我一直在试图遵循的例子,但并不存在很多。
例1
Set objNetwork = CreateObject("Wscript.Network")
Set colDrives = objNetwork.EnumNetworkDrives
For (i = 0 to colDrives.Count-1 Step 2){}
If (colDrives.Item(i + 1) = "\\EXAMPLE-FS-001")
{strDriveLetter = colDrives.Item(i)
objNetwork.RemoveNetworkDrive strDriveLetter
objNetwork.MapNetworkDrive strDriveLetter, "\\companyname.local\shares"}
End If
Next
例2
On Error Resume Next
strOldServer = "EXAMPLE-FS-001"
strNewServer = "companyname.local\shares"
Set objNetwork = CreateObject("Wscript.Network")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objNetwork.EnumNetworkDrives
For i = 0 to colDrives.Count-1 Step 2
strThisServer = Left(Mid(colDrives.Item(i + 1), 3), InStr(Mid(colDrives.Item(i + 1), 3), "\") - 1)
If LCase(strThisServer) = LCase(strOldServer) Then
strDriveLetter = colDrives.Item(i)
strNewPath = "\\" $strNewServer "\" $Mid(colDrives.Item(i + 1), $Len("\\" & strOldServer & "\") + 1)
If objFSO.FolderExists(strNewPath) = True Then
objNetwork.RemoveNetworkDrive strDriveLetter
objNetwork.MapNetworkDrive strDriveLetter, strNewPath
End If
End If
Next
我是新来的PowerShell,但看到它的梦幻般的使用,我很想知道,如果我在轨道上的任这些代码。
感谢,
阿尔坎