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

Ответить
Аватара пользователя
leonid.poydolov@fb

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

Сообщение leonid.poydolov@fb »

Подскажите как добавлять в 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  
}
Аватара пользователя
DJ Mogarych

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

Сообщение DJ Mogarych »

Код:

Код: Выделить всё

#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 "(?
Ответить

Вернуться в «Скриптовые языки администрирования Windows»