using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Drawing; using System.Security.Principal; using System.Management; namespace ConsoleApplication5 { class Program { public static ManagementObjectCollection WMIQuery(string strwQuery) { ObjectQuery oQuery = new ObjectQuery(strwQuery); ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oQuery); ManagementObjectCollection oReturnCollection = oSearcher.Get(); return oReturnCollection; } static void Main(string[] args) { string[] tt = { "00:00:00:00:00:00", "00:00:00:00:00:00" }; test(tt); Console.ReadLine(); } static void test(string[] args) { SelectQuery wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionId != NULL"); ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(wmiQuery); foreach (ManagementObject item in searchProcedure.Get()) { Console.WriteLine(item["MACAddress"]); try { if (args.Contains(item["MACAddress"].ToString())) { //(item["MACAddress"]).Equals("00:00:00:00:00:00") item.InvokeMethod("Enable", null); } else { item.InvokeMethod("Disable", null); } } catch(NullReferenceException e) { item.InvokeMethod("Disable", null); } } } } }
string[] tt에 해당하는 mac 주소를 제외한 모든 네트워크 어뎁터의 연결을 끊어 버립니다.
제어판 ->네트워크 환경 -> 어뎁터 설정에 보시면 입력되어 있던 mac주소외에 어뎁터는 모두 연결이 끊깁니다.
필요한 부분이 있으시면 필요에 맞게 고치시면 될 듯 싶습니다.
참조 : Stack overflow, MSDN
'Develop > C#' 카테고리의 다른 글
C# USB Serial number, Pnp number, Description 정보 출력 (0) | 2017.05.06 |
---|---|
C# 현재 연결되어 있는 IP주소와 MAC주소 가져오기 (0) | 2017.05.06 |
C# window forms .dll 생성 및 참조 후 .dll파일 디버깅하는 방법 (0) | 2017.05.06 |
C# Datagridview 여러가지 정렬 방법 (0) | 2017.05.06 |
C# window form에서 panel을 이용하여 간단한 구성만들기 (0) | 2017.05.06 |
최근댓글