Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] как добавлять в hosts из списка доменов (http://forum.oszone.net/showthread.php?t=352861)

leonid.poydolov@fb 20-01-2023 09:40 3001360

как добавлять в hosts из списка доменов
 
Подскажите как добавлять в 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 20-01-2023 10:19 3001364

Код:

#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



Время: 23:53.

Время: 23:53.
© OSzone.net 2001-