DOBON.NET DOBON.NETプログラミング掲示板過去ログ

別のPCだとIPアドレスの変更が出来ない

環境/言語:[Windows7,VB.ET]
分類:[.NET]

すみませんがご教授願います。
WMIでPCのIPアドレスを変更するプログラムを作成中ですが,開発しているPCだと正しくIPアドレスを変更することが出来ますが,別のPCだとIPアドレスが変更出来ません。2台ともWindows7です。

Locator = New WbemScripting.SWbemLocator
Service = Locator.ConnectServer

NicSet = Service.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each Nic In NicSet
Nic.EnableStatic(tIP, tSB)
Nic.SetDNSServerSearchOrder(tDNS)
Nic.SetGateways(tGW)
Next

トレースするとFor文内も実行していますが,PCのアドレスは実行前のDHCP有効のままです。
念のための確認ポイントを列挙します。
確認済みであればその旨ご返信いただけると、他の回答者の参考になって助かります。

・実行しているユーザーアカウントはその PC の管理者グループに所属しているか。
・UAC が有効なのであれば、プログラムを「管理者として実行」しているか。
Azuleanさん

ご指摘の通り,「管理者として実行」を選択するとIPアドレスを変更することができました。
「UACの設定」はデフォルトのままですが,テストしたPCのOSは「Windows7 Home Premium」でした。(開発用PCのOSは「Windows7 Professional」です。)
OSのバージョン違いによるものかは分からないですが,取りあえず本質問は解決済とさせて頂きたいと思います。ありがとうございました。

申し訳ございませんが,IPアドレスの変更処理において,別の問題が出てしまったので別スレッドを立てさせて頂きました。
ご指導宜しくお願いします


■No31496に返信(Azuleanさんの記事)
> 念のための確認ポイントを列挙します。
> 確認済みであればその旨ご返信いただけると、他の回答者の参考になって助かります。
>
> ・実行しているユーザーアカウントはその PC の管理者グループに所属しているか。
> ・UAC が有効なのであれば、プログラムを「管理者として実行」しているか。
解決済み!
■No31499に返信(Pooh!さんの記事)
> 「UACの設定」はデフォルトのままですが,テストしたPCのOSは「Windows7 Home Premium」でした。(開発用PCのOSは「Windows7 Professional」です。)
> OSのバージョン違いによるものかは分からないですが,取りあえず本質問は解決済とさせて頂きたいと思います。ありがとうございました。

UAC の振る舞いにおいて、その2つのエディションによって差があることはありません。
別の何かがきっかけになっているはずですよ。

考えられる要因(一例)
・開発マシンでは UAC を無効、あるいは UAC のレベルが低く設定されている。
・Visual Studio からの実行で試しているケースで、Visual Studio が管理者として実行されている。
Azuleanさん

ご回答ありがとうございました。勉強不足で申し訳ございません。
確かに開発マシンではUACを無効にしてありました。
このサイトで「UACが有効の時、アプリケーションを管理者に昇格させて起動する」ページがありましたので,そちらを参考に修正したいと思います。
(http://dobon.net/vb/dotnet/system/asadmin.html)


> UAC の振る舞いにおいて、その2つのエディションによって差があることはありません。
> 別の何かがきっかけになっているはずですよ。
>
> 考えられる要因(一例)
> ・開発マシンでは UAC を無効、あるいは UAC のレベルが低く設定されている。
> ・Visual Studio からの実行で試しているケースで、Visual Studio が管理者として実行されている。

DOBON.NET | プログラミング道 | プログラミング掲示板