شما برای مطالعه این مقاله فقط 7 دقیقه وقت نیاز دارید

netsh-command

چگونه تنظیمات شبکه ویندوز را با دستور netsh پیکربندی کنیم؟

4.3/5 - (3 امتیاز)

دستور netsh یک ابزار اسکریپ نویسی خط فرمان بسیار قدرتمند است که کاربران به کمک آن می توانند نحوه پیکربندی شبکه سیستم محلی یا ریموت خود را نظارت کنند و در صورت لزوم تغییراتی را هم اعمال کنند.

ابزار Netsh یا Network Shell مجموعه گسترده ای از ویژگی ها را به عنوان context ها ارائه می دهد که مخصوص نقش ها و ویژگی های خاصی از سرور شبکه هستند. علاوه بر این ها، این ابزار به خاطر اهدافی مثل آرشیو کردن پیکربندی ها و پیکربندی شبکه های سیستم های دیگر، اسکریپت های پیکربندی را در یک فایل متنی ذخیره و قابل استفاده می کند. 

این ابزار آماده کمک به شما است، به شرطی که به طور کامل با وظایف و طرز کار آن آشنا باشید و ما اینجا هستیم که شما را با سینتکس، نحوه استفاده از آن و همه context های دستور netsh آشنا کنیم. اگر به دنبال سروری هستید که در کنار پروژه های اصلی خود به راحتی از قابلیت هایی همچون دستور netsh هم بهره ببرید، می توانید با مراجعه به صفحه خرید سرور مجازی ویندوز ما، پلن مناسب خود را انتخاب کنید و با استفاده از یک سرور قدرتمند، امن و مقرون به صرفه با انگیزه بالاتری به مسیر خود ادامه دهید.

دیگر وقت آن است که با دستور netsh آشنا شویم:

context های دستور netsh

دستور netsh با اجزای سیستم عامل تعامل دارد و این تعامل از طریق کتابخانه dynamic-link یا DLL اتفاق می افتد. هر DLL کمکی، یک سری دستورات خاصی را برای نقش یا ویژگی سرور شبکه ارائه می دهد. به عنوان مثال، Dhcpmon.dll وظیفه ارائه context و مجموعه ای از دستورات خاص برای پیکربندی یا مدیریت سرور DHCP را برعهده دارد.

برای مشاهده لیست context های دستور netsh کافیست مراحل زیر را دنبال کنید:

  • خط فرمان یا PowerShell ویندوز را باز کنید.
  • دستور زیر را وارد کرده و Enter را بزنید:
netsh
  • بعد دستور زیر را تایپ کنید و Enter را بزنید:
/?

البته بعضی از این context ها علاوه بر مجموعه دستورات، خودشان هم دارای context های دیگری هم هستند که به آن ها هم Subcontext گفته می شود. به عنوان مثال، کاربر در context مربوط به Routing می تواند به Subcontext های IP و IPv6 تغییر یابد.

برای دسترسی به لیست دستورات و Subcontext های مربوط به یک context خاص حتما باید اسم آن را هم در دستور لحاظ کنید. مثلاً برای دسترسی به لیست routing باید یکی از دو دستور زیر را اجرا کنید:

routing /? 
routing help

آشنایی با نحوه اجرای دستور netsh

برای اجرای این ابزار کافیست خط فرمان را باز کنید، دستور زیر را تایپ کرده و اینتر را بزنید:

netsh

بعد می توانید به context یا زمینه ای که حاوی دستور موردنظر شماست، بروید. اسم context را وارد کرده و ؟/ را به آن اضافه کرده و Enter را بزنید.

اگر می خواهید ابزار netsh را باز کنید و دستورات را در خط فرمان خود netsh اجرا کنید دیگر نیازی نیست که ابتدای هر دستور کلمه netsh را وارد کنید.خط فرمان دستور netsh

ولی اگر نیازی به خط فرمان netsh ندارید می توانید بدون باز کردن این ابزار، خود دستور را همراه با netsh اجرا کنید.

 قالب بندی سینتکس دستور netsh

برای اینکه سینتکس ارائه شده در مرجع دستورات مربوط به هر context را به طور کامل متوجه شوید، باید با یک سری اصول آشنا باشید. 

سینتکس زیر را در نظر بگیرید تا اصول و نحوه تفسیر آن را به شما توضیح دهیم:سینتکس netsh

کاراکترهای بولد مثل a، حتما باید به همان صورت در دستور تایپ شوند.

متن های کج مثل AliasFile اطلاعاتی هستند که شما باید آنها را وارد کنید. 

[ ] برای تفکیک پارامتر و مقدار است که کاملاً اختیاری است و موقع اجرای دستور نادیده گرفته می شود.

متن بین { } حالت انتخابی دارد و گزینه ها هم با استفاده از | از هم جدا می شوند و شما باید یکی از آنها را انتخاب کنید، مثل {enable|disable}.

(…) پارامتری است که می تواند چند بار در خط فرمان تکرار شود.

کد یا خروجی برنامه هم با متن با فونت Courier مشخص می شود.

اجرای دستورات netsh در CMD یا PowerShell

برای راه اندازی Network Shell و اجرای دستورات netsh می توانید از CMD یا PowerShell کمک بگیرید. کافیست یکی از آنها را باز کرده و دستور netsh را اجرا کنید. 

البته، برای اجرای دستورات netsh می توانید مستقیما از خط فرمان Netsh کمک بگیرید یا اینکه از آنها در اسکریپت ها یا فایل های دسته ای استفاده کنید.

بیایید نحوه اجرای دستور netsh با چند مثال توضیح دهیم:

مشاهده تنظیمات شبکه

با استفاده از دستور netsh می توانید تنظیمات و آمار شبکه (TCP/IP) را مشاهده کنید. این دستور زمانی برای شما کارساز است که بخواهید یک تغییر انجام دهید ولی قبل آن باید تنظیمات فعلی را هم بررسی کنید یا اینکه شبکه سیستم شما نیاز به عیب یابی داشته باشد.

کلیک کنید  آشنایی با فایروال میکروتیک، نحوه عملکرد و کاربردهای آن

بیایید از نمایش پیکربندی آدرس IP شروع کنیم و ببینیم که چگونه می توان به دستور مورد نظر رسید.

اول از همه طبق سینتکس اصلی زیر جلو می رویم:

netsh context subcontext command option

ٖcontext مثال ما interface و subcontext آن هم ip است. پس دستور زیر را اجرا می کنیم:

netsh interface ip /?

با اضافه کردن ?/ به انتهای دستور، به دستورات و آپشن های بعدی دسترسی پیدا می کنیم.دسترسی به interface

ما می خواهیم اطلاعات مربوط به پیکربندی را مشاهده کنیم، پس دستور show را انتخاب می کنیم:

netsh interface ip show /?

دوباره چون ?/ را وارد کرده ایم، لیست دستورات و آپشن های بعدی باز می شود.دستور show

ما به اطلاعات پیکربندی نیاز داریم پس از بین گزینه ها، config را انتخاب می کنیم:

netsh interface ip show config

نمایش پیکربندی رابط شبکههمانطور که می بیندید برای استفاده از این دستور نیازی به حرفه ای بودن نیست، کافیست از جایی که به مشکل برخوردید از ?/ استفاده کنید تا با استفاده از گزینه های پیشنهادی به مسیر خود ادامه دهید.

چند دستور دیگر برای بررسی تنظیمات شبکه:

نمایش آدرس های IP رابط شبکه

netsh interface ip show addresses

نمایش dns سرورها

netsh interface ip show dnsservers

نمایش اتصالات  tcp

netsh interface ip show tcpconnections

نمایش اتصالات udp

netsh interface ip show udpstats

نمایش آمار ip

netsh interface ip show ipstats

نمایش آمار tcp

netsh interface ip show tcpstats

نمایش آمار udp

netsh interface ip show udpstats

 تغییر پیکربندی شبکه

با استفاده از دستور netsh می توانید ویژگی های TCP/IP اتصالات شبکه را تغییر دهید. این می تواند تغییر آدرس دهی استاتیک یا پویا (DHCP)، آدرس IP کلاینت، ماسک زیر شبکه و سرورهای DNS باشد.

مثلا اگر می خواهید یک رابط شبکه با اسم “Local Area Connection”، آدرس ip استاتیک 192.168.0.20، زیرشبکه 255.255.255.0 و دروازه پیش فرض 192.168.0.1 پیکربندی کنید، می توانید از دستور زیر استفاده کنید:

netsh interface ip set address name="Local Area Connection" static 192.168.0.20 255.255.255.0 192.168.0.1

تغییر تنظیمات IP

netsh interface ip set address [interface name] static [IP address] [subnet mask] [default gateway]

تغییر تنظیمات DNS

netsh interface ip set dns [interface name] static [DNS server IP address]

کار با فایروال ویندوز از طریق Netsh

دستور netsh این امکان را به شما می دهد که فایروال داخلی ویندوز را مدیریت کنید. پایه ترین کاری که می توانید انجام دهید، فعال یا غیرفعال سازی فایروال است:

netsh firewall set opmode mode=disable
netsh firewall set opmode mode=enable

نمایش گزارشات فایروال

netsh firewall show logging

نمایش پورت های باز

netsh firewall show portopening

نمایش پروفایل فعلی

netsh firewall show currentprofile

اضافه کردن پورت جدید به لیست ترافیک مجاز 

netsh firewall add portopening TCP 3234
netsh firewall add portopening UDP 7365

اضافه کردن برنامه جدید به لیست ترافیک مجاز 

netsh firewall add allowedprogram c:\MyProgram.exe

اجرای دستور Netsh در کامپیوترهای ریموت

برخی از دستورات netsh به صورت ریموت هم قابل اجرا هستند و برای این کار باید از پارامتر r استفاده کنید. 

البته توجه داشته باشید که برای اجرای این دستور حتماْ باید سرویس Remote Registry در سیستم ریموت اجرا شود وگرنه موقع اجرای دستورات با پیام خطای “Network Path Not Found” مواجه خواهید شد. 

برای دسترسی به خط فرمان netsh در سیستم ریموت باید ابتدا دستور زیر را متناسب با نام هاست، اسم و رمز ادمین موردنظر قبل از دستور اصلی لحاظ کنید:

netsh -r hostname -u domainadmin -p password

به عنوان مثال اگر می خواهید پیکربندی شبکه را ببینید، باید دستور را به صورت زیر اجرا کنید:

netsh -r hostname -u domainadmin -p password interface ip show config

قابلیت های مفید Netsh

Netsh یک ویژگی فوق العاده دیگر هم ارائه می دهد که با استفاده از آن می توانید مجموعه ای از دستورات را در یک اسکریپت بنویسید و بعد آن ها را به صورت دسته ای روی سیستم اجرا کنید. این ویژگی برای خودکارسازی تسک های پیکربندی شبکه یا دیپلوی تغییرات در چند سیستم بسیار مفید است.

همچنین، دستور netsh می تواند برای عیب یابی و تشخیص مشکلات شبکه هم استفاده شود. دستورات و context های زیادی وجود دارد که به کمک آنها می توانید به سرعت اطلاعات مربوط به پیکربندی شبکه و اتصالات و آمار را جمع آوری کنید و تا مشکلات را تشخیص داده و در اسرع وقت حل کنید.

کلام آخر

netsh یک ابزار همه کار و قدرتمند است که برای مدیریت و پیکربندی شبکه در ویندوز به کار می رود. اگر به طور کامل با context ها و سینتکس دستور netsh آشنا شوید مطمئناً استفاده موثرتری از این ابزار خواهید داشت و مشاهده، تغییر و عیب یابی شبکه سیستم بریتان راحت تر خواهد بود. کافیست قدم اول را با این مقاله بردارید و بعد با تست و تمرین های مختلف، توانایی لازم را برای اجرای دستورات مختلف و ایجاد اسکریپت های کاربردی به دست بیاورید. 

از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.

سوالات متداول:

اول باید خط فرمان را باز کنید، بعد دستور netsh اجرا کنید تا خط فرمان Netsh باز شود. بعد می توانید دستور خود را وارد کنید و enter را بزنید تا اجرا شود.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید