Skip to content

Atualizar arquivos Hosts remotamente

23 janeiro, 2013

Hoje tive a necessidade de incluir algumas URLs nos arquivos Hosts das máquinas, pois muitos utilizam o “Cisco VPN Client” que altera a ordem de consulta dos sufixos DNS, causando assim alguns problemas com Outlook por exemplo. Mas como fazer isso?

Este script é muito simples, ele simplesmente lê o arquivo remotamente de cada Computador do AD, carrega na memória, procura se o FQDN existe, e se não existir inclui, isso simplesmente não causa problemas para o usuário caso ele tenha incluído algum endereço.

function add-host([string]$filename, [string]$ip, [string]$hostname)
{

remove-host $filename $hostname

$ip + “`t`t” + $hostname | Out-File -encoding ASCII -append $filename

}

function remove-host([string]$filename, [string]$hostname)
{

$c = Get-Content $filename

$newLines = @()

foreach ($line in $c)
{

$bits = [regex]::Split($line, “\t+”)

if ($bits.count -eq 2)
{

if ($bits[1] -ne $hostname)
{

$newLines += $line

}

}
else
{

$newLines += $line

}

}

Clear-Content $filename

foreach ($line in $newLines)
{

$line | Out-File -encoding ASCII -append $filename

}

}

function print-hosts([string]$filename)
{

$c = Get-Content $filename

foreach ($line in $c)
{

$bits = [regex]::Split($line, “\t+”)

if ($bits.count -eq 2)
{

Write-Host $bits[0] `t`t $bits[1]

}

}

}

$Comp = Get-ADComputer -SearchBase “OU=Computers,DC=domain,DC=net” -Filter *

foreach ($Computer in $Comp)
{

$maq = $Computer.name

$file = “\\$maq\c$\windows\system32\Drivers\etc\hosts”

$adminpath = Test-Path “\\$maq\admin$”

If ($adminpath -eq “True”)
{

Write-Host “$maq\admin$ is OK”

add-host $file 192.168.1.1 mail.domain.net

Write-Host “Add 192.168.1.1 mail.domain.net on $maq”

add-host $file 192.168.1.2 sip.domain.net

Write-Host “Add 192.168.1.2 sip.domain.net on $maq”

}
}

Anúncios

From → Úteis

Deixe um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: