Назад | Перейти на главную страницу

сценарий входа в систему -> если подключенный диск unc = this, то отключите и переназначьте, в противном случае ничего не делать

Я занимаюсь перемещением файловых серверов. После завершения мне придется изменить UNC-путь, который буквы подключенных дисков использовали по всей сети, чтобы указать на новую машину. Я хочу обработать изменение с помощью сценария входа в систему VBS, который я присоединю к подразделениям для сопоставления различных дисков.

Цель сценария - сначала получить UNC-путь для F: (или любого другого диска); если он равен «\ old_server \ files», отключите его, а затем снова подключите как «\ new_server \ files». В противном случае ничего не делайте. Всего это необходимо для 5 путей / дисков.

Я пробовал использовать Уже подключенный скрипт производительности компьютера но не смог заставить его работать. Он не отключил старый диск при тестировании на нескольких машинах.

Любая помощь приветствуется.

Если у вас есть домен, я бы посмотрел на предпочтение групповой политики для сопоставления дисков. Вы должны иметь возможность отображать данный UNC на данный диск и автоматически заменять любые старые сопоставления, которые существуют.

Поскольку вы на самом деле только проверяете наличие старого сопоставления и удаляете его, чтобы создать новое сопоставление, почему бы просто не использовать Net X: / delete для букв дисков, которые вы обычно сопоставили, а затем продолжить свою сеть Используйте операторы X :. Удаление и переназначение соединения, если оно уже существует для нового сервера, не повредит.

Немного поздно, но ты хочешь этого? это должно быть запущено локально на каждом компьютере - например, в сценарии входа в систему, как вы говорите

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