Flytja VPN-snið inn í PowerShell með Add-VpnConnection
Add-VpnConnection býr aðeins til innbyggð snið Windows. Paraðu göngin og auðkenninguna við gáttina, stilltu umfangið viljandi og prófaðu síðan leiðir og DNS.
Ekkert cmdlet heitir Import-VpnProfile, og það sem líkist mest, Add-VpnConnection, les aldrei .ovpn eða .conf skrá. Það setur saman innbyggt Windows-snið úr þeim færibreytum sem þú gefur, og þess vegna er fyrsti eftirlitsstaðurinn hér skráarsniðið en ekki skipanalínan. Ef gáttin talar SSTP, IKEv2, L2TP/IPsec eða PPTP getur Windows átt sniðið og restin af listanum á við. Ef þú fékkst OpenVPN eða WireGuard skrá skaltu stoppa á fyrsta þrepi: þeir biðlarar eiga sína eigin innflutningsvél.
Þrep 1: Staðfestu hvaða snið Windows getur raunverulega átt
Keyrðu Get-Command -Module VpnClient á vélinni fyrir allt annað. Windows 10, Windows 11 og Server 2016 eða nýrri fylgja með einingunni; ef hún vantar mun ekkert afritað skrifta gera þennan hýsil fúsan að taka við innbyggðu sniði. Cmdletin sem skipta máli eru Add-VpnConnection, Get-VpnConnection og Remove-VpnConnection, og færibreytulistinn í Add-VpnConnection tilvísuninni er þess virði að lesa einu sinni í heild.
Innbyggt þýðir að VPN-stakkur Windows lýkur göngunum. Það nær yfir IKEv2, oft með vélarvottorði; SSTP, sem er TLS með notenda- eða vottorðsauðkenningu inni; og L2TP/IPsec með fyrirfram deildum lykli. .ovpn skrá er OpenVPN skrifta, ekki Windows-tenging: hún ber tilskipanir eins og remote, cipher eða tls-auth sem stakkur Windows hefur ekki hugmynd um. WireGuard .conf er sama saga með PrivateKey og AllowedIPs; að breyta öðru í hitt er ekki færibreytuval heldur önnur gönguframkvæmd.
Þriðja greinin er líka til. Ef stjórnandi afhendir þér VPNv2 CSP XML skjal eða Intune-snið er það MDM-leiðin, sem úthlutunarstakkurinn beitir en ekki Add-VpnConnection. Þýddu ekki þessi hnoðanöfn yfir í PowerShell-færibreytur; spurðu frekar hvaða fyrirkomulag beitir XML-inu.
Þrep 2: Paraðu göngutegundina við auðkenningaraðferðina
-TunnelType og -AuthenticationMethod eru aðskildar færibreytur, og gáttin hefur aðeins áhuga á samsetningunni. Eitt rétt og hitt rangt og þú færð snið sem tengist engu, eða stöðvast með göngin þegar uppi. Stilltu bæði skýrt í stað þess að treysta sjálfgefnu gildi sem valið var fyrir aðra þjónustu.
- IKEv2 með MachineCertificate: biðlarinn leggur fram tölvuvottorð; stilltu líka -EncryptionLevel Required.
- SSTP með Eap: fyrst TLS-göngin, síðan PEAP/MSCHAPv2 eða vottorð inni í EAP. Þetta þarf XML-ið úr þrepi 3.
- SSTP, L2TP eða PPTP með MSChapv2, Chap eða Pap: einfalt notandanafn og lykilorð, ekkert EAP-blobb.
- L2TP með MSChapv2 og -Lt2pPsk: PSK-inn nær yfir IPsec-helminginn, notandinn yfir PPP; bæði verða að passa við þjóninn.
Splat heldur gildunum á einum stað:
$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 skilar hlutnum sem Windows skrifaði rétt í þessu, svo þú getur skoðað hann án annars kalls. Ef nafnið er þegar til neitar cmdletið að keyra; -Force skrifar yfir það, og það er rangt viðbragð á framleiðslufartölvu því það heintir því sem einhver stillti handvirkt.
Þrep 3: Afhendu auðkenningarefnið rétt
Lykilorð, fyrirfram deildir lyklar og EAP-blobb eru þar sem þessar skriftur brotna venjulega. -EapConfigXmlStream vill XmlDocument, ekki slóð, svo lestu og umbreyttu skránni fyrst. Að gefa streng framleiðir umbreytingarvillu sem lítur út eins og skemavandamál og sendir fólk til að endurskrifa XML sem var aldrei rangt.
$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Það XML er ekki eitthvað sem er fundið upp úr bloggbút. Það nefnir EAP-aðferðartegundina og innri auðkenninguna, og gáttin ber hvort tveggja saman við stefnu sína. Ósamræmd innri aðferð mistekst eftir að TLS-handabandi lýkur, sem lítur nákvæmlega út eins og rangt lykilorð og er það ekki. Fáðu XML-ið frá þeim sem rekur gáttina, eða flyttu það út úr sniði sem virkar þegar.
Fyrir IKEv2 er vottorðshelmingurinn leit í geymslunni. -MachineCertificateIssuerFilter tekur vottorðshlut og Windows notar hann til að finna nothæft biðlaravottorð í LocalMachine\My. Vottorðið þarf einkalykil og keðju sem þjónninn treystir; þegar annað vantar mistekst auðkenningin án gagnlegra upplýsinga, svo athugaðu geymsluna fyrst:
Get-ChildItem Cert:\LocalMachine\My |
Where-Object { $_.HasPrivateKey -and $_.NotAfter -gt (Get-Date) } |
Select-Object Subject, Issuer, Thumbprint, NotAfterHaltu leyndarmálum utan skráarinnar. PSK sem er gefið á skipanalínunni eða bakað inn í .ps1 endar í uppskriftum, vistuðum lotum og sameiginlegum gagnasöfnum, og -RememberCredential skyggir á notendaskilríki fyrir síðar og breytir einstakri prófun í varanlegt leyfi.
Þrep 4: Ákveddu umfangið fyrir fyrstu keyrslu
Sama cmdlet skrifar í tvær mismunandi símaskrár. Án -AllUserConnection er sniðið þitt og býr undir %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk. Með því, úr hækkuðum skjá, fer sniðið í %ProgramData%\Microsoft\Network\Connections\Pbk\rasphone.pbk og er sýnilegt hverjum reikningi, líka innskráningarskjánum.
Umfangið er ekki skraut. Snið fyrir alla notendur er það sem þjónustureikningur, tímasett verk eða atburðarás fyrir innskráningu getur notað; snið á hvern notanda er ósýnilegt öllum þremur. Hlutunum er líka lesið á annan hátt: Get-VpnConnection telur upp færslur núverandi notanda, Get-VpnConnection -AllUserConnection þær sem gilda fyrir alla vélina. Veldu eitt núna og meðhöndlaðu síðari breytingu sem eyðingu og endursköpun frekar en breytingu:
# elevated prompt
Remove-VpnConnection -Name "Corp IKEv2" -Force
Add-VpnConnection -Name "Corp IKEv2" -ServerAddress "vpn.example.com" `
-TunnelType Ikev2 -AuthenticationMethod MachineCertificate `
-EncryptionLevel Required -AllUserConnectionÞrep 5: Prófaðu hvað göngin eiga raunverulega að skila
Tengd táknmynd sannar að göngin fóru upp og ekkert annað. Tengstu fyrst af skipanalínu svo bilanir komi sem texti en ekki gluggi, lestu síðan það sem Windows skráði:
rasdial "Corp IKEv2"
Get-VpnConnection -Name "Corp IKEv2" |
Select-Object Name, ServerAddress, TunnelType, ConnectionStatus, SplitTunneling
Get-NetRoute -DestinationPrefix "0.0.0.0/0"Bilanirnar tvær sem notendur tilkynna meðan staðan segir enn Connected eru DNS og leiðarval. Leystu innra nafn og athugaðu hvaða þjónn svaraði; snið án -DnsSuffix getur gert fullkomin göng og samt mistekist í hverri innra netsleit. Skoðaðu síðan sjálfgefnu leiðina: með split tunneling slökkt á leiðin 0.0.0.0/0 með lægstu mælingu að vísa inn í VPN-viðmótið, og með það kveikt aðeins forskeytin sem þú býst við. Ef bæði líta rétt út og umferðin deyr samt er vandamálið handan sniðsins, í stefnu eða síu gáttarinnar.
Þegar tengingin bregst algjörlega þrengir kóðinn þrepið sem á að skoða aftur:
- 691: gáttin hafnaði skilríkjunum. Farðu aftur í þrep 3, ekki í göngin.
- 809: IKEv2-handabandið kláraðist aldrei. Athugaðu UDP 500 og 4500, og traust vottorðsins.
- 789: fyrirfram deildi L2TP/IPsec lykillinn vantar eða er rangur.
- 868: nafn þjónsins leystist ekki. Lagaðu DNS áður en þú breytir sniðinu.
Haltu virku skipuninni við hlið þeirra stillinga sem hún kóðar, svo næsta manneskja geti endurbyggt í stað þess að bakfæra sniðið úr viðmótinu. Ef þú verður að endurbyggja skaltu eyða færslunni og búa hana til aftur með sömu færibreytum; að bæta hálfstilltu sniði skilur eftir úreltar leiðir og auðkenningarstöðu. Og ef skráin var aldrei innbyggð skaltu fara aftur til biðlarans sem á hana. .ovpn í IKEv2-búningi er ekki innflutningur heldur stuðningsmiði.