altera o endereço IP para 10 computadores com base em um arquivo txt no powershell ou vbscript

1

Eu tenho um arquivo txt parecido com isso

PC1 192.168.0.2  
PC2 192.168.0.3  
PC3 192.168.0.4

Eu gostaria de alterar os endereços IP dos computadores com base nessa lista, para que ele preencha o nome do computador e o endereço IP e processe-os sem alterar os valores manualmente, e estou tendo problemas para fazer isso funcionar "ainda PowerShell de Aprendizagem "

$wmi = Get-WmiObject -ComputerName ??? win32_networkadapterconfiguration -filter "ipenabled = 'true'"

$wmi.SetGateways("192.168.0.1", 1)
$wmi.EnableStatic("?????", "255.255.255.0")

alguma ajuda sobre isso?

    
por dani 28.03.2015 / 00:48

2 respostas

4

Se o seu arquivo txt é apenas uma lista separada por espaços de [computername] [ip-address] , você pode usar o Import-Csv cmdlet :

$Computers = Import-Csv -Path C:\file.txt -Delimiter " " -Header Name,IP

foreach($Computer in $Computers){
    # Query $Computer.Name
    # Assign $Computer.IP as the static address
}
    
por 28.03.2015 / 02:06
4

A resposta de Mathias é perfeitamente adequada para a pergunta, conforme solicitado. Uma maneira muito melhor e mais sustentável de atingir o objetivo, no entanto, é usar um servidor DHCP com reservas.

    
por 28.03.2015 / 20:09