Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - [решено] Нужен .vbs скрипт для внесения изменений в hosts

Ответить
Настройки темы
VBS/WSH/JS - [решено] Нужен .vbs скрипт для внесения изменений в hosts

Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


Изменения
Автор: BKPB
Дата: 14-06-2017
Описание: Дополнение
Помогите написать .vbs скрипт для внесения изменений в hosts,
желательно чтобы при повторном запуске он проверял, если указанный в нём адрес уже существует,
то он бы не прописывал его второй раз, а либо переписывал либо игнорировал.

P.S: У меня есть .cmd, но он при каждом запуске добавляет новую строку (сколько раз запустишь столько и строк)

Отправлено: 18:34, 14-06-2017

 

Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


Обнаружил небольшую проблемку и есть её решение, но нужна помощь т.к я в этом не силён.

Проблема такая, в коде нет снятия защиты с hosts,
обнаружил я это не сразу т.к у себя я её снял и поэтому код на моём ПК работал, а вот на других не вносит изменения.
Скрытый текст
@ECHO OFF
REM Файл для обработки
SET "WORK_FILE=%SystemRoot%\System32\drivers\etc\hosts"
REM Список блокируемых доменов через запятую
SET "BLOCK_DOMAIN=domain1.com,domain2.ru,domain3.net"
FOR %%i IN (%BLOCK_DOMAIN%) DO CALL :WORK "%%~i"
GOTO :EOF
:WORK
FINDSTR /B /I /C:"127.0.0.1" "%WORK_FILE%"|FINDSTR /I /C:"%~1"||(
ECHO 127.0.0.1 %~1>>"%WORK_FILE%"
)
GOTO :EOF


Вот код для снятия защиты, заменив в нём -R на +R защита восстанавливается.
Возможно в нём что то лишнее.
Скрытый текст
@echo off
cd /d "%windir%\system32\drivers"
cd etc

Call :GrantAccess hosts
attrib -R hosts
goto :eof

:GrantAccess
takeown /f "%~1"
echo y|cacls "%~1" /g %username%:f
exit /b


Помогите сделать так, чтобы перед внесением изменений защита снималась, а после обратно восстанавливалась.
Можно конечно запускать их по очереди, но хотелось бы чтобы это было одним файлом.
А то сейчас приходится использовать три файла сценария,
один снимает защиту, второй вносит изменения, третий возвращает защиту.

Последний раз редактировалось BKPB, 25-06-2017 в 22:32. Причина: Правка


Отправлено: 13:44, 25-06-2017 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


Огромное спасибо за помощь FlasherX с сайта www.cyberforum.ru.

Вот скрипт который он написал:
Скрытый текст
Domains = Split("idb.iobit.com anysite.net")

With CreateObject("Scripting.FileSystemObject")
Set F = .GetFile(.GetSpecialFolder(1) & "\drivers\etc\hosts")
End With : A = F.Attributes
All = F.OpenAsTextStream(1).ReadAll
If (A And 1) = 1 Then F.Attributes = A - 1 : T = 1

With New RegExp
.MultiLine = True : .IgnoreCase = True
For Each Dom In Domains
.Pattern = "^(0\.0\.0\.0|121\.0\.0\.1)[\t ]" & Replace(Dom, ".", "\.") & "\b"
If Not .Test(All) Then _
With F.OpenAsTextStream(8) .WriteLine "121.0.0.1 " & Dom : .Close : End With
Next
End With : If T Then F.Attributes = A


Скрипт выполняет следующее:
Снимает защиту
Вносит изменения. В этой строке нужные адреса, сечйчас прописано два адреса. Domains = Split("idb.iobit.com anysite.net")
Не дублирует адреса
Возвращает защиту

Отправлено: 11:40, 28-06-2017 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - [решено] Нужен .vbs скрипт для внесения изменений в hosts

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - нужен vbs скрипт для отпраки файлов на mail exekill Скриптовые языки администрирования Windows 0 18-04-2012 16:28
VBS/WSH/JS - Нужен VBS скрипт для поиска файлов по маске и копирование его в определенное место exekill Скриптовые языки администрирования Windows 0 17-03-2012 10:46
CMD/BAT - Нужен батник для внесения данных в системный реестр Nun-Nun Скриптовые языки администрирования Windows 2 26-09-2010 17:35
Любой язык - [решено] Нужен скрипт cmd,vbs,PowerShell для проверки списка пользователей и их удаление из AD alex_frog Скриптовые языки администрирования Windows 6 22-07-2009 18:41




 
Переход