Konfigurera en punkt-till-plats-VPN (P2S) i Windows för användning med Azure Files

Du kan använda en punkt-till-plats-VPN-anslutning (P2S) för att montera dina Azure-filresurser via SMB utanför Azure, utan att öppna port 445. En punkt-till-plats-VPN-anslutning är en VPN-anslutning mellan Azure och en enskild klient. Om du vill använda en P2S VPN-anslutning med Azure Files måste du konfigurera en VPN-anslutning för varje klient som vill ansluta. Om du har många klienter som behöver ansluta till dina Azure-filresurser från ditt lokala nätverk kan du använda en VPN-anslutning från plats till plats (S2S) i stället för en punkt-till-plats-anslutning för varje klient. Mer information finns i Konfigurera en plats-till-plats-VPN för användning med Azure Files.

Vi rekommenderar starkt att du läser Nätverksöverväganden för direkt åtkomst till Azure-filresurser innan du fortsätter med den här artikeln för en fullständig diskussion om de nätverksalternativ som är tillgängliga för Azure Files.

Artikeln beskriver stegen för att konfigurera en punkt-till-plats-VPN på Windows (Windows-klient och Windows Server) för att montera Azure-filresurser direkt lokalt. Om du vill dirigera Azure File Sync-trafik via ett VPN kan du läsa konfigurera Proxy- och brandväggsinställningar för Azure File Sync.

Gäller för

Typ av filresurs SMB NFS
Standardfilresurser (GPv2), LRS/ZRS Ja Inga
Standardfilresurser (GPv2), GRS/GZRS Ja Inga
Premiumfilresurser (FileStorage), LRS/ZRS Ja Inga

Förutsättningar

  • Den senaste versionen av Azure PowerShell-modulen. Se Installera Azure PowerShell-modulen.

  • En Azure-filresurs som du vill montera lokalt. Azure-filresurser distribueras i lagringskonton, som är hanteringskonstruktioner som representerar en delad lagringspool där du kan distribuera flera filresurser samt andra lagringsresurser. Läs mer om hur du distribuerar Azure-filresurser och lagringskonton i Skapa en Azure-filresurs.

  • Ett virtuellt nätverk med en privat slutpunkt för lagringskontot som innehåller den Azure-filresurs som du vill montera lokalt. Information om hur du skapar en privat slutpunkt finns i Konfigurera Azure Files-nätverksslutpunkter.

  • Du måste skapa ett gateway-undernät i det virtuella nätverket. Om du vill skapa ett gateway-undernät loggar du in på Azure-portalen, navigerar till det virtuella nätverket, väljer Inställningar undernät och väljer sedan + Gateway-undernät>. När du skapar gatewayundernätet anger du det antal IP-adresser som undernätet innehåller. Hur många IP-adresser som behövs beror på vilken konfiguration av VPN-gatewayen som du vill skapa. Det är bäst att ange /27 eller större (/26, /25 osv.) för att tillåta tillräckligt med IP-adresser för framtida ändringar, till exempel att lägga till en ExpressRoute-gateway.

Samla in miljöinformation

Innan du konfigurerar punkt-till-plats-VPN måste du samla in viss information om din miljö.

För att kunna konfigurera ett punkt-till-plats-VPN med azure-portalen måste du känna till resursgruppens namn, namn på virtuellt nätverk, gatewayundernätsnamn och lagringskontonamn.

Skapa rotcertifikat för VPN-autentisering

För att VPN-anslutningar från dina lokala Windows-datorer ska kunna autentiseras för att få åtkomst till ditt virtuella nätverk måste du skapa två certifikat:

  1. Ett rotcertifikat som kommer att tillhandahållas till den virtuella datorgatewayen
  2. Ett klientcertifikat som kommer att signeras med rotcertifikatet

Du kan antingen använda ett rotcertifikat som har genererats med en företagslösning eller generera ett självsignerat certifikat. Om du använder en företagslösning hämtar du .cer-filen för rotcertifikatet från IT-organisationen.

Om du inte använder en företagscertifikatlösning skapar du ett självsignerat rotcertifikat med det här PowerShell-skriptet. Du skapar klientcertifikatet när du har distribuerat den virtuella nätverksgatewayen. Om möjligt lämnar du PowerShell-sessionen öppen så att du inte behöver omdefiniera variabler när du skapar klientcertifikatet senare i den här artikeln.

Viktigt!

Kör det här PowerShell-skriptet som administratör från en lokal dator som kör Windows 10/Windows Server 2016 eller senare. Kör inte skriptet från ett Cloud Shell eller en virtuell dator i Azure.

$rootcertname                = 'CN=P2SRootCert'
$certLocation                = 'Cert:\CurrentUser\My'
$vpnTemp                     = 'C:\vpn-temp'
$exportedencodedrootcertpath = "$vpnTemp\P2SRootCertencoded.cer"
$exportedrootcertpath        = "$vpnTemp\P2SRootCert.cer"

if (-Not (Test-Path -Path $vpnTemp -PathType Container)) {
    New-Item -ItemType Directory -Force -Path $vpnTemp | Out-Null
}

if ($PSVersionTable.PSVersion.Major -ge 6) {
    Import-Module -Name PKI -UseWindowsPowerShell
}

$selfSignedCertParams = @{
    Type              = 'Custom'
    KeySpec           = 'Signature'
    Subject           = $rootcertname
    KeyExportPolicy   = 'Exportable'
    HashAlgorithm     = 'sha256'
    KeyLength         = '2048'
    CertStoreLocation = $certLocation
    KeyUsageProperty  = 'Sign'
    KeyUsage          = 'CertSign'
}
$rootcert = New-SelfSignedCertificate @selfSignedCertParams

Export-Certificate -Cert $rootcert -FilePath $exportedencodedrootcertpath -NoClobber | Out-Null

certutil -encode $exportedencodedrootcertpath $exportedrootcertpath | Out-Null

$rawRootCertificate = Get-Content -Path $exportedrootcertpath

$rootCertificate = ''

foreach ($line in $rawRootCertificate) { 
    if ($line -notlike '*Certificate*') { 
        $rootCertificate += $line 
    } 
}

Distribuera virtuell nätverksgateway

Den virtuella Azure-nätverksgatewayen är den tjänst som dina lokala Windows-datorer ansluter till. Om du inte redan har gjort det måste du skapa ett gateway-undernät i det virtuella nätverket innan du distribuerar den virtuella nätverksgatewayen.

För att distribuera en virtuell nätverksgateway krävs två grundläggande komponenter:

  1. En offentlig IP-adress som identifierar gatewayen till dina klienter var de än befinner sig i världen
  2. Rotcertifikatet som du skapade i föregående steg, som ska användas för att autentisera dina klienter

Du kan använda Azure-portalen eller Azure PowerShell för att distribuera den virtuella nätverksgatewayen. Distributionen kan ta upp till 45 minuter att slutföra.

Följ dessa instruktioner för att distribuera en virtuell nätverksgateway med hjälp av Azure-portalen.

  1. Logga in på Azure-portalen.

  2. I Sök resurser, tjänster och dokument skriver du virtuella nätverksgatewayer. Leta upp virtuella nätverksgatewayer i Marketplace-sökresultaten och välj den.

  3. Välj + Skapa för att skapa en ny virtuell nätverksgateway.

  4. På fliken Grundläggande fyller du i värdena för projektinformation och instansinformation.

    Skärmbild som visar hur du skapar en virtuell nätverksgateway med hjälp av Azure-portalen.

    • Prenumeration: Välj den prenumeration som du vill använda i listrutan.
    • Resursgrupp: Den här inställningen fylls i automatiskt när du väljer ditt virtuella nätverk på den här sidan.
    • Namn: namnge din gateway. Att namnge din gateway är inte detsamma som att namnge ett gatewayundernät. Det är namnet på gatewayobjektet som du skapar.
    • Region: Välj den region där du vill skapa den här resursen. Gatewayens region måste vara samma som det virtuella nätverket.
    • Gatewaytyp: välj VPN. En VPN-gateway använder VPN som virtuell nätverksgateway.
    • SKU: Välj den gateway-SKU som stöder de funktioner som du vill använda i listrutan. Se Gateway-SKU :er. Använd inte Basic SKU eftersom den inte stöder IKEv2-autentisering.
    • Generation: Välj den generation som du vill använda. Vi rekommenderar att du använder en Generation2 SKU. Se Gateway SKU:er för mer information.
    • Virtuellt nätverk: I listrutan väljer du det virtuella nätverk som du vill lägga till den här gatewayen till. Om du inte kan se det virtuella nätverk som du vill skapa en gateway för kontrollerar du att du har valt rätt prenumeration och region.
    • Undernät: Det här fältet ska vara nedtonat och visa namnet på gatewayundernätet som du skapade, tillsammans med dess IP-adressintervall. Om du i stället ser ett fält för gatewayundernätsadressintervall med en textruta har du ännu inte konfigurerat ett gatewayundernät (se Krav.)
  5. Ange värdena för den offentliga IP-adress som associeras med den virtuella nätverksgatewayen. Den offentliga IP-adressen tilldelas det här objektet när den virtuella nätverksgatewayen skapas. Den enda gången som den primära offentliga IP-adressen ändras är när gatewayen tas bort och återskapas. Det ändras inte mellan storleksändring, återställning eller annat internt underhåll/uppgraderingar.

    Skärmbild som visar hur du anger den offentliga IP-adressen för en virtuell nätverksgateway med hjälp av Azure-portalen.

    • Offentlig IP-adress: Låt Skapa ny vara markerad.
    • Namn på offentlig IP-adress: I textrutan skriver du ett namn för din offentliga IP-adressinstans.
    • SKU för offentlig IP-adress: Inställningen är automatiskt avmarkerad.
    • Tilldelning: Tilldelningen är vanligtvis automatiskt markerad och kan vara dynamisk eller statisk.
    • Aktivera aktivt-aktivt läge: Välj Inaktiverad. Aktivera endast den här inställningen om du skapar en aktiv-aktiv gateway-konfiguration.
    • Konfigurera BGP: Välj Inaktiverad, såvida inte konfigurationen specifikt kräver den här inställningen. Om du behöver den här inställningen är standard-ASN 65515, även om det här värdet kan ändras.
  6. Välj Granska + skapa för att köra verifieringen. När valideringen har godkänts väljer du Skapa för att distribuera den virtuella nätverksgatewayen. Distributionen kan ta upp till 45 minuter att slutföra.

  7. När distributionen är klar väljer du Gå till resurs.

  8. I den vänstra rutan väljer du Inställningar > Punkt-till-plats-konfiguration och väljer sedan Konfigurera nu. Du bör se konfigurationssidan punkt-till-plats.

    Skärmbild som visar hur du konfigurerar ett punkt-till-plats-VPN med hjälp av Azure-portalen.

    • Adresspool: Lägg till det privata IP-adressintervall som du vill använda. VPN-klienter tar dynamiskt emot en IP-adress från intervallet som du anger. Den minsta nätmasken är 29 bitar för aktiv/passiv och 28 bitar för aktiv/aktiv konfiguration.
    • Tunneltyp: Ange den tunneltyp som du vill använda. Datorer som ansluter via den interna Windows VPN-klienten provar IKEv2 först. Om det inte ansluter återgår de till SSTP (om du väljer både IKEv2 och SSTP i listrutan). Om du väljer tunneltypen OpenVPN kan du ansluta med en OpenVPN-klient eller Azure VPN-klienten.
    • Autentiseringstyp: Ange den autentiseringstyp som du vill använda (i det här fallet väljer du Azure-certifikat).
    • Rotcertifikatnamn: Rotcertifikatets filnamn (.cer fil).
    • Offentliga certifikatdata: Öppna rotcertifikatet med Anteckningar och kopiera/klistra in offentliga certifikatdata i det här textfältet. Om du använde PowerShell-skriptet i den här artikeln för att generera ett självsignerat rotcertifikat finns det i C:\vpn-temp. Klistra bara in texten mellan -----BEGIN CERTIFICATE----- och -----END CERTIFICATE-----. Ta inte med några ytterligare blanksteg eller tecken.

    Kommentar

    Om du inte ser tunneltyp eller autentiseringstyp använder gatewayen basic-SKU:n. Basic SKU stöder inte IKEv2-autentisering. Om du vill använda IKEv2 måste du ta bort och återskapa gatewayen med en annan gateway-SKU.

  9. Välj Spara överst på sidan för att spara alla konfigurationsinställningar och ladda upp den offentliga nyckelinformationen för rotcertifikatet till Azure.

Skapa klientcertifikat

Varje klientdator som du ansluter till ett virtuellt nätverk med en punkt-till-plats-anslutning måste ha ett klientcertifikat installerat. Du genererar klientcertifikatet från rotcertifikatet och installerar det på varje klientdator. Om du inte installerar ett giltigt klientcertifikat misslyckas autentiseringen när klienten försöker ansluta. Du kan antingen skapa ett klientcertifikat från ett rotcertifikat som har genererats med en företagslösning eller skapa ett klientcertifikat från ett självsignerat rotcertifikat.

Skapa klientcertifikat med hjälp av en företagslösning

Om du använder en lösning för företagscertifikat genererar du ett klientcertifikat med det allmänna namnvärdesformatet name@yourdomain.com. Använd det här formatet i stället för formatet domännamn\användarnamn. Se till att klientcertifikatet baseras på en användarcertifikatmall där Klientautentisering är den första posten i användningslistan. Du kan kontrollera certifikatet genom att dubbelklicka på det och visa Förbättrad nyckelanvändning på fliken Information.

Skapa klientcertifikat från ett självsignerat rotcertifikat

Om du inte använder en företagscertifikatlösning kan du använda PowerShell för att skapa ett klientcertifikat med URI:n för den virtuella nätverksgatewayen. Det här certifikatet kommer att signeras med rotcertifikatet som du skapade tidigare. När du skapar ett klientcertifikat från ett självsignerat rotcertifikat installeras det automatiskt på den dator som du använde för att skapa det.

Om du vill installera ett klientcertifikat på en annan klientdator exporterar du certifikatet som en .pfx-fil, tillsammans med hela certifikatkedjan. Då skapas en .pfx-fil som innehåller den rotcertifikatinformation som krävs för att autentisera klienten. Om du vill exportera det självsignerade rotcertifikatet som en .pfx väljer du rotcertifikatet och använder samma steg som beskrivs i Exportera klientcertifikatet.

Identifiera det självsignerade rotcertifikatet

Om du använder samma PowerShell-session som du använde för att skapa ditt självsignerade rotcertifikat kan du gå vidare till Generera ett klientcertifikat.

Annars kan du använda följande steg för att identifiera det självsignerade rotcertifikatet som är installerat på datorn.

  1. Hämta en lista över de certifikat som är installerade på datorn.

    Get-ChildItem -Path 'Cert:\CurrentUser\My'
    
  2. Leta upp ämnesnamnet från den returnerade listan och kopiera sedan tumavtrycket som finns bredvid det till en textfil. I följande exempel finns det två certifikat. CN-namnet är namnet på det självsignerade rotcertifikat som du vill generera ett underordnat certifikat från. I det här fallet kallas det P2SRootCert.

    Thumbprint                                Subject
    ----------                                -------
    AED812AD883826FF76B4D1D5A77B3C08EFA79F3F  CN=P2SChildCert4
    7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655  CN=P2SRootCert
    
  3. Deklarera en variabel för rotcertifikatet med tumavtrycket från föregående steg. Ersätt THUMBPRINT med tumavtrycket för rotcertifikatet som du vill generera ett klientcertifikat från.

    $rootcert = Get-ChildItem -Path 'Cert:\CurrentUser\My\<THUMBPRINT>'
    

    Med tumavtrycket för P2SRootCert i föregående steg ser kommandot till exempel ut så här:

    $rootcert = Get-ChildItem -Path 'Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655'
    

Generera ett klientcertifikat

Använd PowerShell-cmdleten New-AzVpnClientConfiguration för att generera ett klientcertifikat. Om du inte använder samma PowerShell-session som du använde för att skapa ditt självsignerade rotcertifikat måste du identifiera det självsignerade rotcertifikatet enligt beskrivningen i föregående avsnitt. Innan du kör skriptet ersätter <resource-group-name> du med resursgruppens namn och <vpn-gateway-name> med namnet på den virtuella nätverksgateway som du precis distribuerade.

Viktigt!

Kör det här PowerShell-skriptet som administratör från den lokala Windows-dator som du vill ansluta till Azure-filresursen. Datorn måste köra Windows 10/Windows Server 2016 eller senare. Kör inte skriptet från ett Cloud Shell i Azure. Kontrollera att du loggar in på ditt Azure-konto innan du kör skriptet (Connect-AzAccount).

$clientcertpassword = '<enter-your-password>'
$resourceGroupName  = '<resource-group-name>'
$vpnName            = '<vpn-gateway-name>'
$vpnTemp            = 'C:\vpn-temp'
$certLocation       = 'Cert:\CurrentUser\My'

$vpnClientConfigParams = @{
    ResourceGroupName    = $resourceGroupName
    Name                 = $vpnName
    AuthenticationMethod = 'EAPTLS'
}
$vpnClientConfiguration = New-AzVpnClientConfiguration @vpnClientConfigParams

$webRequestParams = @{
    Uri = $vpnClientConfiguration.VpnProfileSASUrl
    OutFile = "$vpnTemp\vpnclientconfiguration.zip"
}
Invoke-WebRequest @webRequestParams

$expandArchiveParams = @{
    Path            = "$vpnTemp\vpnclientconfiguration.zip"
    DestinationPath = "$vpnTemp\vpnclientconfiguration"
}
Expand-Archive @expandArchiveParams

$vpnGeneric = "$vpnTemp\vpnclientconfiguration\Generic"
$vpnProfile = ([xml](Get-Content -Path "$vpnGeneric\VpnSettings.xml")).VpnProfile

$exportedclientcertpath = "$vpnTemp\P2SClientCert.pfx"
$clientcertname         = "CN=$($vpnProfile.VpnServer)"

$selfSignedCertParams = @{
    Type              = 'Custom'
    DnsName           = $vpnProfile.VpnServer
    KeySpec           = 'Signature'
    Subject           = $clientcertname
    KeyExportPolicy   = 'Exportable'
    HashAlgorithm     = 'sha256'
    KeyLength         = 2048
    CertStoreLocation = $certLocation
    Signer            = $rootcert
    TextExtension     = @('2.5.29.37={text}1.3.6.1.5.5.7.3.2')
}
$clientcert = New-SelfSignedCertificate @selfSignedCertParams

$mypwd = ConvertTo-SecureString -String $clientcertpassword -Force -AsPlainText

Export-PfxCertificate -FilePath $exportedclientcertpath -Password $mypwd -Cert $clientcert |
    Out-Null

Konfigurera VPN-klienten

Den virtuella Azure-nätverksgatewayen skapar ett nedladdningsbart paket med konfigurationsfiler som krävs för att initiera VPN-anslutningen på din lokala Windows-dator. Konfigurationspaketet innehåller inställningar som är specifika för den VPN-gateway som du skapade. Om du gör ändringar i gatewayen, till exempel om du ändrar en tunneltyp, ett certifikat eller en autentiseringstyp, måste du generera ett annat konfigurationspaket för VPN-klientprofilen och installera det på varje klient. Annars kanske vpn-klienterna inte kan ansluta.

Du konfigurerar VPN-anslutningen med funktionen Always On VPN som introducerades i Windows 10/Windows Server 2016. Det här paketet innehåller även körbara filer som konfigurerar den äldre Windows VPN-klienten om så önskas. Den här guiden använder Always On VPN i stället för den äldre Windows VPN-klienten eftersom AlwaysOn VPN-klienten gör att du kan ansluta/koppla från Azure VPN utan att ha administratörsbehörighet till datorn.

Installera klientcertifikatet

Följ dessa steg på klientdatorn för att installera det klientcertifikat som krävs för autentisering mot den virtuella nätverksgatewayen.

  1. När klientcertifikatet har exporterats letar du upp och kopierar .pfx-filen till klientdatorn.
  2. Installera .pfx-filen genom att dubbelklicka på den på klientdatorn. Låt butiksplatsen vara Aktuell användare och välj sedan Nästa.
  3. Gör inga ändringar på sidan för den Fil som ska importeras. Välj Nästa.
  4. På sidan Skydd av privat nyckel anger du lösenordet för certifikatet eller kontrollerar att säkerhetsobjektet är korrekt och väljer sedan Nästa.
  5. På sidan Certifikatarkiv lämnar du standardplatsen och väljer sedan Nästa.
  6. Välj Slutför. På säkerhetsvarningen för certifikatinstallationen väljer du Ja. Du kan bekvämt välja "Ja" för den här säkerhetsvarningen eftersom du genererade certifikatet.
  7. Certifikatet har nu importerats.

Installera VPN-klienten

Det här avsnittet hjälper dig att konfigurera den interna VPN-klienten som ingår i ditt Windows-operativsystem för att ansluta till ditt virtuella nätverk (IKEv2 och SSTP). Den här konfigurationen kräver inte ytterligare klientprogramvara.

Visa konfigurationsfiler

På klientdatorn navigerar du till C:\vpn-temp och öppnar mappen vpnclientconfiguration för att visa följande undermappar:

  • WindowsAmd64 och WindowsX86, som innehåller Windows 64-bitars respektive 32-bitars installationspaket. Installationsprogrammet för WindowsAmd64 är för alla 64-bitars Windows-klienter som stöds, inte bara Amd.
  • Generic, som innehåller allmän information som används för att skapa en egen VPN-klientkonfiguration. Den generiska mappen tillhandahålls om IKEv2 eller SSTP+IKEv2 har konfigurerats på gatewayen. Om endast SSTP har konfigurerats finns inte mappen Generic.

Konfigurera VPN-klientprofil

Du kan använda samma VPN-klientkonfigurationspaket på varje Windows-klientdator, så länge versionen matchar klientens arkitektur.

Kommentar

Du måste ha administratörsbehörighet på den Windows-klientdator som du vill ansluta från för att kunna köra installationspaketet.

  1. Välj de VPN-klientkonfigurationsfiler som motsvarar Windows-datorns arkitektur. För en 64-bitars processorarkitektur väljer du VpnClientSetupAmd64 installationspaketet. För en 32-bitars processorarkitektur väljer du VpnClientSetupX86 installationspaketet.

  2. Dubbelklicka på paketet för att installera det. Om du ser ett SmartScreen-popup-fönster väljer du Mer information och sedan Kör ändå.

  3. Anslut till ditt VPN. Gå till VPN-Inställningar och leta upp den VPN-anslutning som du skapade. Det är samma namn som ditt virtuella nätverk. Välj Anslut. Ett popup-meddelande kan visas. Välj Fortsätt om du vill använda utökade privilegier.

  4. På statussidan Anslutning väljer du Anslut för att initiera anslutningen. Om du ser skärmen Välj certifikat kontrollerar du att klientcertifikatet som visas är det som du vill använda för att ansluta. Om den inte är det använder du listrutepilen för att välja rätt certifikat och väljer sedan OK.

Montera Azure-filresurs

Nu när du har konfigurerat punkt-till-plats-VPN kan du använda det för att montera Azure-filresursen på en lokal dator.

Om du vill montera filresursen med hjälp av din lagringskontonyckel öppnar du en Windows-kommandotolk och kör följande kommando. Ersätt <YourStorageAccountName>, <FileShareName>och <YourStorageAccountKey> med dina egna värden. Om Z: redan används ersätter du det med en tillgänglig enhetsbeteckning. Du hittar din lagringskontonyckel i Azure-portalen genom att gå till lagringskontot och välja Åtkomstnycklar för säkerhet och nätverk>.

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:localhost\<YourStorageAccountName> <YourStorageAccountKey>

Rotera VPN-rotcertifikat

Om ett rotcertifikat måste roteras på grund av förfallodatum eller nya krav kan du lägga till ett nytt rotcertifikat till den befintliga virtuella nätverksgatewayen utan att distribuera om den virtuella nätverksgatewayen. När du har lagt till rotcertifikatet med hjälp av följande skript måste du återskapa VPN-klientcertifikatet.

Ersätt <resource-group-name>, <desired-vpn-name-here>och <new-root-cert-name> med dina egna värden och kör sedan skriptet.

#Creating the new Root Certificate
$ResourceGroupName           = '<resource-group-name>'
$vpnName                     = '<desired-vpn-name-here>'
$NewRootCertName             = '<new-root-cert-name>'
$rootcertname                = "CN=$NewRootCertName"
$certLocation                = 'Cert:\CurrentUser\My'
$date                        = Get-Date -Format 'MM_yyyy'
$vpnTemp                     = "C:\vpn-temp_$date"
$exportedencodedrootcertpath = "$vpnTemp\P2SRootCertencoded.cer"
$exportedrootcertpath        = "$vpnTemp\P2SRootCert.cer"

if (-Not (Test-Path -Path $vpnTemp -PathType Container)) {
    New-Item -ItemType Directory -Force -Path $vpnTemp | Out-Null
}

$selfSignedCertParams = @{
    Type              = 'Custom'
    KeySpec           = 'Signature'
    Subject           = $rootcertname
    KeyExportPolicy   = 'Exportable'
    HashAlgorithm     = 'sha256'
    KeyLength         = 2048
    CertStoreLocation = $certLocation
    KeyUsageProperty  = 'Sign'
    KeyUsage          = 'CertSign'
}
$rootcert = New-SelfSignedCertificate @selfSignedCertParams

$exportCertParams = @{
    Cert      = $rootcert
    FilePath  = $exportedencodedrootcertpath
    NoClobber = $true
}
Export-Certificate @exportCertParams | Out-Null

certutil -encode $exportedencodedrootcertpath $exportedrootcertpath | Out-Null

$rawRootCertificate = Get-Content -Path $exportedrootcertpath

$rootCertificate = ''

foreach($line in $rawRootCertificate) { 
    if ($line -notlike '*Certificate*') { 
        $rootCertificate += $line 
    } 
}

#Fetching gateway details and adding the newly created Root Certificate.
$gateway = Get-AzVirtualNetworkGateway -Name $vpnName -ResourceGroupName $ResourceGroupName

$vpnClientRootCertParams = @{
    PublicCertData               = $rootCertificate
    ResourceGroupName            = $ResourceGroupName
    VirtualNetworkGatewayName    = $gateway
    VpnClientRootCertificateName = $NewRootCertName
}
Add-AzVpnClientRootCertificate @vpnClientRootCertParams

Se även