私が働いている会社では、最近ファイル サーバーを変更しました。古いサーバーは "EXAMPLE-FS-001" と呼ばれ、典型的なドライブ マップは \example-fs-001\staff_directory\staffname です。
新しいサーバーは companyname.local と呼ばれ、典型的なドライブ マップは \companyname.local\shares\staff_directory\staffname になります。
Server 2012 R2 を使用しています。
IT ヘルプデスクが「ネットワーク ドライブが機能しない」というチケットで攻撃されるのを防ぐために、ユーザーのコンピューターで実行し、ネットワーク ドライブのパスを変更するスクリプトを作成しますが、\example-fs-001\ を置き換えるだけです。 \companyname.local\shares\ の部分に。
ホーム ドライブは既に変更されています。これにより、手動で設定されたマップされたネットワーク ドライブが置き換えられます。
私は例に従うことを試みてきましたが、多くは存在しません。
例 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 を初めて使用しますが、その素晴らしい使い方を理解しています。これらのコードのいずれかで順調に進んでいるかどうか知りたいです。
ありがとう、
アルカン