Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit laatste deel van de zelfstudie leert u hoe u een ProfileXML PowerShell-configuratiescript gebruikt om AlwaysOn VPN-instellingen te configureren en een gebruikerstunnel voor clientverbindingen te maken.
Zie VPNv2 configuration service providervoor meer gedetailleerde informatie over alwayson VPN-configuratieopties voor de configuratieserviceprovider (CSP).
Vereiste voorwaarden
Volledige zelfstudie: AlwaysOn VPN implementeren - Sjablonen voor certificeringsinstantie configureren.
Een AlwaysOn VPN-clientprofiel maken
In deze sectie maken we een VPN-clientverbinding om te controleren of de VPN-testclient een geslaagde VPN-verbinding tot stand kan brengen. Hierdoor kunnen we ook de EAP-instellingen voor export maken in de volgende sectie.
Zie EAP-configuratie voor meer informatie over EAP-instellingen.
Meld u aan als de VPN-gebruiker die u hebt aangemaakt in Active Directory-testgebruiker maken op de VPN-clientcomputer die aan het domein is gekoppeld.
Typ VPN in het menu Start om VPN-instellingen te selecteren. Druk op Enter.
Selecteer een VPN-verbinding toevoegen in het detailvenster.
Voor VPN-provider selecteert u Windows (ingebouwd).
Voer contoso-VPN in als verbindingsnaam.
Voer voor servernaam of -adres de externe FQDN van uw VPN-server in (bijvoorbeeld vpn.contoso.com).
Selecteer IKEv2 voor VPN-type.
Selecteer Certificaatvoor het type aanmeldingsgegevens.
Selecteer Opslaan.
Selecteer onder Gerelateerde instellingen de optie Adapteropties wijzigen.
Klik met de rechtermuisknop op Contoso VPN en selecteer Eigenschappen.
Selecteer op het tabblad Beveiliging voor gegevensversleutelingde optie Maximale sterkteversleuteling.
Selecteer Extensible Authentication Protocol (EAP) gebruiken. Selecteer daarna Extensible Authentication Protocol (EAP) en kies Microsoft: Protected EAP (PEAP) (versleuteling ingeschakeld).
Selecteer Eigenschappen om beveiligde EAP-eigenschappen te openen en voer de volgende stappen uit:
Voer voor Verbinding maken met deze servers de naam van de NPS-server in.
Voor vertrouwde basiscertificeringsinstanties selecteert u de CA die het certificaat van de NPS-server heeft uitgegeven (bijvoorbeeld contoso-CA).
Voor meldingen voordat u verbinding maakt, selecteert u Gebruiker niet vragen om nieuwe servers of vertrouwde CA's te autoriseren.
Voor Verificatiemethode selecteren, selecteer smartcard of ander certificaat.
Selecteer Configureren.
Selecteer Een certificaat op deze computer gebruiken.
Voer voor Verbinding maken met deze servers de naam van de NPS-server in.
Selecteer voor vertrouwde basiscertificeringsinstanties de CA die het certificaat van de NPS-server heeft uitgegeven.
Selecteer Gebruiker niet vragen om nieuwe servers of vertrouwde certificeringsinstanties te autoriseren.
Selecteer OK om smartcard of andere certificaateigenschappen te sluiten.
Selecteer OK om beveiligde EAP-eigenschappen te sluiten.
Selecteer OK om Contoso VPN-eigenschappen te sluiten.
Sluit het venster Netwerkverbindingen.
Selecteer In Instellingen Contoso VPN en selecteer vervolgens Verbinding maken.
Belangrijk
Zorg ervoor dat de VPN-sjabloonverbinding met uw VPN-server is geslaagd. Dit zorgt ervoor dat de EAP-instellingen juist zijn voordat u ze in de volgende stap gebruikt. U moet minstens één keer verbinding maken voordat u doorgaat; anders bevat het profiel niet alle informatie die nodig is om verbinding te maken met het VPN.
Uw Windows VPN-client configureren
In deze sectie configureert u de Windows VPN-client handmatig met behulp van een PowerShell-script.
Meld u aan als uw VPN-gebruiker op de VPN-clientcomputer.
Open Windows PowerShell Integrated Scripting Environment (ISE) als beheerder.
Kopieer en plak het volgende script:
# Define key VPN profile parameters # Replace with your own values $Domain = 'corp' # Name of the domain. $TemplateName = 'Contoso VPN' # Name of the test VPN connection you created in the tutorial. $ProfileName = 'Contoso AlwaysOn VPN' # Name of the profile we are going to create. $Servers = 'aov-vpn.contoso.com' #Public or routable IP address or DNS name for the VPN gateway. $DnsSuffix = 'corp.contoso.com' # Specifies one or more commas separated DNS suffixes. $DomainName = '.corp.contoso.com' #Used to indicate the namespace to which the policy applies. Contains `.` prefix. $DNSServers = '10.10.0.6' #List of comma-separated DNS Server IP addresses to use for the namespace. $TrustedNetwork = 'corp.contoso.com' #Comma-separated string to identify the trusted network. #Get the EAP settings for the current profile called $TemplateName $Connection = Get-VpnConnection -Name $TemplateName if(!$Connection) { $Message = "Unable to get $TemplateName connection profile: $_" Write-Host "$Message" exit } $EAPSettings= $Connection.EapConfigXmlStream.InnerXml $ProfileNameEscaped = $ProfileName -replace ' ', '%20' # Define ProfileXML $ProfileXML = @(" <VPNProfile> <DnsSuffix>$DnsSuffix</DnsSuffix> <NativeProfile> <Servers>$Servers</Servers> <NativeProtocolType>IKEv2</NativeProtocolType> <Authentication> <UserMethod>Eap</UserMethod> <Eap> <Configuration> $EAPSettings </Configuration> </Eap> </Authentication> <RoutingPolicyType>SplitTunnel</RoutingPolicyType> </NativeProfile> <AlwaysOn>true</AlwaysOn> <RememberCredentials>true</RememberCredentials> <TrustedNetworkDetection>$TrustedNetwork</TrustedNetworkDetection> <DomainNameInformation> <DomainName>$DomainName</DomainName> <DnsServers>$DNSServers</DnsServers> </DomainNameInformation> </VPNProfile> ") #Output the XML for possible use in Intune $ProfileXML | Out-File -FilePath ($env:USERPROFILE + '\desktop\VPN_Profile.xml') # Escape special characters in the profile (<,>,") $ProfileXML = $ProfileXML -replace '<', '<' $ProfileXML = $ProfileXML -replace '>', '>' $ProfileXML = $ProfileXML -replace '"', '"' # Define WMI-to-CSP Bridge properties $nodeCSPURI = "./Vendor/MSFT/VPNv2" $namespaceName = "root\cimv2\mdm\dmmap" $className = "MDM_VPNv2_01" try { # Determine user SID for VPN profile. $WmiLoggedOnUsers = (Get-WmiObject Win32_LoggedOnUser).Antecedent If($WmiLoggedOnUsers.Count -gt 1) { $WmiLoggedOnUsers = $WmiLoggedOnUsers -match "Domain=""$Domain""" } $WmiUserValid = ($WmiLoggedOnUsers | Select-Object -Unique -First 1) -match 'Domain="([^"]+)",Name="([^"]+)"' If(-not $WmiUserValid){ Throw "Returned object is not a valid WMI string" } $UserName = "$($Matches[1])\$($Matches[2])" $ObjUser = New-Object System.Security.Principal.NTAccount($UserName) $Sid = $ObjUser.Translate([System.Security.Principal.SecurityIdentifier]) $SidValue = $Sid.Value $Message = "User SID is $SidValue." Write-Host "$Message" } catch [Exception] { $Message = "Unable to get user SID. $_" Write-Host "$Message" exit } try { # Define WMI session. $session = New-CimSession $options = New-Object Microsoft.Management.Infrastructure.Options.CimOperationOptions $options.SetCustomOption("PolicyPlatformContext_PrincipalContext_Type", "PolicyPlatform_UserContext", $false) $options.SetCustomOption("PolicyPlatformContext_PrincipalContext_Id", "$SidValue", $false) } catch { $Message = "Unable to create new session for $ProfileName profile: $_" Write-Host $Message exit } try { #Detect and delete previous VPN profile. $deleteInstances = $session.EnumerateInstances($namespaceName, $className, $options) foreach ($deleteInstance in $deleteInstances) { $InstanceId = $deleteInstance.InstanceID if ("$InstanceId" -eq "$ProfileNameEscaped") { $session.DeleteInstance($namespaceName, $deleteInstance, $options) $Message = "Removed $ProfileName profile $InstanceId" Write-Host "$Message" } else { $Message = "Ignoring existing VPN profile $InstanceId" Write-Host "$Message" } } } catch [Exception] { $Message = "Unable to remove existing outdated instance(s) of $ProfileName profile: $_" Write-Host $Message exit } try { # Create the VPN profile. $newInstance = New-Object Microsoft.Management.Infrastructure.CimInstance $className, $namespaceName $property = [Microsoft.Management.Infrastructure.CimProperty]::Create("ParentID", "$nodeCSPURI", "String", "Key") $newInstance.CimInstanceProperties.Add($property) $property = [Microsoft.Management.Infrastructure.CimProperty]::Create("InstanceID", "$ProfileNameEscaped", "String", "Key") $newInstance.CimInstanceProperties.Add($property) $property = [Microsoft.Management.Infrastructure.CimProperty]::Create("ProfileXML", "$ProfileXML", "String", "Property") $newInstance.CimInstanceProperties.Add($property) $session.CreateInstance($namespaceName, $newInstance, $options) $Message = "Created $ProfileName profile." Write-Host "$Message" } catch [Exception] { $Message = "Unable to create $ProfileName profile: $_" Write-Host "$Message" exit } $Message = "Script Complete" Write-Host "$Message"
Stel de waarde in voor de volgende variabelen boven aan het script:
$Domain
, ,$ProfileName
$TemplateName
,$Servers
, ,$DnsSuffix
, , en$DomainName
$DNSServers
. Zie voor meer informatie over het instellen van deze variabelen: VPNv2 CSP.Druk op ENTER om het script uit te voeren.
Controleer of het script is geslaagd door de volgende opdracht uit te voeren in windows PowerShell ISE:
Get-CimInstance -Namespace root\cimv2\mdm\dmmap -ClassName MDM_VPNv2_01
U ziet nu de volgende uitvoer (de ProfileXML-waarde is afgekapt voor leesbaarheid):
AlwaysOn : True ByPassForLocal : DeviceTunnel : DnsSuffix : corp.contoso.com EdpModeId : InstanceID : Contoso%20AlwaysOn%20VPN LockDown : ParentID : ./Vendor/MSFT/VPNv2 ProfileXML : <VPNProfile>...</VPNProfile> RegisterDNS : RememberCredentials : True TrustedNetworkDetection : corp.contoso.com PSComputerName : `
U hebt nu uw gebruikerstunnel geconfigureerd voor AlwaysOn VPN. Als u wilt weten hoe u een apparaattunnel configureert, raadpleegt u VPN-apparaattunnels configureren in de Windows-client.
Volgende stappen
Zie AlwaysOn VPN-profiel implementeren voor Windows-clients met Microsoft Configuration Manager voor meer informatie over het configureren van AlwaysOn VPN-profielen met Microsoft Configuration Manager.
Meer informatie over het configureren van voorwaardelijke toegang voor VPN-connectiviteit met behulp van Microsoft Entra-id.
Zie Geavanceerde VPN-functiesvoor meer informatie over de geavanceerde VPN-functies.
Zie VPNv2 configuration service providervoor meer gedetailleerde informatie over alwayson VPN-configuratieopties voor de configuratieserviceprovider (CSP).
Zie Always On VPN oplossen om problemen met Always On VPN op te lossen.