共用方式為


遷移至 AlwaysOn VPN 並解除委任 DirectAccess

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 10

« 上一步:規劃從 DirectAccess 到 Always On VPN 的移轉

從 DirectAccess 移轉至 AlwaysOn VPN 需要特定程式來移轉用戶端,這有助於在執行移轉步驟時將產生的競爭狀況降到最低。 概括而言,移轉程序含下列四個主要步驟:

  1. 部署並存 VPN 基礎結構。 在您確認移轉階段以及要包含在部署中的功能之後,請將 VPN 基礎結構與現有的 DirectAccess 基礎結構並存部署。

  2. 將憑證和設定部署至用戶端。 VPN 基礎結構準備就緒後,請建立必要的憑證並將其發佈至用戶端。 用戶端收到憑證後,請部署 VPN_Profile.ps1 設定指令碼。 或者,您可以使用 Intune 來設定 VPN 用戶端。 使用 Microsoft Endpoint Configuration Manager 或 Microsoft Intune 來監視 VPN 設定部署是否成功。

  3. 從 DirectAccess 安全性群組移除裝置。 當使用者成功移轉時,您會從 DirectAccess 安全性群組中移除其裝置。 從您的環境移除 DirectAccess 之前,請先檢查 DirectAccess 安全性群組是否為空白。 如果安全性群組仍然包含成員,則請勿移除安全性群組。 如果您移除具有成員的安全性群組,則可能會讓員工無法從其裝置進行遠端存取。 使用 Microsoft Endpoint Configuration Manager 或 Microsoft Intune 來判斷裝置指派資訊,並探索每個使用者擁有的裝置為何。

  4. 解除委任 DirectAccess 伺服器。 成功移除組態設定和 DNS 記錄後,您即可終止 DirectAccess 伺服器。 若要執行這項操作,請在伺服器管理員中移除其角色,或將伺服器解除委任,並將其從 AD DS 中移除。

在開始從 DirectAccess 移轉至 AlwaysOn VPN 的移轉程序之前,請確定您已針對移轉完成規劃。 如果您尚未規劃移轉,請參閱規劃 DirectAccess 至 AlwaysOn VPN 的移轉

提示

本節不是 AlwaysOn VPN 的逐步部署指南,而是意在補充適用於 Windows Server 和 Windows 10 的 Always On VPN 部署,並提供移轉特定的部署指引。

部署並存 VPN 基礎結構

您可以與現有的 DirectAccess 基礎結構並存部署 VPN 基礎結構。 如需逐步說明詳細資料,請參閱適用於 Windows Server 和 Windows 10 的 AlwaysOn VPN 部署,以安裝和設定 Always On VPN 基礎結構。

並存部署包含下列高階工作:

  1. 建立 VPN 使用者、VPN 伺服器和 NPS 伺服器群組。

  2. 建立及發佈必要的憑證範本。

  3. 註冊伺服器憑證。

  4. 安裝及設定 AlwaysOn VPN 的遠端存取服務。

  5. 安裝和設定 NPS。

  6. 設定 AlwaysOn VPN 的 DNS 和防火牆規則。

下圖提供整個 DirectAccess-to-Always On VPN 移轉基礎結構變更的視覺參考。

Diagram of infrastructure changes in DirectAccess-to–Always On VPN migration

將憑證和 VPN 組態指令碼部署至用戶端

雖然部署 Always On VPN 區段中有大量的 VPN 用戶端設定,但需要兩個額外的步驟,才能順利完成從 DirectAccess 移轉至 AlwaysOn VPN。

您必須確定 VPN_Profile.ps1 是在憑證發行之後才出現,讓 VPN 用戶端不會嘗試在沒有憑證的情況下進行連線。 若要執行此操作,您可以執行指令碼,只將已在憑證中註冊的使用者新增至 VPN 部署就緒群組,以用來部署 Always On VPN 組態。

注意

Microsoft 建議您先測試此程序,再對任何使用者移轉環執行此程序。

  1. 建立和發佈 VPN 憑證,並啟用自動註冊群組原則物件 (GPO)。 對於傳統憑證型 Windows 10 VPN 部署,憑證會發行給裝置或使用者,以便驗證連線。 在建立並發布新的驗證憑證以進行自動註冊時,您必須使用設定為 VPN 使用者群組的自動註冊設定來建立並部署 GPO。 如需了解設定憑證和自動註冊的步驟,請參閱設定伺服器基礎結構

  2. 將使用者新增至 VPN 使用者群組。 新增您移轉至 VPN 使用者群組的使用者。 在您移轉安全性群組之後,這些使用者會留在該安全性群組中,以便他們在未來可以收到任何憑證更新。 繼續將使用者新增至此群組,直到您已將每個使用者從 DirectAccess 移至 AlwaysOn VPN 為止。

  3. 識別已收到 VPN 驗證憑證的使用者。 您正在從 DirectAccess 進行移轉,因此您必須新增方法來識別用戶端收到所需憑證的時機,並準備好接收 VPN 組態資訊。 執行 GetUsersWithCert.ps1 指令碼,將目前已核發的非已撤銷憑證的使用者,從指定的範本名稱新增至指定的 AD DS 安全性群組。 例如,在執行 GetUsersWithCert.ps1 指令碼之後,任何從 VPN 驗證憑證範本發出的有效憑證的使用者,都會新增至 VPN 部署就緒群組。

    注意

    如果您沒有方法可識別用戶端何時收到必要的憑證,您可以在憑證核發給使用者之前部署 VPN 組態,導致 VPN 連線失敗。 若要避免這種情況,請在憑證授權單位單位或排程上執行 GetUsersWithCert.ps1 指令碼,以將已收到憑證的使用者同步處理至 VPN 部署就緒群組。 接著您將使用該安全性群組,以 Microsoft Endpoint Configuration Manager 或 Intune 中的 VPN 組態部署為目標,這可確保受控用戶端在收到憑證之前不會收到 VPN 設定。

    GetUsersWithCert.ps1

    Import-module ActiveDirectory
    Import-Module AdcsAdministration
    
    $TemplateName = 'VPNUserAuthentication'##Certificate Template Name (not the friendly name)
    $GroupName = 'VPN Deployment Ready' ##Group you will add the users to
    $CSServerName = 'localhost\corp-dc-ca' ##CA Server Information
    
    $users= @()
    $TemplateID = (get-CATemplate | Where-Object {$_.Name -like $TemplateName} | Select-Object oid).oid
    $View = New-Object -ComObject CertificateAuthority.View
    $NULL = $View.OpenConnection($CSServerName)
    $View.SetResultColumnCount(3)
    $i1 = $View.GetColumnIndex($false, "User Principal Name")
    $i2 = $View.GetColumnIndex($false, "Certificate Template")
    $i3 = $View.GetColumnIndex($false, "Revocation Date")
    $i1, $i2, $i3 | %{$View.SetResultColumn($_) }
    $Row= $View.OpenView()
    
    while ($Row.Next() -ne -1){
    $Cert = New-Object PsObject
    $Col = $Row.EnumCertViewColumn()
    [void]$Col.Next()
    do {
    $Cert | Add-Member -MemberType NoteProperty $($Col.GetDisplayName()) -Value $($Col.GetValue(1)) -Force
          }
    until ($Col.Next() -eq -1)
    $col = ''
    
    if($cert."Certificate Template" -eq $TemplateID -and $cert."Revocation Date" -eq $NULL){
       $users= $users+= $cert."User Principal Name"
    $temp = $cert."User Principal Name"
    $user = get-aduser -Filter {UserPrincipalName -eq $temp} –Property UserPrincipalName
    Add-ADGroupMember $GroupName $user
       }
      }
    
  4. 部署 AlwaysOn VPN 組態。 隨著 VPN 驗證憑證的核發,而且您執行 GetUsersWithCert.ps1 指令碼時,使用者會新增至 VPN 部署就緒安全性群組。

如果您使用的是... 則...
Configuration Manager 根據該安全性群組的成員資格建立使用者集合。

Criterion Properties dialog box
Intune 只要在同步處理之後,直接以安全性群組為目標即可。

每次執行 GetUsersWithCert.ps1 設定指令碼時,您也必須執行 AD DS 探索規則,以更新 Configuration Manager 中的安全性群組成員資格。 此外,請確定部署集合的成員資格以足夠的頻率經常更新 (符合指令碼和探索規則)。

如需使用 Configuration Manager 或 Intune 將 Always On VPN 部署至 Windows 用戶端的其他資訊,請參閱 Windows Server 和 Windows 10 的 AlwaysOn VPN 部署。 不過,請務必納入這些移轉特定工作。

注意

合併這些移轉特定工作,是簡單 AlwaysOn VPN 部署與從 DirectAccess 移轉至 AlwaysOn VPN 之間的重大差異。 請務必正確定義以安全性群組為目標的集合,而不是使用部署指南中的方法。

從 DirectAccess 安全性群組移除裝置

當使用者收到驗證憑證和 VPN_Profile.ps1 組態指令碼時,您會在 Configuration Manager 或 Intune 中看到對應的成功 VPN 組態指令碼部署。 在每個部署之後,請從 DirectAccess 安全性群組移除該使用者裝置,以便稍後移除 DirectAccess。 Intune 和 Configuration Manager 都包含使用者裝置指派資訊,可協助您判斷每個使用者的裝置。

注意

如果您要透過組織單位 (OU) 而非電腦群組來套用 DirectAccess GPO,請將使用者的電腦物件移出 OU。

解除委任 DirectAccess 基礎結構

在您完成將所有 DirectAccess 用戶端移轉至 AlwaysOn VPN 時,您可以解除委任 DirectAccess 基礎結構,並從群組原則移除 DirectAccess 設定。 Microsoft 建議執行下列步驟,以正常方式從您的環境移除 DirectAccess:

  1. 移除組態設定。 開啟 [遠端存取管理主控台] 並選取 [移除組態設定],以移除 GPO 和遠端存取群組原則設定,如下圖所示。 如果您在移除組態之前移除群組,您可能會收到錯誤。

    Process to remove DirectAccess from your environment

  2. 從 DirectAccess 安全性群組移除裝置。 當使用者成功移轉時,您會從 DirectAccess 安全性群組中移除其裝置。 從您的環境移除 DirectAccess 之前,請先檢查 DirectAccess 安全性群組是否為空白。 如果安全性群組仍然包含成員,請勿移除安全性群組。 如果您移除具有成員的安全性群組,則可能會讓員工無法從其裝置進行遠端存取。 使用 Microsoft Endpoint Configuration Manager 或 Microsoft Intune 來判斷裝置指派資訊,並探索每個使用者擁有的裝置為何。

  3. 清除 DNS。 請務必從與 DirectAccess 相關的內部 DNS 伺服器和公用 DNS 伺服器中移除任何記錄,例如 DA.contoso.com、DAGateway.contoso.com。

  4. 解除委任 DirectAccess 伺服器。 成功移除組態設定和 DNS 記錄後,您即可終止 DirectAccess 伺服器。 若要執行這項操作,請在伺服器管理員中移除其角色,或將伺服器解除委任,並將其從 AD DS 中移除。

  5. 從 Active Directory 憑證服務移除任何 DirectAccess 憑證。 如果您使用電腦憑證進行 DirectAccess 實作,請從憑證授權單位單位主控台的 [憑證範本] 資料夾中移除已發佈的範本。

後續步驟

您已完成從 DirectAccess 移轉至 AlwaysOn VPN。