কোন বিল্ট-ইন করা হয় এই কাজ করতে বৈশিষ্ট্য, কিন্তু আপনি অর্জন করতে পারে কি আপনি একটি সঙ্গে চান AutoIT থেকে কিছু সাহায্যে স্ক্রিপ্ট WMI ।
এই স্ক্রিপ্টের কটাক্ষপাত থেকে Neutro AutoIT ফোরাম বর্তমানে সক্রিয় নেটওয়ার্ক সংযোগ শনাক্ত করা এবং তার ডিএনএস সেটিংস পরিবর্তন করতে লিখেছিলেন:
#requireadmin
#include <Array.au3>
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$query = ""
Local $active_netword_cards[1]
Local $network_cards_to_setup[1]
$active_netword_cards[0]=""
$network_cards_to_setup[0]=""
;getting a list of all network cards
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) then
For $objItem In $colItems
if $objItem.NetConnectionStatus == "2" OR $objItem.NetConnectionStatus == "9" Then ;if the network connection is active, we add the index of the network card and the connection name to $active_netword_cards array
_arrayAdd($active_netword_cards, $objItem.Index)
_arrayAdd($active_netword_cards, $objItem.NetConnectionID)
endif
Next
Endif
;getting settings from all network cards in the array $active_netword_cards
for $i = 1 to UBound($active_netword_cards) - 1 step 2
$query = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE Index = " & $active_netword_cards[$i], "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
For $objItem In $query
if $objItem.DHCPEnabled == "False" Then _arrayAdd($network_cards_to_setup, $active_netword_cards[$i+1]) ;if DHCP is disabled, we add the network card name in the $network_cards_to_setup array
next
Next
;setting up primary DNS server of all network cards in the $network_cards_to_setup array
;DNS server used in this example is 10.10.2.45
for $i = 1 to UBound($network_cards_to_setup) - 1 step 1
Runwait('netsh interface IP ADD DNS "'& $network_cards_to_setup[$i] &'" 10.10.2.45 index=1')
Next
আপনি প্রাক-নির্ধারিত বিরতিতে লুপটিতে স্ক্রিপ্টটি পরিবর্তন করতে পারেন এবং যখনই কোনও ইথারনেট সংযোগ পাওয়া যায় $active_netword_cards
, আপনি অটোআইটি স্ক্রিপ্টের মধ্যে থেকে এই পাওয়ারশেল কমান্ডটি চালাতে পারেন