在 Azure 檔案儲存體 和 Active Directory 網域服務 或 Microsoft Entra Domain Services 上儲存 FSLogix 配置檔容器
本文說明如何在會話主機虛擬機 (VM) 加入 Active Directory 網域服務 (AD DS) 網域或Microsoft Entra Domain Services 受控網域時,使用 Azure 檔案儲存體 設定 FSLogix 配置檔容器。
必要條件
若要設定設定檔容器,您需要下列專案:
- 主機集區,其中工作階段主機會加入 AD DS 網域或 Microsoft Entra Domain Services 受控網域,並指派使用者。
- 網域中的安全組,其中包含將使用配置檔容器的使用者。 若您使用 AD DS,則必須同步至 Microsoft Entra ID。
- 建立儲存體帳戶並新增角色指派的 Azure 訂用帳戶中的權限。
- 網域帳戶,可將電腦加入網域並開啟提升權限的 PowerShell 提示字元。
- Azure 訂用帳戶的訂閱識別碼,您的儲存體帳戶會位在此訂用帳戶。
- 已加入網域的電腦,用於安裝及執行將儲存體帳戶加入網域的 PowerShell 模組。 此裝置必須執行 支援的 Windows 版本。 您可以改用工作階段主機。
重要
如果使用者先前已登入您想要使用的會話主機,則會為其建立本機配置檔,且必須先由系統管理員刪除,才能將其配置檔儲存在配置檔容器中。
設定配置檔容器的記憶體帳戶
設定儲存體帳戶:
建立 Azure 儲存體帳戶 (如果您還沒有帳戶的話)。
提示
您的組織可能會需要變更這些預設值:
- 您是否應該選取 [進階],取決於您的 IOPS 和延遲需求。 如需詳細資訊,請參閱 容器記憶體選項。
- 在 [進階] 索引標籤上,[啟用儲存體帳戶金鑰存取] 必須保持在已啟用狀態。
- 如需其餘組態選項的詳細資訊,請參閱規劃 Azure 檔案儲存體 部署。
請在儲存體帳戶下建立 Azure 檔案共用 (如果您尚未這麼做的話),以儲存 FSLogix 設定檔。
請將您的儲存體帳戶加入 Active Directory
若要將 Active Directory 帳戶用於檔案共用的共用權限,您必需啟用 AD DS 或 Microsoft Entra Domain Services 作為來源。 本程式會將儲存體帳戶加入網域,並將其表示為電腦帳戶。 針對您的案例請在下方選取適用的索引標籤,並依照步驟操作。
請登入已加入 AD DS 網域的電腦。 或者,登入其中一個工作階段主機。
從 Azure 檔案儲存體範例 GitHub 存放庫下載並擷取 最新版本的 AzFilesHybrid。 記下將檔案解壓縮的資料夾。
開啟提升權限的 PowerShell 提示並變更至已解壓縮檔案的目錄。
執行下列命令,將
AzFilesHybrid
模組新增至使用者的 PowerShell 模組目錄:.\CopyToPSPath.ps1
執行下列命令以匯入
AzFilesHybrid
模組:Import-Module -Name AzFilesHybrid
重要
本模組需要 PowerShell 資源庫 和 Azure PowerShell。 若尚未安裝或需要更新,系統可能會提示您進行安裝。 如果您收到系統提示,請執行安裝,然後關閉 PowerShell 的所有實例。 重新開啟提升許可權的 PowerShell 提示字元,然後在繼續之前再次匯入
AzFilesHybrid
模組。執行下列命令以登入 Azure。 您必須使用具有下列其中一個角色型存取控制 (RBAC) 角色的帳戶:
- 儲存體帳戶擁有者
- 擁有者
- 參與者
Connect-AzAccount
提示
若您的 Azure 帳戶可以存取多個租用戶和/或訂用帳戶,您必須設定內容來選取正確的訂用帳戶。 如需詳細資訊,請參閱 Azure PowerShell 環境內容
請執行下列命令,並以您的值取代
$subscriptionId
、$resourceGroupName
和$storageAccountName
的值,來將儲存體帳戶加入網域。 您也可以新增參數-OrganizationalUnitDistinguishedName
,以指定要放置電腦帳戶的組織單位 (OU)。$subscriptionId = "subscription-id" $resourceGroupName = "resource-group-name" $storageAccountName = "storage-account-name" Join-AzStorageAccount ` -ResourceGroupName $ResourceGroupName ` -StorageAccountName $StorageAccountName ` -DomainAccountType "ComputerAccount"
若要確認記憶體帳戶已加入您的網域,請執行下列命令並檢閱輸出,以您的值取代 和
$storageAccountName
的值$resourceGroupName
:$resourceGroupName = "resource-group-name" $storageAccountName = "storage-account-name" (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).AzureFilesIdentityBasedAuth.DirectoryServiceOptions; (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).AzureFilesIdentityBasedAuth.ActiveDirectoryProperties
重要
若您的網域強制密碼到期,必須在密碼最長使用期限之前更新密碼,以避免在存取 Azure 檔案共用時發生驗證失敗。 如需詳細資訊,請參閱在 AD DS 中更新儲存體帳戶身分識別的密碼。
將 RBAC 角色指派給使用者
需要在檔案共享中儲存配置檔的使用者需要許可權才能存取它。 若要這樣做,您必須將記憶體檔案數據 SMB 共用參與者角色指派給每個使用者。
若要將角色指派給使用者:
從 Azure 入口網站,瀏覽至儲存體帳戶,然後瀏覽至先前您所建立的檔案共用。
選取 [存取控制 (IAM)]。
選取 [+ 新增] 按鈕,並於下拉式功能表選取 [新增角色指派]。
選取 [儲存體檔案資料 SMB 共用參與者] 角色,然後選取 [下一步]。
在 [成員] 索引標籤上,選取 [使用者、群組或服務主體],然後選取 [+ 選取成員]。 在搜尋列中,搜尋並選取包含將使用配置檔容器之使用者的安全組。
選取 [檢閱 + 指派] 以完成指派。
設定 NTFS 權限
接下來,您必須在資料夾上設定 NTFS 權限,這會需要您取得儲存體帳戶的存取金鑰。
取得儲存體帳戶存取金鑰方式如下:
從 Azure 入口網站的搜尋列中,搜尋並選取 [儲存體帳戶]。
從記憶體帳戶清單中,選取您啟用 Active Directory 網域服務 或Microsoft Entra Domain Services 作為身分識別來源的帳戶,並在前幾節中指派 RBAC 角色。
在 [安全性 + 網路] 底下,選取 [存取金鑰],讓 key1 的金鑰顯示並複製。
在資料夾上設定正確的 NTFS 權限方式如下:
登入屬於部分主機集區的工作階段主機。
開啟提升許可權的 PowerShell 提示字元,然後執行下列命令,將儲存體帳戶對應到工作階段主機上的磁碟機。 對應的磁碟驅動器不會顯示在 檔案總管 中,但可以使用 命令來
net use
檢視。 這樣一來您就能設定共用權限。net use <desired-drive-letter>: \\<storage-account-name>.file.core.windows.net\<share-name> <storage-account-key> /user:Azure\<storage-account-name>
- 以您選擇的磁碟機代號取代
<desired-drive-letter>
(例如y:
)。 - 將的兩個實例
<storage-account-name>
取代為您稍早指定的記憶體帳戶名稱。 - 以您先前建立的共用名稱取代
<share-name>
。 - 以 Azure 的儲存體帳戶金鑰取代
<storage-account-key>
。
例如:
net use y: \\fsprofile.file.core.windows.net\share HDZQRoFP2BBmoYQ(truncated)== /user:Azure\fsprofile
- 以您選擇的磁碟機代號取代
執行下列命令,讓您的 Azure 虛擬桌面使用者建立自己的設定檔,同時阻擋其他使用者存取這些設定檔。 您應該使用包含您想要使用設定檔容器之使用者的 Active Directory 安全組。 在下列命令中,將
<mounted-drive-letter>
取代為您用於對應磁碟機的磁碟機字母,並將<DOMAIN\GroupName>
取代為需要存取共用的網域和 Active Directory 群組的 sAMAccountName。 您也可以指定使用者的使用者主體名稱 (UPN)。icacls <mounted-drive-letter>: /grant "<DOMAIN\GroupName>:(M)" icacls <mounted-drive-letter>: /grant "Creator Owner:(OI)(CI)(IO)(M)" icacls <mounted-drive-letter>: /remove "Authenticated Users" icacls <mounted-drive-letter>: /remove "Builtin\Users"
例如:
icacls y: /grant "CONTOSO\AVDUsers:(M)" icacls y: /grant "Creator Owner:(OI)(CI)(IO)(M)" icacls y: /remove "Authenticated Users" icacls y: /remove "Builtin\Users"
設定本機 Windows 裝置以使用配置檔容器
若要使用配置檔容器,您必須確定您的裝置上已安裝 FSLogix Apps。 如果您要設定 Azure 虛擬桌面,FSLogix Apps 會在 Windows 10 企業版 多會話和 Windows 11 企業版 多會話操作系統中預安裝,但您仍應遵循下列步驟,因為它可能尚未安裝最新版本。 若您使用自訂映像,則可以在映像中安裝 FSLogix App。
若要設定配置檔容器,建議您使用組策略喜好設定,在所有會話主機之間大規模設定登錄機碼和值。 您也可以在自訂映像中設定。
若要設定本機 Windows 裝置:
若您需要安裝或更新 FSLogix App,請下載最新版本的 FSLogix 並執行
FSLogixAppsSetup.exe
來安裝,然後遵循安裝精靈中的指示來進行安裝。 如需安裝流程的詳細資訊,包括自訂和自動安裝,請參閱下載並安裝 FSLogix。開啟提升許可權的 PowerShell 提示字元並執行下列命令,並由您稍早建立的儲存體帳戶 UNC 路徑來取代
\\<storage-account-name>.file.core.windows.net\<share-name>
。 這些命令會啟用配置檔容器,並設定共用的位置。$regPath = "HKLM:\SOFTWARE\FSLogix\profiles" New-ItemProperty -Path $regPath -Name Enabled -PropertyType DWORD -Value 1 -Force New-ItemProperty -Path $regPath -Name VHDLocations -PropertyType MultiString -Value \\<storage-account-name>.file.core.windows.net\<share-name> -Force
請重新啟動應用程式。 您必須針對任何剩餘的裝置重複這些步驟。
您現在已完成設定檔案容器的設定。 如果您要在自定義映像中安裝配置檔容器,您必須完成建立自定義映像。 如需詳細資訊,請遵循在 Azure 中建立自訂映像 一節中的步驟,並從取得最終快照集開始。
驗證設定檔的建立
安裝並設定設定檔容器之後,您就可以使用已獲指派應用程式群組或桌面主機集區之用戶帳戶登入來測試部署。
如果使用者之前已登入,便已有一個本機設定檔,此工作階段期間會使用這個現有的設定檔。 請先刪除本機設定檔,或建立新的使用者帳戶,以用來測試。
使用者可以遵循下列步驟來檢查配置檔容器是否已設定:
以測試使用者身分登入 Azure 虛擬桌面。
使用者登入時,登入過程中應該會顯示「請等候 FSLogix 應用程式服務」的訊息應該,然後再進到桌面。
系統管理員可以依照下列步驟來檢查設定檔資料夾是否已建立:
開啟 Azure 入口網站。
選取您先前建立的儲存體帳戶。
前往儲存體帳戶中的 [資料儲存體],然後選取 [檔案共用]。
開啟檔案共用,確定您建立的使用者設定檔資料夾位於該處。