یکی از مواردی که در این سایت مطرح میشود تجربیات و مشکلاتی هست که در طول روزمره باآن برخورد میکنیم نمیدونم تا به حال به این مشکل برخوردید یا نه اینکه 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
جهت دیدن interface کارت شبکه
دستور netsh interface show interface را در cmd وارد کنید تا با خروجی زیر روبرو شوید
اینکه ما بدونیم interface چیه و با چه نامی ثبت شده در دستورات netsh بسیار حائز اهمیت هست و شما هم در آموزش قبلی و هم این آموزش باید از interface استفاده کنید.
جهت تغییر IP دوم در کارت شبکه
طبق تصاویر زیر شما میتونید 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 های کارت شبکه
برای 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
اضافه کردن آی پی WINS توسط CMD
اگر میخواهید توسط دستور netsh در WINS آی پی اضافه کنید کد زیر را میتوانید در command prompt بنویسید
netsh interface ip set wins name="Local Area Connection" source=static addr=10.0.1.11
سلام وقت بخیر
چندین بار از این تکنیک استفاده کردم و خیلی ازتون تشکر میکنم . اما چند تا سوال داشتم که ممنون میشم پاسخ بدین .
1 . در استفاده از دستورات زیر در ویندوز XP دستور اول انجام نمیشه .
@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
قسمت ای پی انجام نمیشه و ای پی همچنان در حالت اتومات میمونه اما قسمت DNS اول و دوم تنظیم میشه . داخل راهنمای دستور Netsh چک کردم اما هیچ فرقی نداشت اما بازم دستور اول در تنظیمات ای پی ست نمیشه ؟؟؟
2 . در استفاده از فایل بت با دستورات بالا برای اداپتور وای فای در بعضی از ویندوز های سون به بالا علاوه بر اداپتور وای فای یک اداپتور microsoft virtual wifi miniport adapter داره این دستورات روی اداپتور وای فای ست نمیشه ؟ چندین مورد رو تست کردم اما هیچکدوم ست نشد .
3 . در بعضی از ویندوز های سون برای اجرای شدن تنظیمات باید حتما روی فایل بت راست کلیک کنیم و گزینه Run as Administrator رو بزنیم تا تنظیمات ست بشه . یوزر هم ادمینه . روی فایل بت هم راست کلیک میکنم گزینه Run this program as an administrator غیر فعاله .
خیلی خیلی ممنون از شما و سایر دوستان .
سلام من خیلی تلاش کرذم برای انجام شندنش اما نشد
اول اینکه ویندوز من 10 هست
دوم اینکه کارم با مودم Adsl زیاد هست
برای همین به این مورد خیلی احتیاج دارم
اگه امکانش هست این فایل هارو شما اماده کنید و قرار بدید برای دانلود لطفا زیپ هم بشه که قابل تغییر نباشه توسط انتی ویروس
من یه مورد دیگه هم دارم که شاید مشکل باشه برای کار من اینه که اسم اینترفیس هام فرق میکنه Ethernet هست و Wi-Fi این آیا تاثیر گذار هست
با تشکر
با سلام و سپاس از پست مفید شما؛
در ویندوز XP جواب نمیده، چه کار میشه کرد؟! سپاس.
ممنون از راهنمایی شما دوست گرامی
دوست عزیز لطف کنید این سوال رو در انجمن مطرح کنید تا از کمک سایر دوستان بهره مند شوید ، انتهای این مطلب پیام گذاشتن برابر اینه که فقط کسانی که در این مطلب پست قرار دادن بتونن سوال شما رو ببینند ، پس بهتره در انجمن به عنوان یک سوال جدید مطرح کنید تا تمامی کارشناسان سوال شما رو ببینید و پاسخ شما رو بدهند.
با تشکر
همچنان منتظر جواب دوستان هستم
سلام دوست عزیز
چطور میتونم از این اسکریپت برای اضافه کردن IP دوم در قسمت Advanced تنظیمات شبکه اقدام کنم؟؟؟؟؟
و اینکه کلاینت بتونه این اسکریپت رو اجرا کنه.
ببین فرهاد جان با فرض اینکه من در خونه DHCP دارم و در محل کار احتیاج به IP استاتیک یا برعکس مهم نیست که میشه سناریو شما
خوب چیکار میکنم
1. تنظیم میکنم که کارت شبکه تنضیماتش رو اتوماتیک بگیره
تا اینجا یجا حل شد ولی برای محل دوم خوب میدونی که میاد APIPA میگیره که نمیخوایم پس
2. تو همون تنظیمات کارت شبکه ( عکس دومی که گذاشتی ) میریم به تب دوم یعنی Alternate Configuration و اون رو از حالت اتومات بر میداریم و بصورت دستی IP , Subnet , DG , DNS حتی WINS رو برای مکان دوم که استاتیک میخوایم ست کنیم میدیم
حالا وقتی تو مکان اولیم و DHCP داریم که از تب اول و اتومات تنظیمات میگیره و وقتی تو مکان دوم DHCP پیدا نمیشه بجای APIPA این تنظیماتی که توی تب دوم هست . هیچ کاریم نمیخواد بکنیم :)
البته بچ تو خوبش اینه اگه پای مکان سوم و چهارم مخصوصا با حالت استاتیک بیاد وسط خوب کاراییش رو نشون میده
جهت غیر فعال کردن کارت شبکه
جهت فعال کردن کارت شبکه
مهدی جان سه تا بچ فایل در این مطلب هست که یکی اش فقط آی پی Set میکنه اما قبلش باید با Notepad بازش کنی و آی پی که دوست داری رو بهش بدی تا دقیقاً اونو برات set کنه ممکنه یه جا بری که بخوایی از DHCP آی پی ها رو دریافت کنی خب بچ فایل دوم دقیقاً همین کار رو انجام میده و همچنین بچ فایل آخر ترکیب این دو هست ولی به صورت اسکریپت که میتونی از طریق داس و بدون رفتن به محیط network connection تغییرات رو انجام بدی به هر حال هر کدوم از اینا ممکنه به کار کاربر بیاد.
البته من زیاد متوجه منظور شما نشدم ولی به هر حال شما میتونید با کد زیر فقط IP , Gateway , SubnetMask رو تنظیم کنید و DNS رو براش تعریف نکنی