وقتی اینترنت قطع نشده اما صفحات وب دیر باز می‌شوند، تماس‌های تصویری مرتب قطع می‌شوند یا اتصال ناپایدار است، ری‌استارت کردن مودم و روتر همیشه مشکل را حل نمی‌کند. در چنین شرایطی می‌توان با چند دستور PowerShell مشخص کرد مشکل بیشتر از کامپیوتر، اتصال وای‌فای، روتر، تنظیمات IP، DNS یا بخش‌های شبکه ویندوز ناشی می‌شود.

مزیت این روش این است که به ابزارهای پیچیده نیاز ندارید. کافی است چند دستور را اجرا کنید و خروجی آنها را با دقت بررسی کنید. دستور Test-Connection برای آزمایش ارتباط، Get-DnsClientServerAddress برای بررسی DNS و Get-NetIPConfiguration برای مشاهده تنظیمات شبکه کاربرد دارند. در صورت وجود مشکل در پشته ارتباطی ویندوز نیز می‌توان از netsh winsock reset استفاده کرد.

چگونه بفهمیم مشکل اینترنت از کامپیوتر است یا شبکه؟

اولین کار این است که مشخص کنیم مشکل از ارتباط کامپیوتر با روتر است یا از مسیر بین روتر و اینترنت. برای این کار باید ابتدا آدرس Default Gateway را پیدا کنید. این آدرس معمولاً همان IP روتر یا یکی از تجهیزات اصلی شبکه محلی است.

PowerShell را باز کنید و دستور زیر را اجرا کنید:

ipconfig

در خروجی، آداپتور فعال خود را پیدا کنید و مقدار Default Gateway را یادداشت کنید. ممکن است این آدرس چیزی مانند 192.168.1.1 یا 192.168.4.1 باشد. سپس همان آدرس را با Test-Connection آزمایش کنید.

Test-Connection 192.168.1.1 -Count 10

عدد IP را با Default Gateway واقعی شبکه خودتان جایگزین کنید. Test-Connection در PowerShell برای ارسال درخواست‌های ICMP و بررسی پاسخ دستگاه مقصد استفاده می‌شود و می‌تواند تعداد درخواست‌ها و پارامترهای دیگری مانند زمان انتظار را نیز کنترل کند.

اگر پاسخ‌های Default Gateway سریع و نسبتاً پایدار باشند، ارتباط کامپیوتر با روتر احتمالاً مشکلی ندارد. چند میلی‌ثانیه اختلاف در وای‌فای طبیعی است، اما Timeoutهای مکرر، قطع پاسخ یا افزایش شدید زمان پاسخ می‌تواند نشانه مشکل در وای‌فای، آداپتور شبکه، روتر یا اتصال محلی باشد.

بعد از آن می‌توانید یک مقصد خارج از شبکه محلی را بررسی کنید:

Test-Connection 8.8.8.8 -Count 10

اگر Gateway پاسخ‌های پایدار داشته باشد اما 8.8.8.8 دچار Timeout یا نوسان شدید باشد، احتمالاً مشکل در مسیر خروجی شبکه یا ارتباط اینترنتی است. اگر هر دو آزمایش مشکل داشته باشند، بهتر است ابتدا وای‌فای، کابل شبکه، آداپتور و روتر را بررسی کنید.

نکته مهم این است که یک عدد خاص برای تأخیر به‌تنهایی معیار خرابی نیست. چیزی که اهمیت بیشتری دارد، Packet Loss، Timeout و نوسان غیرعادی زمان پاسخ است.

چگونه DNS مورد استفاده ویندوز ۱۱ را بررسی کنیم؟

گاهی اینترنت در دسترس است اما باز شدن سایت‌ها کند انجام می‌شود. در این وضعیت DNS یکی از بخش‌هایی است که باید بررسی شود. DNS وظیفه دارد نام دامنه‌هایی مانند google.com را به آدرس IP تبدیل کند و اختلال در آن می‌تواند روی شروع اتصال به سایت‌ها تأثیر بگذارد.

برای مشاهده DNSهای تنظیم‌شده روی آداپتورهای مختلف، دستور زیر را در PowerShell اجرا کنید:

Get-DnsClientServerAddress

این دستور آدرس سرورهای DNS مرتبط با رابط‌های شبکه ویندوز را نمایش می‌دهد و می‌توان نتیجه را برای یک آداپتور مشخص نیز محدود کرد.

در خروجی، آداپتور فعال مانند Wi-Fi یا Ethernet را پیدا کنید و مقدار مربوط به ServerAddresses را بررسی کنید. ممکن است DNS توسط روتر و DHCP ارائه شده باشد یا به صورت دستی تنظیم شده باشد.

آموزش عیب‌یابی اینترنت در ویندوز ۱۱ با PowerShell؛ بررسی شبکه، DNS و رفع مشکل اتصال

چند DNS عمومی شناخته‌شده عبارت‌اند از:

8.8.8.8

8.8.4.4

1.1.1.1

1.0.0.1

اما استفاده از DNS عمومی الزاماً به معنی سرعت بیشتر نیست. بهترین انتخاب به شرایط شبکه، سرویس‌دهنده اینترنت و موقعیت جغرافیایی بستگی دارد. اگر قبلاً DNS را به صورت دستی تغییر داده‌اید، بررسی این بخش می‌تواند مشخص کند آیا هنوز همان تنظیمات فعال هستند یا خیر.

برای برگرداندن DNS یک رابط شبکه به تنظیمات پیش‌فرض DHCP نیز می‌توان از دستور PowerShell زیر استفاده کرد:

Set-DnsClientServerAddress -InterfaceIndex 12 -ResetServerAddresses

عدد 12 باید با InterfaceIndex واقعی آداپتور شما جایگزین شود. این دستور DNS را به مقادیری که از طریق DHCP ارائه می‌شوند برمی‌گرداند.

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

اگر آزمایش ارتباط و بررسی DNS نتیجه مشخصی نداشت، بهتر است پیکربندی کامل شبکه را مشاهده کنید. دستور Get-NetIPConfiguration اطلاعاتی مانند رابط شبکه، آدرس IP، Default Gateway و DNS را نمایش می‌دهد.

Get-NetIPConfiguration

در خروجی، ابتدا آداپتور فعال را پیدا کنید. ممکن است ویندوز چندین رابط مانند Wi-Fi، Ethernet، VPN و آداپتورهای مجازی را نمایش دهد؛ بنابراین مهم است اطلاعات مربوط به رابطی را بررسی کنید که واقعاً برای اتصال اینترنت استفاده می‌شود.

در بخش مربوط به رابط فعال، مواردی مانند IPv4Address، IPv4DefaultGateway و DNSServer را بررسی کنید. داشتن یک آدرس IP معتبر، Gateway صحیح و DNS قابل دسترس معمولاً نشان می‌دهد پیکربندی پایه شبکه درست انجام شده است.

یکی از موارد مهم، آدرس‌هایی است که با 169.254 شروع می‌شوند. چنین آدرسی معمولاً نشان می‌دهد سیستم نتوانسته از DHCP یک پیکربندی معمول شبکه دریافت کند. در این حالت باید اتصال به روتر، DHCP و وضعیت آداپتور شبکه بررسی شود.

اگر می‌خواهید اطلاعات بیشتری از رابط‌های شبکه، حتی رابط‌های مجازی یا قطع‌شده دریافت کنید، می‌توانید از این دستور استفاده کنید:

Get-NetIPConfiguration -All

این گزینه اطلاعات رابط‌های بیشتری را نسبت به حالت عادی نمایش می‌دهد و هنگام وجود VPN، Hyper-V یا سایر آداپتورهای مجازی می‌تواند مفید باشد.

چه زمانی باید Winsock ویندوز را ریست کرد؟

اگر IP، Gateway و DNS طبیعی هستند اما برنامه‌ها همچنان در برقراری ارتباط مشکل دارند، ممکن است مشکل از پشته ارتباطی ویندوز باشد. Winsock رابط مهمی برای ارتباط برنامه‌ها با سرویس‌های شبکه ویندوز است و خرابی یا پیکربندی نامناسب آن می‌تواند باعث مشکلات ارتباطی شود.

در چنین شرایطی می‌توانید PowerShell یا Windows Terminal را با دسترسی Administrator باز کنید و دستور زیر را اجرا کنید:

netsh winsock reset

دستور netsh winsock reset کاتالوگ Winsock را به وضعیت تمیز بازمی‌گرداند و برای رفع مشکلات ناشی از تنظیمات خراب Winsock کاربرد دارد. مایکروسافت نیز این دستور را به عنوان یکی از روش‌های عیب‌یابی مشکلات ارتباطی ویندوز معرفی می‌کند.

آموزش عیب‌یابی اینترنت در ویندوز ۱۱ با PowerShell؛ بررسی شبکه، DNS و رفع مشکل اتصال

پس از اجرای موفق دستور، ویندوز معمولاً اعلام می‌کند که برای تکمیل فرایند باید کامپیوتر را ری‌استارت کنید. حتماً سیستم را راه‌اندازی مجدد کنید و بعد دوباره اتصال اینترنت را آزمایش کنید.

اگر مشکل از پشته شبکه باشد، پس از ری‌استارت ممکن است وب‌گردی، تماس تصویری و اتصال برنامه‌ها به اینترنت به حالت عادی برگردد. اگر مشکل همچنان وجود داشت، بهتر است به سراغ مواردی مانند درایور کارت شبکه، VPN، آنتی‌ویروس و نرم‌افزارهای جانبی شبکه بروید.

بهترین ترتیب برای عیب یابی اینترنت با PowerShell

برای جلوگیری از تغییرات غیرضروری، بهتر است ابتدا فقط وضعیت شبکه را بررسی کنید و بعد سراغ دستورات اصلاحی بروید.

  • ابتدا با ipconfig آدرس Default Gateway را پیدا کنید.
  • Gateway را با Test-Connection آزمایش کنید.
  • یک مقصد اینترنتی مانند 8.8.8.8 را با همان دستور بررسی کنید.
  • با Get-DnsClientServerAddress سرورهای DNS را مشاهده کنید.
  • با Get-NetIPConfiguration آدرس IP، Gateway و DNS را یکجا بررسی کنید.
  • اگر تنظیمات درست به نظر می‌رسند اما مشکل ادامه دارد، Winsock را با netsh winsock reset ریست کنید.
  • بعد از ریست Winsock سیستم را ری‌استارت کنید و نتیجه را دوباره آزمایش کنید.

این روش کمک می‌کند بدون تغییر تصادفی تنظیمات، محل احتمالی مشکل را مرحله‌به‌مرحله محدود کنید. اگر Gateway سالم است اما مقصد اینترنتی مشکل دارد، تمرکز باید روی مسیر اینترنت و سرویس‌دهنده باشد؛ اگر Gateway نیز مشکل دارد، بررسی شبکه محلی و دستگاه‌های شبکه اولویت بیشتری دارد.

چند دستور کاربردی دیگر برای عیب یابی شبکه در ویندوز

Test-Connection فقط برای یک Ping ساده نیست. در نسخه‌های جدید PowerShell امکاناتی مانند TraceRoute، آزمایش TCP و تشخیص MTU نیز دارد. به عنوان مثال، برای بررسی مسیر ارتباطی می‌توان از دستور زیر استفاده کرد:

Test-Connection google.com -Traceroute

برای بررسی یک پورت TCP مشخص نیز می‌توان از گزینه -TcpPort استفاده کرد. این قابلیت زمانی مفید است که Ping موفق باشد اما یک سرویس خاص همچنان در دسترس نباشد.

در موارد پیچیده‌تر، مایکروسافت پیشنهاد می‌کند علاوه بر Winsock، در صورت نیاز TCP/IP نیز ریست شود. این کار نسبت به یک آزمایش ساده تغییر بیشتری در تنظیمات شبکه ایجاد می‌کند و بهتر است قبل از اجرای آن از پیکربندی فعلی شبکه نسخه پشتیبان داشته باشید.

جمع بندی؛ با PowerShell علت مشکل اینترنت را پیدا کنید

PowerShell یکی از سریع‌ترین ابزارهای داخلی ویندوز برای بررسی مشکلات شبکه است. با چند دستور ساده می‌توانید تشخیص دهید آیا مشکل از ارتباط کامپیوتر با روتر است، DNS درست کار نمی‌کند، تنظیمات IP مشکل دارد یا پشته شبکه ویندوز نیاز به تعمیر دارد.

مهم‌ترین نکته این است که قبل از ریست کردن تنظیمات، ابتدا اطلاعات شبکه را بررسی کنید. Test-Connection برای سنجش ارتباط، Get-DnsClientServerAddress برای بررسی DNS و Get-NetIPConfiguration برای مشاهده پیکربندی شبکه ابزارهای مناسبی هستند. اگر این بررسی‌ها نتیجه‌ای نداشتند، netsh winsock reset می‌تواند یکی از گزینه‌های بعدی برای رفع مشکلات Winsock باشد.