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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] как добавлять в hosts из списка доменов

Ответить
Настройки темы
PowerShell - [решено] как добавлять в hosts из списка доменов

Аватара для leonid.poydolov@fb

Новый участник


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

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


Подскажите как добавлять в hosts из списка доменов, чтобы в hosts подставлялось 127.0.0.1 ok.ru и т.д.
нашел пару скриптов но они только по одному добавляют или уже с ip
список доменов
Код: Выделить весь код
 
$SitesToBlock =("ok.ru", 
"vk.ru", 
"dsen.ru")
код 1
Код: Выделить весь код
 
Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) { 
$hosts = 'C:\Windows\System32\drivers\etc\hosts' 
$is_blocked = Get-Content -Path $hosts | 
 Select-String -Pattern ([regex]::Escape($Url)) 
 If(-not $is_blocked) { 
  $hoststr="127.0.0.1" + $Url 
   Add-Content -Path $hosts -Value $hoststr 
 } 
} 
BlockSiteHosts ("twitter.com")
или код 2
Код: Выделить весь код
$filehost = ([environment]::getfolderpath("Windows"))+'\system32\drivers\etc\hosts' 
$cont = Get-Content $filehost 
$adres = "10.10.10.10 server.domain.ru #1","10.10.10.11 server1.domain.ru" 
$adres = $SitesToBlock 
if (Test-Connection -ComputerName test.domain.ru -count 2 -quiet){ 
 $cont | Where {!($adres -match "$_")} | out-file $filehost -enc ascii  
} 
else { 
 $adres |  Where {!($cont -match "$_")} | Foreach {"`r`n$_"} | out-file $filehost -append -encoding ascii  
}

Отправлено: 09:40, 20-01-2023

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Код: Выделить весь код
#Requires -RunAsAdministrator

$SitesToBlock = @(
"ok.ru"
"vk.ru"
"dsen.ru"
)

$hostsFile = "$env:SystemRoot\system32\drivers\etc\hosts"

$hosts = gc $hostsFile
if ($hosts -eq $null) {$hosts = @()}

$SitesToBlock |% {
    if ($hosts -match "(?<!#.+)\s+$_") {
        Write-Host -fore Green "Запись $_ уже есть"
    }
    else {
        Write-Host -fore Yellow "Добавляется запись $_"
        $hosts += "127.0.0.1`t$_"
    }
}

$hosts |Set-Content $hostsfile -Force -Confirm:$false

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 20-01-2023 в 19:16. Причина: если hosts пустой или отсутствует

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:19, 20-01-2023 | #2



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

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] как добавлять в hosts из списка доменов

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Загрузка списка из txt в bat-файл и выбор из этого списка для запуска DmitriySC Скриптовые языки администрирования Windows 2 18-03-2022 14:03
Интерфейс - [решено] Как удалить устройства MTP из списка? bzz11g Microsoft Windows 8 и 8.1 2 23-05-2015 15:35
Интерфейс - [решено] Как удалить программы из списка? monster Microsoft Windows 8 и 8.1 2 09-09-2013 20:40
Интерфейс - [решено] Как удалить английский язык из списка? Tahkent Microsoft Windows 7 1 28-05-2012 10:00
Интернет - [решено] Как удалить список адресов из списка? Kentuky Microsoft Windows 2000/XP 2 26-09-2007 22:29




 
Переход