د Import-VpnProfile په نامه هېڅ cmdlet نشته، او هغه چې تر ټولو نږدې ښکاري، Add-VpnConnection، هېڅکله د .ovpn یا .conf فایل نه لولي. دا ستاسو له ورکوونکو پارامیټونو څخه یو اصلي Windows پروفایل جوړوي، نو ځکه دلته لومړی کنټرول پوائنټ د کمانډ کرښې پر ځای د فایل بڼه ده. که ګیټوې SSTP، IKEv2، L2TP/IPsec یا PPTP وایي، نو Windows کولای شي پروفایل وخپلې کړي او د لیست پاتې برخه تطبیقېږي. که تاسو ته د OpenVPN یا WireGuard فایل درکړل شوی وي، په لومړي ګام کې ودرېږئ: هغه کلاینټونه خپل импورټر لري.

ګام 1: تایید کړئ چې Windows واقعاً کوم پروفایل خپلولای شي

له هر څه مخکې په ماشین کې Get-Command -Module VpnClient چل کړئ. Windows 10، Windows 11 او Server 2016 یا نوی دا ماډیول لري؛ که نه وي، هېڅ کاپي شوی سکریپټ دا کوربه نه شي کولای چې اصلي پروفایل ومني. هغه cmdlet چې مهم دي Add-VpnConnection، Get-VpnConnection او Remove-VpnConnection دي، او په Add-VpnConnection حواله کې د پارامیټونو لیست یو ځل بشپړ لوستلو ارزښت لري.

اصلي مانا دا ده چې د Windows VPN سټک ټانل پای ته رسوي. دا IKEv2 رانغاړي، ډېری وخت د ماشین سند سره؛ SSTP، چې له داخل څخه د کاروونکي یا سند تصدیق سره TLS دی؛ او L2TP/IPsec د مخکې شریک شوي کیلي سره. د .ovpn فایل یو OpenVPN سکریپټ دی، نه Windows اړیکه: دا د remote، cipher یا tls-auth په څېر لارښوونې لېږدوي چې د Windows سټک هېڅ پوهاوی ورته نه لري. د WireGuard .conf هماغه کیسه ده د PrivateKey او AllowedIPs سره؛ یو بل ته بدلول د پارامیټر انتخاب نه، بلکې بېل ټانل تطبیق دی.

درېیمه څانګه هم شته. که یو مدیر تاسو ته د VPNv2 CSP XML سند یا Intune پروفایل درکړي، هغه د MDM لار ده، چې د پروویژننګ سټک لخوا تطبیقېږي نه د Add-VpnConnection لخوا. هغه نوډ نومونه PowerShell پارامیټونو ته مه ژباړئ؛ پر ځای یې وپوښتئ چې کوم میکانیزم XML تطبیقوي.

ګام 2: د ټانل ډول د تصدیق کړنې سره جوړه کړئ

-TunnelType او -AuthenticationMethod جلا پارامیټرونه دي، او ګیټوې یوازې د دوی ترکیب ته پام کوي. یو سم او بل غلط وي، نو هغه پروفایل لاسته راځي چې هېرې ته نه نښلېږي، یا ټانل ولاړ وي او بیا هم ودرېږي. دواړه په څرګنده توګه وټاکئ، پر ځای دې چې د بل خدمت لپاره ټاکل شوې ډیفالټ ارزښت ته باور وکړئ.

  • IKEv2 د MachineCertificate سره: کلاینټ د کمپیوټر سند وړاندې کوي؛ -EncryptionLevel Required هم وټاکئ.
  • SSTP د Eap سره: لومړی TLS ټانل، بیا PEAP/MSCHAPv2 یا د EAP دننه سند. دا د ګام 3 XML ته اړتیا لري.
  • SSTP، L2TP یا PPTP د MSChapv2، Chap یا Pap سره: ساده کاروونکی نوم او پټنوم، هېڅ EAP بلاک نه.
  • L2TP د MSChapv2 او -Lt2pPsk سره: PSK د IPsec نیمایي پوښي، کاروونکی PPP؛ دواړه باید د سرور سره سمون ولري.

splat ارزښتونه په یو ځای ساتي:

$p = @{
  Name                 = "Corp IKEv2"
  ServerAddress        = "vpn.example.com"
  TunnelType           = "Ikev2"
  AuthenticationMethod = "MachineCertificate"
  EncryptionLevel      = "Required"
  SplitTunneling       = $false
  DnsSuffix            = "corp.example.com"
}
Add-VpnConnection @p -PassThru

-PassThru هغه څیز بېرته راګرځوي چې Windows همدا اوس لیکلی، نو تاسو یې پرته له دوهم غوښتنې کتلی شئ. که نوم لا دمخه وي، cmdlet د چلېدو څخه انکار کوي؛ -Force یې باندې لیکي، چې په تولیدي لپټاپ کې غلط عکس‌العمل دی، ځکه چې هغه څه په خاموشۍ غورځوي چې چا په لاس تنظیم کړي دي.

ګام 3: د اعتبار مواد په سمه توګه وسپارئ

پټنومونه، مخکې شریکې شوې کیلي او EAP بلاکونه هغه ځای دی چې دا سکریپټونه معمولاً ماتیږي. -EapConfigXmlStream غواړي XmlDocument، نه لار، نو لومړی فایل ولولئ او cast یې کړئ. د سټرینګ سپارل د تبدیل تېروتنه رامنځته کوي چې د سکیما ستونزه ښکاري او خلک هڅوي چې هغه XML بیا ولیکي چې هېڅکله غلط نه و.

$eap = [xml](Get-Content -Raw .\peap-mschapv2.xml)
Add-VpnConnection -Name "Corp SSTP" -ServerAddress "sstp.example.com" `
  -TunnelType Sstp -AuthenticationMethod Eap `
  -EapConfigXmlStream $eap -EncryptionLevel Required

هغه XML د بلاګ له ټوټې څخه نه جوړېږي. دا د EAP کړنې ډول او داخلي تصدیق نوموي، او ګیټوې دواړه د خپلې تګلارې سره پرتله کوي. ناسم داخلي کړنلاره وروسته له دې چې TLS لاس‌وهڅول بشپړ شي ناکامېږي، چې په بشپړه توګه د ناسم پټنوم په څېر ښکاري او هغه نه دی. XML د هغه چا څخه واخلئ چې ګیټوې چلوي، یا یې له هغه پروفایل څخه صادر کړئ چې لا دمخه کار کوي.

د IKEv2 لپاره د سند نیمایي د ذخیرې پلټنه ده. -MachineCertificateIssuerFilter د سند څیز اخلي، او Windows یې د LocalMachine\My کې د کارېدونکي کلاینټ سند موندلو لپاره کاروي. سند ته خصوصي کیلي او هغه زنځیر ته اړتیا ده چې سرور باور پرې کوي؛ کله چې یو هم نه وي، تصدیق پرته له کوم ګټور تفصیل ناکامېږي، نو لومړی ذخیره وګورئ:

Get-ChildItem Cert:\LocalMachine\My |
  Where-Object { $_.HasPrivateKey -and $_.NotAfter -gt (Get-Date) } |
  Select-Object Subject, Issuer, Thumbprint, NotAfter

پټ رازونه د سکریپټ فایل څخه بهر وساتئ. PSK چې په کمانډ کرښه کې ورکړل شي یا په .ps1 کې ځای پر ځای شي، په ټرانسکرېپټونو، خوندي شوو غونډو او شریکو ذخیرو کې پای ته رسېږي، او -RememberCredential د کاروونکي اعتبار لپاره وروسته کیش کوي، چې یو ځلي ازموینه په تلپاتې اجازه بدلوي.

ګام 4: د لومړي چلېدو دمخه دایره وټاکئ

هماغه cmdlet دوه بېلو تلیفون کتابونو ته لیکي. پرته له -AllUserConnection پروفایل ستاسو دی او د %APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk لاندې دی. د هغې سره، له لوړ شوي پرامپټ څخه، پروفایل %ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk ته ځي او هر حساب ته ښکاري، د ننوتلو سکرین هم.

دایره ښکلا نه ده. د ټولو کاروونکو پروفایل هغه څه دي چې یو خدمت حساب، مهال‌ویشل شوی دنده یا د ننوتلو دمخه سناریو یې کارولی شي؛ د هر کاروونکي پروفایل د دغو درېیو لپاره ناڅرګند دی. څیزونه هم بېل لوستل کېږي: Get-VpnConnection د اوسني کاروونکي ننوتنې لیستوي، Get-VpnConnection -AllUserConnection ماشین‌پراخه. اوس یو وټاکئ، او وروسته بدلون د سمون پر ځای د ړنګولو او بیا جوړولو په توګه وګڼئ:

# elevated prompt
Remove-VpnConnection -Name "Corp IKEv2" -Force
Add-VpnConnection -Name "Corp IKEv2" -ServerAddress "vpn.example.com" `
  -TunnelType Ikev2 -AuthenticationMethod MachineCertificate `
  -EncryptionLevel Required -AllUserConnection

ګام 5: ازموئ چې یو ټانل واقعاً څه باید ورسوي

نښلول شوی آیکون یوازې دا ثابتوي چې ټانل ولاړ شو او نور هېڅ نه. لومړی له کمانډ کرښې ونښلئ څو ناکامۍ د ډیالوګ پر ځای د متن په توګه راشي، بیا ولولئ چې Windows څه ثبت کړل:

rasdial "Corp IKEv2"
Get-VpnConnection -Name "Corp IKEv2" |
  Select-Object Name, ServerAddress, TunnelType, ConnectionStatus, SplitTunneling
Get-NetRoute -DestinationPrefix "0.0.0.0/0"

دوه ناکامۍ چې کاروونکي یې راپور ورکوي په داسې حال کې چې حالت لا هم نښلول شوی وایي، DNS او لارښوونه ده. یو داخلي نوم حل کړئ او وګورئ کوم سرور ځواب ورکړ؛ پرته له -DnsSuffix پروفایل کولای شي بشپړ ټانل کړي او بیا هم هرې دنني پلټنې ته ناکام شي. بیا ډیفالټ لار وګورئ: د سپلټ ټانلنګ بند سره، د تر ټولو کم میټریک 0.0.0.0/0 لار باید VPN انټرفېس ته اشاره وکړي، او د هغې خلاص سره یوازې هغه مخکښې چې تاسو یې تمه لرئ. که دواړه سم ښکاري او ترافیک بیا هم مري، ستونزه له پروفایل هاخوا، په تګلاره یا د ګیټوې فلټر کې ده.

کله چې اړیکه په بشپړه توګه ناکامه شي، کوډ هغه ګام تنګوي چې باید بیا وګورئ:

  • 691: ګیټوې اعتبار رد کړ. ګام 3 ته بېرته لاړ شئ، ټانل ته نه.
  • 809: IKEv2 لاس‌وهڅول هېڅکله بشپړ نه شو. UDP 500 او 4500، او د سند باور وګورئ.
  • 789: د L2TP/IPsec مخکې شریکه شوې کیلي ورکه ده یا غلطه ده.
  • 868: د سرور نوم حل نه شو. مخکې له دې چې پروفایل سم کړئ DNS سم کړئ.

کاري کمانډ د هغو تنظیماتو ترڅنګ وساتئ چې کوډ یې کوي، څو بل کس بیا جوړ کړای شي پر ځای دې چې له UI څخه پروفایل بیرته انجنیر کړي. که واقعاً بیا جوړول وي، ننوتنه ړنګه کړئ او په هماغه پارامیټونو بیا جوړه یې کړئ؛ نیمګړی ترتیب شوی پروفایل پچ کول زاړه لارې او د تصدیق حالت پرېږدي. او که فایل هېڅکله اصلي نه و، هغه کلاینټ ته بېرته لاړ شئ چې مالک یې دی. .ovpn چې د IKEv2 پروفایل په جامه کې وي импورټ نه دی، د ملاتړ ټکټ دی.

اړوندې مقالې