Как добавить к файлу хоста на удаленной машине с помощью vbscript

#vbscript

#vbscript

Вопрос:

Время от времени мне нужно редактировать файлы хоста на удаленных машинах. Было бы намного проще, если бы я мог использовать для этого быстрый vbscript. Сценарий, над которым я работаю, не вносит изменений, и я не слишком уверен, почему.

 on error resume next
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell=CreateObject("WScript.Shell")
strComputer   = inputbox("Enter remote computer name or leave as localhost for this computer","Get Hosts file","Localhost")
If strComputer = "" Then
    WScript.Quit
End If

HostsFile = strComputer amp; "WindowsSystem32DriversetcHosts" 

Set filetxt = fso.OpenTextFile(HostsFile, ForAppending, True)
DNSEntry = inputbox("Enter the DNS entry" amp; vbCrLf amp; "ex: 192.168.0.2         domain.com","DNSEntry")
If DNSEntry = "" Then
    WScript.quit
Else
filetxt.WriteLine(DNSEntry)
filetxt.Close 
End If

WScript.quit
 

Комментарии:

1. Избавьтесь от злого глобального OERN.

2. прокомментировал это, и все равно ничего хорошего.

3. но вы получите сообщение об ошибке.

4. на самом деле я не получаю никаких ошибок. код проходит так, как будто он работает, но не работает. я использовал msgboxes, чтобы увидеть, где находится код, и возвращает то, что он делает, и, похоже, он работает. просто нет.

5. Какое значение имеет значение HostsFile прямо перед попыткой открыть этот файл?

Ответ №1:

Если вы планируете использовать административный общий ресурс, измените эту строку:

 HostsFile = strComputer amp; "WindowsSystem32DriversetcHosts"
 

Для

 HostsFile = "\" amp; strComputer amp; "c$WindowsSystem32DriversetcHosts"