共用方式為


轉換成無密碼部署

認知和使用者教育

在最後一個步驟中,您將包含符合目標工作角色的其餘使用者,以進行無密碼部署。 在執行此步驟之前,您想要投資認知活動。

認知活動會向使用者介紹向其裝置進行驗證的新方式,例如使用 Windows Hello 企業版。 營銷活動的概念是事先將變更升階給使用者。 說明貴公司所要變更的價值和原因。 活動應該提供日期,並鼓勵問題和意見反應。 此活動可與使用者教育一致,您可以在其中向用戶顯示變更,如果您的環境允許,則可讓使用者試用體驗。

提示

若要促進用戶通訊,並確保 Windows Hello 企業版 部署成功,您可以在 Microsoft Entra 範本找到可自定義 (電子郵件範本、海報、訓練等 ) 材質。

包含符合工作角色的其餘使用者

您已為目標用戶實作認知活動。 系統會通知這些使用者,並準備好轉換為無密碼。 將符合目標工作角色的其餘使用者新增至您的部署。

驗證工作角色的使用者都不需要密碼

您已成功將目標工作角色的所有使用者轉換為無密碼。 監視工作角色內的使用者,以確保他們在無密碼環境中工作時不會遇到任何問題。

追蹤所有回報的問題。 將優先順序和嚴重性設定為每個回報的問題,並讓您的小組適當地分級問題。 當您分級問題時,請考慮下列問題:

問題
🔲 報表使用者是否在工作角色之外執行工作?
🔲 回報的問題會影響整個工作角色,還是只影響特定使用者?
🔲 中斷是否為設定錯誤所造成?
🔲 中斷是步驟 2 中忽略的間距嗎?

每個組織的優先順序和嚴重性不同。 不過,大部分的組織都認為工作停止作業相當重要。 您的小組應該預先定義優先順序和嚴重性的層級。 使用這些層級,建立服務等級協定 (SLA) 每個嚴重性和優先順序的組合,並讓每個人都對這些合約負責。 回應式規劃可讓使用者花更多時間來解決問題,並減少處理程序的時間。

根據您的服務等級協定解決問題。 較高的嚴重性專案可能需要傳回部分或所有用戶的密碼介面。 很明顯地,此結果不是最終目標,但不要讓它降低您變成無密碼的動力。 請參閱您如何在步驟 2 中減少使用者的密碼介面,並前進到解決方案、部署該解決方案並加以驗證。

提示

監視域控制器的密碼驗證事件。 這有助於主動識別仍在使用密碼的使用者,以及與他們聯繫。

設定用戶帳戶以防止密碼驗證

您已將目標工作角色的所有用戶轉換為無密碼環境,並驗證其所有工作流程。 完成無密碼轉換的最後一個步驟是移除使用者對密碼的知識。

密碼混亂

雖然您無法從使用者的帳戶完全移除密碼,但您可以防止使用者使用密碼進行驗證。 最簡單且最有效的方法是將密碼設定為隨機值。 這種方法可防止使用者知道密碼並使用它進行驗證,但可讓用戶視需要重設密碼。

提示

用 Microsoft Entra 自助式密碼重設 (SSPR) ,以允許使用者重設其密碼。 實作之後,使用者可以使用 Windows Hello 企業版 或 FIDO2 安全性密鑰登入其 Windows 裝置,並從 https://aka.ms/sspr重設其密碼。 將它與密碼回寫結合,讓密碼重設同步至您的 內部部署的 Active Directory。

下列範例 PowerShell 腳本會產生 64 個字元的隨機密碼,併為變數名稱中指定的使用者設定$userId 針對 Microsoft Entra ID。 修改腳本的 userId 變數,以符合您的環境 (第一行) ,然後在 PowerShell 會話中執行它。 當系統提示您向 Microsoft Entra ID 驗證時,請使用具有能夠重設密碼之角色的帳戶認證。

$userId = "<UPN of the user>"

function Generate-RandomPassword{
    [CmdletBinding()]
    param (
      [int]$Length = 64
    )
  $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>/?\|`~"
  $random = New-Object System.Random
  $password = ""
  for ($i = 0; $i -lt $Length; $i++) {
    $index = $random.Next(0, $chars.Length)
    $password += $chars[$index]
  }
  return $password
}

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph.Users.Actions
Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All" -NoWelcome

$passwordParams = @{
 UserId = $userId
 AuthenticationMethodId = "28c10230-6103-485e-b985-444c60001490"
 NewPassword = Generate-RandomPassword
}

Reset-MgUserAuthenticationMethodPassword @passwordParams

類似的腳本可用來針對Active Directory 重設密碼。 修改腳本的 samAccountName 變數,以符合您的環境 (第一行) ,然後在 PowerShell 會話中執行它。

$samAccountName = <sAMAccountName of the user>

function Generate-RandomPassword{
    [CmdletBinding()]
    param (
      [int]$Length = 64
    )
  $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>/?\|`~"
  $random = New-Object System.Random
  $password = ""
  for ($i = 0; $i -lt $Length; $i++) {
    $index = $random.Next(0, $chars.Length)
    $password += $chars[$index]
  }
  return $password
}

$NewPassword = ConvertTo-SecureString -String (Generate-RandomPassword) -AsPlainText -Force

Set-ADAccountPassword -identity $userId -NewPassword $NewPassword -Reset

如果您的組織原則允許,您可以將隨機密碼設定為永不過期,或使用較長的到期期間。 此設定可防止提示使用者變更其密碼。

注意

只從安全且受信任的環境執行腳本,並確保不會記錄腳本。 將執行腳本的主機視為具有特殊許可權的主機,其安全性層級與域控制器相同。

密碼存留期和密碼輪替

如果您的組織沒有密碼輪替需求,建議您停用密碼存留期。

如果您的組織有密碼輪替原則,請考慮實作自動化以定期輪替用戶的密碼。 這種方法可確保用戶的密碼一律會隨機化,並防止使用者知道密碼。

如需更多密碼相關指引,請參閱白皮書 密碼指引

後續步驟

Microsoft 正致力於讓您更輕鬆地進行無密碼旅程。 我們正在處理新功能,以協助您轉換至無密碼環境,並達成真正無密碼環境的長期安全性承諾。 請經常回來查看新功能。