
Windows7でVBScriptによるネットワークアダプタの有効/無効を取得
こんにちは。
ネットで情報収集しているのですが、どうも答えがわからずにいます。
どなたかアドバイスをお願い致します。
Windows7でVBScriptを使ってネットワークアダプタの有効/無効を取得し、
テキストファイルに保存したいです。
WindowsXPでは正常に動くのですがWindows7だとエラーが返ってきます。
エラーの原因は、
「if strFolderItem.name = "ネットワーク接続" then」
の所で「strFolderItem.name = "ネットワーク接続"」に該当する
ものが一つも無い事が原因のようです。
Xpでは"ネットワーク接続"だったのが7では名称が変わったのか。
それとも、そもそもこのobjApp.Namespace(3)では取得できないのか。
答えがわかりません。
よろしくお願いいたします。
以下、コードです。
'//-----------------------------------------
' ファイル名:test.vbs
' このVBScriptと同じフォルダ内に
' 「NetAdapterCheck.log」という空のファイルを準備した上で実行する。
'変数の宣言を明示的にする
Option Explicit
'変数の宣言
Dim objApp
Dim objCtrPanel
Dim objConnection
Dim objAdapter
Dim strEnable
Dim strDisable
Dim strFolderName
Dim strFolderItem
Dim strVerb
Dim intCnt
Dim objFileSys
Dim objOutFile
set objApp = createobject("shell.application")
set objCtrPanel = objApp.Namespace(3)
strEnable = "有効にする(&A)"
strDisable = "無効にする(&B)"
for each strFolderItem in objCtrPanel.items
if strFolderItem.name = "ネットワーク接続" then
set objConnection = strFolderItem.getfolder: exit for
end if
next
strFolderName = ""
intCnt = 0
for each strFolderItem in objConnection.items
set objAdapter = strFolderItem
for each strVerb in objAdapter.verbs
if strVerb.name = strEnable then
intCnt = intCnt + 1
strFolderName = strFolderName & intCnt & "<>" & "無効<>" & strFolderItem.name & vbCrLf
elseif strVerb.name = strDisable then
intCnt = intCnt + 1
strFolderName = strFolderName & intCnt & "<>" & "有効<>" & strFolderItem.name & vbCrLf
end if
next
next
'ファイルに書き込み
Set objFileSys = WScript.CreateObject("Scripting.FileSystemObject")
Set objOutFile = objFileSys.OpenTextFile("NetAdapterCheck.log",2)'1=読込、2=上書き、3=追記
objOutFile.WriteLine strFolderName
'テキストファイルのクローズ
objOutFile.Close
'オブジェクト破棄
Set objFileSys = Nothing
Set objOutFile = Nothing
'オブジェクトの開放
set objApp = nothing
set objCtrPanel = nothing
set objConnection = nothing
set objAdapter = nothing
'//-----------------------------
No.1ベストアンサー
- 回答日時:
VISTA 以降であればWMIで取得できるようです。
http://technet.microsoft.com/ja-jp/magazine/2006 …
今のまま進めてゆくには、Excel などのVBA に提示されたVBSを移植して
objApp.Namespace(????) や objCtrPanel.items を総なめするとか
適当なところで中断させてローカルウィンドウで調べるとか、出来ませんか?
当方Win7は持ち合わせておりませんので此処まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUN BBSの改造方法
-
GETパラメータ
-
CGI(Perl)内での必須項目チェ...
-
JNAVIから提供されたメー...
-
データの一部抜き出しについて
-
【CGI】画像の表示の仕方【Mini...
-
name[3] = seq + '0';の意味
-
チェックボックスでのor検索
-
ラジオボタン、チェックボック...
-
ネットワークサービスについて
-
CGIで合計を書き出す方法
-
同じname属性の結果を1行にまと...
-
問い合わせフォーム 文字化け
-
名前の改行の仕方
-
こんな事ってできますか?
-
CGIでCookie取得
-
wordの数式について 定積分を書...
-
cgiで動画ファイルをアップロー...
-
ラジオボタンが両方とも選択で...
-
携帯(au)の「ブラウザ履歴」を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
perlで書いたcgiでsqliteの使い...
-
tracert ができない原因
-
perl ヒア文(print <<"EOM" ...
-
入力フォームに全角・半角スペ...
-
Windows7でVBScriptによるネッ...
-
name属性をperlに引き継ぎたい
-
sendmailのメール送信ができま...
-
チェックボックスでのor検索
-
CGI(Perl)内での必須項目チェ...
-
CGIで合計を書き出す方法
-
日本語文字化け(GETメソッド?)
-
KENTWEBのBASIC認証について
-
【CGI】画像の表示の仕方【Mini...
-
配列をグループ化して出力したい。
-
Perlでuse socketを使用してフ...
-
文字って数字で表現・・・
-
yoyaku.cgi の改造
-
掲示板(kentさんの所のsunbbs...
-
ラジオボタンが両方とも選択で...
おすすめ情報