トップ回答者
ネットワークアダプターの有効・無効の切り替え

質問
回答
-
ローカルエリア接続とかの単位でいいならXPでもこれで切り替えられると思います
$sh = New-Object -ComObject Shell.Application
$nc = $sh.NameSpace(3).Items() | ? { $_.Name -eq "ネットワーク接続" }
$lan = $nc.GetFolder.Items() | ? { $_.Name -eq "ローカル エリア接続" }
if ( $disable = $lan.Verbs() | ? { $_.Name -eq "無効にする(&B)" } ) { $disable.DoIt() }
else if ( $enable = $lan.Verbs() | ? { $_.Name -eq "有効にする(&A)" } ) { $enable.DoIt() }- 回答としてマーク TAKAKUN 2009年4月7日 1:16
すべての返信
-
http://msdn.microsoft.com/en-us/library/aa394216(VS.85).aspx
ここによると、ResetはNot Implemenedとなっています。
HIROさんがおっさはられている、Disable、Enableで有効、無効の切り替えができることを確認しました。
ちなみに、VISTAの場合、管理者権限で動かす必要があります。
http://techbank.jp/nora/(SQL Serverを中心に情報発信中) -
ローカルエリア接続とかの単位でいいならXPでもこれで切り替えられると思います
$sh = New-Object -ComObject Shell.Application
$nc = $sh.NameSpace(3).Items() | ? { $_.Name -eq "ネットワーク接続" }
$lan = $nc.GetFolder.Items() | ? { $_.Name -eq "ローカル エリア接続" }
if ( $disable = $lan.Verbs() | ? { $_.Name -eq "無効にする(&B)" } ) { $disable.DoIt() }
else if ( $enable = $lan.Verbs() | ? { $_.Name -eq "有効にする(&A)" } ) { $enable.DoIt() }- 回答としてマーク TAKAKUN 2009年4月7日 1:16
-
ご返事ありがとうございます。
Shell.Applicationを使用することで可能となりました。
ありがとうございました。
だた一つS.K.さんの記述された内容で理解ができない部分があったので
教えてください。
if ( $disable = $lan.Verbs() | ? { $_.Name -eq "無効にする(&B)" } ) { $disable.DoIt() }
パイプへのオブジェクトへの流れ方なんですが、左辺値のコマンド結果を配列オブジェクトに格納して
流れていくイメージを持っていたので、このような記述ができるとは思いませんでした。
この場合、パイプへの流れ方はどのようなイメージとなるのでしょうか。
教えてください。