Existe uma maneira de executar em uma lista de computadores e ativar NetBios neles?

2

Estou procurando uma maneira de ativar o NetBios em todos os servidores no meu domínio por um período limitado de um mês e, mais tarde, devo desativá-lo novamente (ele é usado por alguns aplicativos de inventário que estamos usando). Você tem alguma ideia de como alcançar esse objetivo? O roteiro de Powershell seria legal.

    
por Itai Ganot 22.02.2012 / 08:36

2 respostas

6

O script a seguir fará o que você deseja por meio do PowerShell. Você precisará de um arquivo de texto com o nome de cada servidor em uma linha. O script pressupõe que há uma NIC ativa em cada sistema. Se você tiver várias NICs ativas, será necessário percorrê-las, definindo cada uma delas.

$computers = Get-Content -Path "S:\ome path\to text file.txt"

foreach ($computer in $computers)
{
    $NIC = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled = true" -ComputerName $computer
    $NIC.SetTcpipNetbios("1")
}

Se você tiver todos os seus servidores em uma UO, poderá usar os cmdlets da QuestAD para puxar todos eles para a variável $ computers e, em seguida, passar o nome dessa maneira.

    
por 22.02.2012 / 15:59
2

Use o Wmic

Crie um arquivo de texto separado que contenha uma lista de CSV ou uma lista delimitada por retorno de carro de nomes de computador chamada somefile.txt

Em seguida, execute os seguintes comandos a partir de uma conta autorizada apropriada:

wmic /node:@somefile.txt /interactive:off nicconfig where TcpipNetbiosOptions=0 call SetTcpipNetbios 1
wmic /node:@somefile.txt /interactive:off nicconfig where TcpipNetbiosOptions=2 call SetTcpipNetbios 1

Quando você terminar, altere o código acima para SetTcpipNetbios para 2 (desabilitado). (0 é definido via DHCP)

    
por 22.02.2012 / 14:49