Out Network skuif van 192.xyz na 10.uvw en ek wil nie 250 rekenaars met die hand aanspreek nie. My idee is om 'n powershell script te gebruik (toets vir 'n enkele rekenaar):

$oldIp='192.168.100.1'
$newIp='10.11.12.13'
$newGw='10.11.12.254'
$newLen='24'

$adminCred = Get-Credential -UserName ourdomain\myAdminAccount -Message 'Enter Password'

ForEach ($Adapter in (Get-WmiObject Win32_NetworkAdapter -Filter "NetEnabled='True'"  -ComputerName $oldIp )){
    
    $wmiQuery = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "Index = '$($Adapter.Index)'" -ComputerName $oldIp
      
    if( $wmiQuery.IPAddress -contains $oldIp ){        

        $pcName=[system.net.dns]::gethostentry($lavIp) |  Select-Object -ExpandProperty HostName

        $cimSess=New-CimSession -SkipTestConnection -Credential $adminCred -ComputerName $pcName

        New-NetIPAddress -CimSession $cimSess  -InterfaceIndex $Adapter.Index -IPAddress $newIp -PrefixLength $newLen -DefaultGateway $newGw
        
    }else{
        ## do not touch this nic
    }
}

As alle NIC's sy nuwe IP gekry het, verwyder die ou IP met Remove-NetIPAddress.

Tans $cimSesswerk die nie soos verwag nie, maar my hoofvraag is: Is ek op die regte pad, of is daar 'n beter/vinniger/makliker/... manier om dit te doen? Of is ek heeltemal verkeerd en het ek iets gemis?

answer

Jy moet DHCP gebruik om die IP-adresse vir jou netwerk te voorsien. Alle rekenaars het dan DHCP geaktiveer, en hulle kry die korrekte IP-adres van die DHCP-bediener.