IPアドレス設定スクリプトを作ってみた

といっても、ほぼコピペですが(笑)

<DHCPに設定する> DHCPIP.vbs とかで保存すると幸せかも
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strDNSServers = Array()
For Each objNetAdapter In colNetAdapters
    errEnable = objNetAdapter.EnableDHCP()
    errDNSServer = objNetAdapter.SetDNSServerSearchOrder(strDNSServers)
     If errEnable = 0 Then
        Wscript.Echo "IP アドレス設定を" & vbLf & "DHCP 変更しました。"
    Else
        Wscript.Echo "IP アドレス設定を" & vbLf & "DHCP に出来ませんでした。手動で設定してください。"
    End If
Next

<固定IPに設定する> StaticIP.vbs とかで保存すると幸せかも
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

inpIPAddress = "192.168.1.141"
inpSubnetMask = "255.255.255.0"
inpGateway = "192.168.1.100"
inpDNSServers = "172.16.1.10"

strIPAddress = Array(inpIPAddress)
strSubnetMask = Array(inpSubnetMask)
strGateway = Array(inpGateway)
strDNSServers = Array(inpDNSServers)
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
    errDNSServer = objNetAdapter.SetDNSServerSearchOrder(strDNSServers)
    If errEnable = 0 Then
        WScript.Echo "IP アドレス設定を" & vbLf & "IP:" & inpIPAddress & vbLf & "Mask:" & inpSubnetMask & vbLf & "GW:" & inpGateway & vbLf & "DNS:" & inpDNSServers & vbLf & "に変更しました."
    Else
        WScript.Echo "IP アドレス設定に失敗しました。" & vbLf & "手動で設定してください。"
    End If
Next

固定のほうは複数の場所で使うときは、その場所ごとのスクリプトを作って使いまわせばいいんじゃないかと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください