Nid oes cmdlet Import-VpnProfile, a'r un sy'n edrych agosaf, Add-VpnConnection, byth yn darllen ffeil .ovpn na .conf. Mae'n cydosod proffil Windows brodorol o'r paramedrau rydych chi'n eu hanfon, a dyna pam mai'r man gwirio cyntaf yma yw fformat y ffeil ac nid y llinell orchymyn. Os yw'r porth yn siarad SSTP, IKEv2, L2TP/IPsec neu PPTP, gall Windows fod yn berchen ar y proffil ac mae gweddill y rhestr yn berthnasol. Os rhoddwyd ffeil OpenVPN neu WireGuard i chi, stopiwch ar gam un: mae gan y cleientiaid hynny eu mewnforwyr eu hunain.

Cam 1: Cadarnhewch pa broffil y gall Windows fod yn berchen arno mewn gwirionedd

Rhedwch Get-Command -Module VpnClient ar y peiriant cyn unrhyw beth arall. Mae Windows 10, Windows 11 a Server 2016 neu ddiweddarach yn danfon y modiwl; os yw ar goll, ni fydd unrhyw sgript a gopïwyd yn gwneud i'r gwesteiwr hwn dderbyn proffil brodorol. Y cmdletau sy'n bwysig yw Add-VpnConnection, Get-VpnConnection a Remove-VpnConnection, ac mae'r rhestr baramedrau yn gyfeirlyfr Add-VpnConnection yn werth ei darllen unwaith yn llawn.

Mae brodorol yn golygu bod stac VPN Windows yn terfynu'r twmnel. Mae hynny'n cwmpasu IKEv2, yn aml gyda thystysgrif peiriant; SSTP, sef TLS gyda dilysiad defnyddiwr neu dystysgrif y tu mewn; a L2TP/IPsec gyda chyfrinniad a rennir ymlaen llaw. Sgript OpenVPN yw ffeil .ovpn, nid cysylltiad Windows: mae'n cario cyfarwyddebau fel remote, cipher neu tls-auth nad oes gan stac Windows unrhyw syniad ohonynt. Mae WireGuard .conf yr un stori gyda PrivateKey ac AllowedIPs; nid dewis paramedr yw trosi'r naill i'r llall ond gweithrediad twmnel gwahanol.

Mae trydedd gangen. Os yw gweinyddwr yn rhoi dogfen VPNv2 CSP XML neu broffil Intune i chi, dyna'r llwybr MDM, a weithredir gan y stac darparu yn hytrach nag Add-VpnConnection. Peidiwch â chyfieithu'r enwau nodau hynny'n baramedrau PowerShell; gofynnwch pa fecanwaith sy'n gweithredu'r XML.

Cam 2: Parwch y math o dwmnel â'r dull dilysu

Mae -TunnelType a -AuthenticationMethod yn baramedrau ar wahân, a dim ond y cyfuniad sy'n poeni'r porth. Cywirwch un a chael y llall yn anghywir ac fe gewch broffil nad yw'n cysylltu â dim, neu sy'n aros gyda'r twmnel eisoes i fyny. Gosodwch y ddau yn benodol yn lle ymddiried mewn rhagosodiad a ddewiswyd ar gyfer gwasanaeth arall.

  • IKEv2 gyda MachineCertificate: mae'r cleient yn cyflwyno tystysgrif cyfrifiadur; gosodwch -EncryptionLevel Required hefyd.
  • SSTP gyda Eap: twmnel TLS yn gyntaf, yna PEAP/MSCHAPv2 neu dystysgrif y tu mewn i EAP. Mae hyn angen yr XML yng ngham 3.
  • SSTP, L2TP neu PPTP gyda MSChapv2, Chap neu Pap: enw defnyddiwr a chyfrinair cyffredin, dim blob EAP.
  • L2TP gyda MSChapv2 a -Lt2pPsk: mae'r PSK yn cwmpasu hanner IPsec, mae'r defnyddiwr yn cwmpasu PPP; rhaid i'r ddau gyd-fynd â'r gweinydd.

Mae splat yn cadw'r gwerthoedd mewn un man:

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

Mae -PassThru yn dychwelyd y gwrthrych y newydd ysgrifennu Windows, felly gallwch ei archwilio heb ail alwad. Os yw'r enw eisoes yn bodoli mae'r cmdlet yn gwrthod rhedeg; mae -Force yn ei throsysgrifo, sef y reflex anghywir ar liniadur cynhyrchu oherwydd ei fod yn taflu'n dawel beth bynnag a ffurfweddwyd â llaw.

Cam 3: Trosglwyddwch y deunydd cymhwyster yn gywir

Mae cyfrineiriau, cyfrinniadau a rennir ymlaen llaw a blobs EAP yn lle mae'r sgriptiau hyn yn torri fel arfer. Mae -EapConfigXmlStream eisiau XmlDocument, nid llwybr, felly darllenwch a chastiwch y ffeil yn gyntaf. Mae pasio llinyn yn cynhyrchu gwall trosi sy'n edrych fel problem sgema ac sy'n gwneud i bobl ailysgrifennu XML nad oedd erioed yn anghywir.

$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

Nid yw'r XML hwnnw'n rhywbeth i'w ddyfeisio o ddarn o flog. Mae'n enwi math dull EAP a'r dilysiad mewnol, ac mae'r porth yn cymharu'r ddau â'i bolisi. Mae dull mewnol nad yw'n cyd-fynd yn methu ar ôl i'r ysgwyd llaw TLS gwblhau, sy'n edrych yn union fel cyfrinair drwg ac nid yw. Cymerwch yr XML gan pwy bynnag sy'n rhedeg y porth, neu ei allforio o broffil sy'n gweithio'n barod.

Ar gyfer IKEv2 mae'r hanner tystysgrif yn chwiliad stôr. Mae -MachineCertificateIssuerFilter yn cymryd gwrthrych tystysgrif, ac mae Windows yn ei ddefnyddio i ddod o hyd i dystysgrif cleient defnyddiadwy yn LocalMachine\My. Mae angen allwedd breifat a chadwyn y mae'r gweinydd yn ymddiried ynddi ar y dystysgrif; pan fo'r naill neu'r llall ar goll, mae dilysu'n methu heb fanylyn defnyddiol, felly gwiriwch y stôr yn gyntaf:

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

Cadwch gyfrinachau allan o'r ffeil sgript. Mae PSK a basiwyd ar y llinell orchymyn neu a bobiwyd i .ps1 yn gorffen mewn trawsgrifiadau, sesiynau a arbedwyd a chronfeydd a rennir, ac mae -RememberCredential yn cacheio cymwysterau defnyddiwr ar gyfer wedyn, gan droi prawf unwaith yn ganiatâd parhaol.

Cam 4: Penderfynwch ar y cwmpas cyn y rhediad cyntaf

Mae'r un cmdlet yn ysgrifennu i ddwy lyfr ffôn wahanol. Heb -AllUserConnection mae'r proffil yn perthyn i chi ac yn byw o dan %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk. Ag ef, o bromp wedi'i ddyrchafu, mae'r proffil yn mynd i %ProgramData%\Microsoft\Network\Connections\Pbk\rasphone.pbk ac yn weladwy i bob cyfrif, gan gynnwys y sgrin fewngofnodi.

Nid yw cwmpas yn gosmetig. Proffil holl-ddefnyddiwr yw'r hyn y gall cyfrif gwasanaeth, tasg a drefnwyd neu senario cyn mewngofnodi ei ddefnyddio; mae proffil fesul defnyddiwr yn anweladwy i'r tri. Mae'r gwrthrychau'n cael eu darllen yn wahanol hefyd: mae Get-VpnConnection yn rhestru cofnodion y defnyddiwr cyfredol, mae Get-VpnConnection -AllUserConnection yn rhestru'r rhai ar draws y peiriant. Dewiswch un nawr, a thriniwch newid diweddarach fel dileu ac ail-greu yn hytrach nag olygu:

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

Cam 5: Profwch beth y mae'n rhaid i dwmnel ei ddanfon mewn gwirionedd

Mae eicon cysylltiedig yn profi bod y twmnel wedi codi a dim arall. Cysylltwch o'r llinell orchymyn yn gyntaf fel bod methiannau'n cyrraedd fel testun, nid fel deialog, yna darllenwch yn ôl beth a gofnododd Windows:

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

Y ddau fethiant y mae defnyddwyr yn eu hadrodd tra bo'r statws yn dal i ddweud Connected yw DNS a llwybro. Datryswch enw mewnol a gwiriwch pa weinydd a atebodd; gall proffil heb -DnsSuffix dwmnelio'n berffaith ac eto fethu pob chwiliad mewnrwyd. Yna edrychwch ar y llwybr diofyn: gyda split tunneling i ffwrdd dylai'r llwybr 0.0.0.0/0 â'r metrig isaf bwyntio i mewn i ryngwyneb VPN, a chydag ef ymlaen dim ond y rhagddodiaid rydych yn eu disgwyl. Os yw'r ddau'n edrych yn iawn ac mae traffig yn dal i farw, mae'r broblem y tu hwnt i'r proffil, mewn polisi neu hidlydd y porth.

Pan fydd y cysylltiad yn methu'n llwyr, mae'r cod yn culhau'r cam i ddychwelyd ato:

  • 691: gwrthododd y porth y cymwysterau. Ewch yn ôl i gam 3, nid i'r twmnel.
  • 809: ni chwblhaodd ysgwyd llaw IKEv2 byth. Gwiriwch UDP 500 a 4500, ac ymddiriedaeth tystysgrifau.
  • 789: mae cyfrinniad a rennir ymlaen llaw L2TP/IPsec ar goll neu'n anghywir.
  • 868: ni ddatryswyd enw'r gweinydd. Trwsiwch DNS cyn golygu'r proffil.

Cadwch y gorchymyn sy'n gweithio wrth ymyl y gosodiadau y mae'n eu hamgodio, fel y gall y person nesaf ailadeiladu yn lle dadansoddi'r proffil yn ôl o'r rhyngwyneb. Os oes rhaid ailadeiladu, dilëwch y cofnod a'i ail-greu o'r un paramedrau; mae clytio proffil hanner-ffurfweddedig yn gadael llwybrau a chyflwr dilysu hen ffasiwn. Ac os nad oedd y ffeil byth yn frodorol, ewch yn ôl at y cleient sy'n berchen arni. Nid mewnforiad yw .ovpn wedi'i wisgo fel proffil IKEv2, tocyn cymorth ydyw.

Erthyglau cysylltiedig