自宅にいるときや、外にいるときの状況に合わせて、有線LAN・無線LANのインターフェースを、有効化したり、無効化したりということを、Pingを使って簡単にできそうか検証してみました。 Powershell の ウィンドウを立ち上げて、事前にNICの名前を確認しておきます
PS C:> Get-WmiObject -Class Win32_NetworkAdapter ServiceName : ucgnm MACAddress : DC:FB:02:11:11:11 AdapterType : イーサネット 802.3 DeviceID : 12 Name : BUFFALO WLI-UC-GNM Wireless LAN Adapter NetworkAddresses : Speed : 54000000
「BUFFALO WLI-UC-GNM Wireless LAN Adapter」が、NICの名前です 次に、その情報を元にスクリプト化してみます。
## ## required Powershell v2.0 up ## 2014/12/20 ## Write-Host 'Check Starting ...' $Reachable = @() # 以下のIPに対してのPingすべて失敗した場合は、無線LANを無効化します。 $Reachable += Test-Connection -Quiet -ComputerName '192.168.3.1' $Reachable += Test-Connection -Quiet -ComputerName '192.168.3.2' $Reachable += Test-Connection -Quiet -ComputerName '192.168.3.10' $All_UnReachable = $TRUE foreach($r in $Reachable){ if ($r -eq $TRUE) {$All_UnReachable = $FALSE} } if($All_UnReachable) { Write-Host 'All Target UnReachable' #Disable Wireless NIC (Get-WmiObject -Class Win32_NetworkAdapter -Filter 'Name = `BUFFALO WLI-UC-GNM Wireless LAN Adapter`').disable() } Write-Host 'Check Finished'
以上、簡単ですが、うまくいきました。
有効化するときは、「.disable()」ではなくて「.ensable()」になりますね。