یکی از مواردی که در این سایت مطرح میشود تجربیات و مشکلاتی هست که در طول روزمره باآن برخورد میکنیم نمیدونم تا به حال به این مشکل برخوردید یا نه اینکه DHCP یک مودمی نتونه هوشمندانه IP ها رو تخصیص بده و بعضاً پیش میاد که یک IP رو به دو سیستم بده و مشکلاتی رو برای ما به وجود میاره
و شبکه مختل میشه یکی از ساده ترین راه های رفع این مشکل البته یکی از چندین و چند راه اینه که IP سیستم ها رو به صورت دستی بدیم تا این مشکل به وجود نیاد اما اگر همون لپتاپ خواست وارد شبکه دیگه ای شه چطور یا اینکه هر روز میخواهید لپتاپ رو به منزل و محل کار بیارید و هر سری این تنظیمات نیاز به تغییر دارن .
به هر حال با ما در tosinso.com باشید جهت ساده سازی تنظیمات IP با یک کلیک. همونطور که میدونید IP یکی از کاربردی ترین و مهمترین تنظیمات و مقدمات شبکه هست ، اما حتماً دوستان تا به حال خیلی خیلی IP تغییر دادن و یا بر حسب نیازشون مدام با این تغییر ها خواستن شبکشون رو عوض کنند
و یا شاید کسانی باشن که باید آی پی هاشون رو در شرکت یه چیزی بزارن و در منزلشون یه چیز دیگه و اینکه هی برن تو Network Connection و IP Address و Subnet Mask و Default Gateway و DNS Server هاشون رو تغییر بدن خسته شدند .اما راه کاری برای شما هست راه کاری به نام دستور Netsh این دستور یک دستور بسیار مهم و البته جذاب و کاربردی تنظیمات شبکه را به صورت کامل کنترل و در صورت نیاز ، تغییر میدهد
البته با تنظیماتی که ما بهش میگیم البته این دستور شامل دستورات زیادی است و در این مطلب فقط با یکی از کاربرد هاش آشنا میشیم. من این دستورات رو در فایل Notepad تایپ کردم و در نهایت اونها رو با پسوندbat که به batch file معروف هستند ذخیره کردم که به صورت یه فایل اجرایی در بیان و با یه دابل کلیک کردن کل تنظیمات رو تغییر میدیم
@echo off netsh interface ip set address name="Wireless Network Connection" static 192.168.1.120 255.255.255.0 192.168.1.1 netsh interface ip set dns "Wireless Network Connection" static 192.168.1.1 netsh interface ip add dns name="Wireless Network Connection" 4.2.2.2 index=2
خطوط بالا با هم در یک فایل bat باعث میشه تنظیمات کارت شبکه ما به شکل زیر در بیاد
قبل از اینکه کد ها رو در Notepad داشته باشید باید به Network connection خودتون یه سری بزنید و ببینید تنظیمات کدوم یکی از interface ها ر میخواهید تغییر بدید من در این مثال تنظیمات رو روی Wireless خودم انجام دادم اما اگر با کابل متصل شدید میتونید Local Area Connection رو به جای Wireless Network Connection تایپ کنید.
خط اول که زیاد در ماهیت کار تاثیر نداره در صورت استفاده دستورات نمایش داده نخواهند شد و اگر از دستور echo on استفاده کنیم دستوراتی که در محیط command prompt اجرا میشوند نمایش داده می شوند.خط دوم در کد های فوق باعث شد که IP Address در شبکه وای فای من به 192.168.1.120 و SubnetMask نیز به 255.255.255.0 و در نهایت Gateway به 192.168.1.1 تغییر کنه .
خط سوم و چهارم مربوط به DNS ها هست که به ترتیب در کارت شبکه به ثبت میرسه.کد های زیر نیز باعث میشه کارت شبکه ما از حالت IP دستی حارج شده و از DHCP آی پی ها رو دریافت کنه
@echo off netsh interface ip set address name="Wireless Network Connection" source=dhcp netsh interface ip set dns "Wireless Network Connection" dhcp
خط های بالا دیگه نیازی به توضیح نداره و خیلی واضح هست
خب گاهی هم نیاز داریم IP را خودمان وارد کنیم اما نه اینکه مدام وارد کارت شبکه شویم و تنظیمات رو Set کنیم ولی با همین دستور netsh میتوانیم این کار را مرحله به مرحله توسط اسکریپت زیر انجام بدیم پس میتوانید کد زیر را در Notepad کپی کرده و در یک فایل با پسوند bat ذخیره کنید
Script Beginning: @echo off echo Choose: echo [A] Set Static IP echo [B] Set DHCP echo. :choice SET /P C=[A,B]? for %%? in (A) do if /I "%C%"=="%%?" goto A for %%? in (B) do if /I "%C%"=="%%?" goto B goto choice :A @echo off echo "Please enter Static IP Address Information" echo "Static IP Address:" set /p IP_Addr= echo "Default Gateway:" set /p D_Gate= echo "Subnet Mask:" set /p Sub_Mask= echo "DNS Server preferred:" set /p DNS1= echo "DNS Server Alternate:" set /p DNS2= echo "Setting Static IP Information" netsh interface ip set address "Wireless Network Connection" static %IP_Addr% %Sub_Mask% %D_Gate% netsh interface ip set dns "Wireless Network Connection" static %DNS1% netsh interface ip add dns name="Wireless Network Connection" %DNS2% index=2 netsh int ip show config pause goto end :B @ECHO OFF ECHO Resetting IP Address and Subnet Mask For DHCP netsh int ip set address name = "Wireless Network Connection" source = dhcp netsh interface ip set dns "Wireless Network Connection" dhcp ipconfig /renew ECHO Here are the new settings for %computername%: netsh int ip show config pause goto end :end Script END!
ذر کد های بالا از متغیر هایی استفاده شده که در خطوط پایین تر این متغیر ها با عدد هایی که به عنوان IP وارد میکنیم پر میشود در این اسکریپت در همان بدو اجرا میتوان کد را به دو صورت پیش برد یکی DHCP و یکی تنظیمات IP همانند تصاویر زیر:
جهت غیر فعال کردن کارت شبکه
netsh interface set interface name="Local Area Connection" admin=disabled
جهت فعال کردن کارت شبکه
netsh interface set interface name="Local Area Connection" admin=enabled
دستور netsh interface show interface را در cmd وارد کنید تا با خروجی زیر روبرو شوید
اینکه ما بدونیم interface چیه و با چه نامی ثبت شده در دستورات netsh بسیار حائز اهمیت هست و شما هم در آموزش قبلی و هم این آموزش باید از interface استفاده کنید.
طبق تصاویر زیر شما میتونید ip دوم برای کارت شبکه خودتون وارد کنید که این بخش رو به دو صورت اتوماتیک و دستی خدمتتون میگم .
در حالت اتوماتیک میتونید از کد زیر استفاده کنید:
شکل کلی دستور :
FOR /L %variable IN (start,step,end) DO command
مثال:
FOR /L %A IN (10,1,20) DO netsh interface ipv4 add address “Local Area Connection” 192.168.1.%A 255.255.255.0
خروجی:
همونطور که ملاحظه میکنید در این مثال start = 10 هست و Step =1 یعنی یکی یکی آی پی اضافه میشه و end =20 هست یعنی از 10 تا 20 میره جلو . ولی اگر میخواهید اتوماتیک این آی پی ها اضافه نشوند میتونید از خط زیر در cmd استفاده کنید
netsh interface ipv4 add address "Local Area Connection" 192.168.1.33 255.255.255.0
پس از این خط دستور میبینید که به کارت شبکه تون ip و subnet mask اضافه شده و البته بدیهی است پس از subnet mask اگر آی پی دیگری قرار داشت به صورت اتوماتیک در gate way قرار میگرفت.
برای DNS primary :
netsh interface ip set dns name="Local Area Connection" static 192.9.9.3
برای DNS secondary
netsh interface ip add dns name="Local Area Connection" 8.8.8.8 index=2
و اما اضافه کردن در کارت شبکه به صورت شکل کلی ، شکل کلی دستور
netsh interface ipv4 add dnsserver "Network Interface Name" dns.server.ip index=1(for primary)2(for secondary)
مثال
netsh interface ipv4 add dnsserver "Local Area Connection" 8.8.8.8 index=1
اگر میخواهید توسط دستور netsh در WINS آی پی اضافه کنید کد زیر را میتوانید در command prompt بنویسید
netsh interface ip set wins name="Local Area Connection" source=static addr=10.0.1.11
کارشناس ارشد شبکه مایکروسافت
فرهاد خانلری ، مدرس شبکه و برنامه نویسی مبتنی بر زیرساخت های مایکروسافت ، سابقه فعالیت در موسسات و مراکز دولتی در قالب پروژه ، مشاوره و تدریس ، برنامه نویسی ++C ، سی شارپ و دات نت ، متخصص و مدرس شبکه های مبتنی بر سیستم عاملهای مایکروسافت و سرویس های مربوطه ، سخت افزار و ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود