چرا Get-VpnConnection برخی نمایههای VPN ویندوز را از دست میدهد
Get-VpnConnection به پرسشی تنگتر از آنچه نامش القا میکند پاسخ میدهد: یک انبار بومی، هر بار یک دامنه، و هیچ دیدی به کارخواههای VPN شخص ثالث.
Get-VpnConnection را تایپ کنید، چیزی برنمیگردد، و بررسی معمولاً همانجا متوقف میشود. آن خروجی خالی بهعنوان مدرکی خوانده میشود که دستگاه اصلاً VPN ندارد، حتی وقتی یک تونل در حال حمل ترافیک است. فرمان درست است؛ فرض دربارهٔ آنچه فهرست میکند درست نیست. یک انبار بومی را در یک دامنه میخواند، و هیچ چیزی دربارهٔ کارخواههایی که نمایههای خودشان را نگه میدارند نمیداند.
یک انبار بومی در هر فراخوانی
با فراخوانی ساده شروع کنید، که نمایههای متعلق به حساب واردشده را هدف میگیرد. این همان فراخوانی است که بیشتر مردم اول اجرا میکنند:
Get-VpnConnection
هر شیء برگشتی Name و ServerAddress و TunnelType و ConnectionStatus را حمل میکند، و این چهار فیلد برای تمایز دو ورودی در یک تیکت کافی است. یک نمایه میتواند ماهها قطع باشد و همچنان فهرست شود، چون شیء پیکربندی ذخیرهشده را توصیف میکند نه ترافیک زنده. نتیجهٔ خالی در اینجا یعنی انبار هر کاربر برای آن حساب چیزی نداشته است. این ادعای بسیار کوچکتری از آن است که مردم معمولاً در آن میخوانند.
دفترچه تلفن همهٔ کاربران به پرسوجوی خودش نیاز دارد
نمایههایی که به هر حساب خدمت میکنند در فهرستی جدا زندگی میکنند، و فراخوانی پیشفرض هرگز آن را نمیخواند. شما آن انبار را صریح درخواست میکنید:
Get-VpnConnection -AllUserConnection
وقتی نشست حقوق لازم را ندارد، بهجای نتیجهٔ خالی انتظار خطای دسترسی ردشده داشته باشید، و دو نتیجه را متفاوت ببینید: یکی یعنی اجازهٔ نگاه کردن ندارید، دیگری یعنی چیزی ذخیره نشده است. تا وقتی خروجی پیش رویتان است دامنه را کنار هر نام بنویسید، چون فرمان بعدی به شما یادآوری نخواهد کرد که کدام انبار را پرسیده است. مجوزها دلیل معمول آن است که همکاری نمایهای را میبیند که شما نمیتوانید. مجموعههای پارامتر در صفحهٔ مرجع Get-VpnConnection مستند شدهاند، از جمله اینکه کدام کلیدها به کدام مجموعه تعلق دارند.
همان نام، دو انبار متفاوت
نام نمایه درون انبار خودش یکتاست، نه در کل دستگاه، بنابراین فهرست هر کاربر و همهٔ کاربران هر کدام میتوانند نمایهای به نام Office داشته باشند. دو ورودی میتوانند به سرورهای متفاوت اشاره کنند، انواع تونل متفاوت به کار ببرند و اعتبارنامههای متفاوت حمل کنند. تنها یکی از آنها ورودیاست که کاربر روی آن دوبار کلیک میکند. پیش از دست زدن به هر یک، دامنه را ثبت کنید.
حذف نسخهای که کسی اجرایش نمیکند در پنجرهٔ تغییر بیضرر به نظر میرسد. وقتی میانبر کاربر از کار میافتد، به یک تماس پشتیبانی تبدیل میشود.
کارخواههایی که هرگز فهرست بومی را لمس نمیکنند
نمایهٔ OpenVPN یا WireGuard که به یک کارخواه فروشنده وارد شده باشد در پیکربندی خود آن کارخواه زندگی میکند، بنابراین هرگز ورودی بومی ویندوز نمیشود. کارخواه سرویس خودش را اجرا میکند، فهرست خودش را نگه میدارد و ترافیک را از آداپتور خودش میگذراند. هیچیک از اینها چیزی نیست که فرمان گزارش میکند، و هیچ کلید دامنهای آن را ظاهر نخواهد کرد. یک دستگاه میتواند سه تونل فعال و یک فهرست بومی خالی داشته باشد.
وقتی بهجای آن به نمای آداپتورها نیاز دارید، آداپتورها را بپرسید. رابطهای فروشندگان خودشان را نامگذاری میکنند، پس بهجای رشتهٔ دقیق یک قطعه را تطبیق دهید:
Get-NetAdapter | Where-Object InterfaceDescription -match 'WireGuard|OpenVPN|TAP'
نمایههای بومی که با دست ساخته میشوند در پروندهٔ دفترچه تلفن زیر نمایهٔ کاربر قرار میگیرند، و معادلهای همهٔ کاربران در نسخهٔ کل دستگاه مینشینند. به همین دلیل کپی کردن انبار نمایهٔ یک کاربر به حساب دیگر بهندرت همان فهرست را بازتولید میکند. پرونده توضیح میدهد که یک اتصال بومی سرگردان از کجا آمده است. دربارهٔ انبار یک کارخواه فروشنده چیزی نمیگوید.
پیش از حذف یک نمایه چه چیزی را ثبت کنیم
بیمهٔ ارزان یک یادداشت پنجفیلدی است: نام، دامنه، نشانی سرور، وضعیت و متن دقیق خطا از تلاش کاربر. کارخواهی را که واقعاً اجرا میکنند اضافه کنید، چون همین جزئیات تعیین میکند که آیا ورودی بومی اصلاً اهمیت دارد. بدون آن، حذف درست هم به نظر میرسد علت شکست بعدی بوده است. یادداشت را در تیکت نگه دارید نه در پنجرهٔ گفتوگو.
حذف یک فرمان است، و پیکربندی را پاک میکند نه اینکه آن را غیرفعال کند. آن را فقط پس از ایجاد آن یادداشت اجرا کنید:
Remove-VpnConnection -Name "Office" -Force
وقتی هدف در انبار همهٔ کاربران است -AllUserConnection را اضافه کنید، و منبع پیکربندی تأییدشده را اول جای دیگری نگه دارید. سپس یک بار دوباره متصل شوید و جدول مسیر را بخوانید، چون فهرست فقط ثابت میکند که پیکربندی ذخیره شده است. اینکه ترافیک به سرور میرسد یا نه پرسشی جداست که هیچ مقداری از خروجی Get-VpnConnection پاسخش را نخواهد داد. اگر کاربر پس از افزودن دوبارهٔ پاک همچنان شکست بخورد، نمایه هرگز مشکل نبوده است.