XPでは、netsh interface ip dumpで出力したスクリプトを、netsh execで実行してネットワーク設定を切り替えることを行っていました。
WindowsVista Ultimate RC2 Build5744で同じことをしようとすると、スクリプトの内容が変わっており、netsh execでスクリプトを実行しようとするとエラーになってしまいました。
ちなみにXPで出力したスクリプトを一部修正してVistaでnetsh execで実行したところ、WinsServerの設定外は変更できました。
(WinsServerはaddr=noneがパラメータ間違いとされてしまいます)
これは仕様が変更されたためでしょうか。出力したスクリプトがそのまま実行できないので、不具合のようにも思えますが、ご存知の方がいらっしゃいましたらご教示くださいますと助かります。(既知の不具合で、正規版では直っているのであればよいのですが)
●XPのnetsh interface ip dump出力結果(例)
# ----------------------------------
# インターフェイス IP 構成
# ----------------------------------
pushd interface ip
# "ローカル エリア接続" のインターフェイス IP 構成
set address name="ローカル エリア接続" source=static addr=10.0.0.1 mask=255.0.0.0
set address name="ローカル エリア接続" gateway=10.0.0.10 gwmetric=0
set dns name="ローカル エリア接続" source=static addr=10.0.0.10 register=PRIMARY
add dns name="ローカル エリア接続" addr=10.0.0.11 index=2
set wins name="ローカル エリア接続" source=static addr=none
popd
# インターフェイス IP 構成の最後
●Vistaのnetsh interface ipv4 dump出力結果(例)
# ----------------------------------
# IPv4 構成
# ----------------------------------
pushd interface ipv4
reset
set interface luid=loopback_0 forwarding=disabled advertise=disabled mtu=0 metric=0 metric=0 nud=disabled basereachabletime=0 retransmittime=0 routerdiscovery=disabled managedaddress=disabled otherstateful=disabled weakhostsend=disabled weakhostreceive=disabled ignoredefaultroutes=disabled
set interface luid=ethernet_6 forwarding=disabled advertise=disabled mtu=0 metric=0 metric=0 nud=disabled basereachabletime=0 retransmittime=0 routerdiscovery=disabled managedaddress=disabled otherstateful=disabled weakhostsend=disabled weakhostreceive=disabled ignoredefaultroutes=disabled
set interface luid=ethernet_4 forwarding=disabled advertise=disabled mtu=0 metric=0 metric=0 nud=disabled basereachabletime=0 retransmittime=0 routerdiscovery=disabled managedaddress=disabled otherstateful=disabled weakhostsend=disabled weakhostreceive=disabled ignoredefaultroutes=disabled
popd
# IPv4 構成の最後
●Vistaでnetsh exec した場合のエラー
・luid項目が未定義項目とされる
・metric項目が2つ出力されている