使用 PowerShell 控制 Viva 功能的存取
您可以使用 Viva 中的存取原則來管理哪些使用者可以使用 PowerShell 存取 Viva 應用程式中的特定功能。 功能存取管理可讓您針對租使用者中的特定群組或使用者啟用或停用 Viva 中的特定功能,因此請量身打造您的部署,以符合本機法規和商務需求。
租使用者中已授權的系統管理員可以從 PowerShell 建立、指派及管理存取原則。 當使用者登入 Viva 時,會套用原則設定,而且只會看到尚未停用的功能。
重要事項
您可以針對組織中作用中的功能,擁有多個存取原則。 這表示使用者或群組可能會受到多個原則的影響。 在此情況下,最嚴格的原則會直接指派給使用者或群組。 如需詳細資訊,請參閱存取原則在 Viva 中的運作方式。
需求
在 Viva 中建立存取原則之前,您需要:
- 支援的 Microsoft 365 版本或 Viva Suite 授權
- 存取 Exchange Online PowerShell 3.2.0 版或更新版本。 如果您需要使用未啟用郵件功能的群組,您必須能夠存取 Exchange PowerShell 3.5.1 版或更新版本。
- 在 中建立或同步至 Microsoft Entra ID的用戶帳戶
- Microsoft 365 個群組,Microsoft Entra 在 中建立或同步至 Microsoft Entra ID 或通訊群組的安全組。
- 特定應用程式和功能所需的角色。
重要事項
GCC High 或 DoD 中尚未提供這些功能。 針對 GCC,請參閱特定應用程式的檔以取得可用性。
建立和管理 Viva 功能的存取原則
原則可以由 Viva 系統管理員建立和管理,該系統管理員有許可權在 Microsoft 365 系統管理中心 或使用 PowerShell 來執行此動作。 取得有關建立和管理原則的所有詳細數據。
取得功能的featureID
建立存取原則之前,請先使用 ModuleID 來取得您想要控制存取權之特定功能的 featureID 。
模組標識碼
應用程式 | ModuleID |
---|---|
參與 | VivaEngage |
Glint | VivaGlint |
目標 | VivaGoals |
Insights | VivaInsights |
脈衝 | VivaPulse |
技能 | VivaSkills |
使用 Get-VivaModuleFeature PowerShell Cmdlet 來取得特定 Viva 應用程式及其相關識別碼中所有可用功能的清單。
安裝 Exchange Online PowerShell 3.2.0 版或更新版本:
Install-Module -Name ExchangeOnlineManagement
使用系統管理員認證連線到 Exchange Online:
Connect-ExchangeOnline
完成驗證,作為您要建立原則之特定功能所需的角色。
執行 Get-VivaModuleFeature Cmdlet,以查看您可以使用存取原則管理的功能。
例如,若要查看 Viva Insights 支援哪些功能,請執行下列 Cmdlet:
Get-VivaModuleFeature -ModuleId VivaInsights
尋找您想要為其建立存取原則的功能,並記下其 featureID。
建立存取原則
現在您已擁有 featureID,請使用 Add-VivaModuleFeaturePolicy PowerShell Cmdlet 來建立功能的存取原則。
您可以將每個功能最多10個原則指派給使用者和群組。 每個原則最多可以指派給20個使用者或群組。 您可以使用 -Everyone 參數,將每個功能的額外原則指派給整個租使用者,該參數會作為整個組織中該功能的全域默認狀態。
執行 Add-VivaModuleFeaturePolicy Cmdlet 來建立新的存取原則。
注意事項
如果您的功能支援退出退出的使用者控件,請務必在建立原則時設定 IsUserControlEnabled 參數。 如果沒有,原則的使用者控件會使用功能的默認狀態。
例如,執行下列命令來建立名為UsersAndGroups的存取原則,以限制存取 Viva Insights中的反映功能。
Add-VivaModuleFeaturePolicy -ModuleId VivaInsights -FeatureId Reflection -Name UsersAndGroups -IsFeatureEnabled $false -GroupIds group1@contoso.com,group2@contoso.com -UserIds user1@contoso.com,user2@contoso.com
本範例會在 Viva Insights 中新增反映功能的原則。 原則會停用指定之使用者和群組成員的功能。 如果您想要停用所有使用者的功能,請改用 -Everyone 參數。
管理存取原則
您可以更新存取原則來變更功能是否已啟用或停用,以及變更套用至 (每個人、使用者或群組) 的人員。
例如,以我們最後一個範例為基礎,若要更新套用原則的人員,請執行下列 Cmdlet:
Update-VivaModuleFeaturePolicy -ModuleId VivaInsights -FeatureId Reflection -PolicyId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -GroupIds group1@contoso.com,group2@contoso.com
就像建立原則一樣,如果您的原則支持使用者控件,請在變更原則時包含 IsUserControlEnabled 參數。
重要事項
您為 -UserIds 和 -GroupIds 參數或 -Everyone 參數指定的值會覆寫任何現有的使用者或群組。 若要保留現有的使用者和群組,您必須指定現有的使用者或群組, 以及 您想要新增的任何其他使用者或群組。 在命令中不包含現有的使用者或群組,會有效地從原則中移除這些特定使用者或群組。 如果此功能已存在整個租用戶的原則,您就無法將特定使用者或群組的原則更新為包含整個租使用者 -僅支援一個全租用戶原則。
若要檢查特定使用者或群組已停用哪些功能,請執行 Get-VivaModuleFeatureEnablement Cmdlet。 此 Cmdlet 會傳回使用者或群組的 啟用狀態 。
例如:
Get-VivaModuleFeatureEnablement -ModuleId VivaInsights -FeatureId Reflection -Identity user@contoso.com
刪除存取原則
使用 Remove-VivaModuleFeaturePolicy Cmdlet 來刪除存取原則。
例如,若要刪除反映功能存取原則,請從取得存取原則的特定 UID 開始 - 您可以執行 Get-VivaModuleFeaturePolicy 來取得該原則。 然後執行下列 Cmdlet:
Remove-VivaModuleFeaturePolicy -ModuleId VivaInsights -FeatureId Reflection -PolicyId xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
疑難排解
- 如果您在建立或使用 Viva 應用程式功能的存取原則時發生問題,請確認您嘗試設定原則的功能已列在功能數據表中,且可供您的租使用者使用。
- 如果您在執行 PowerShell Cmdlet 時看到錯誤訊息「要求者未獲授權完成要求」,請檢查您是否有任何封鎖特定 IP 位址的條件式存取原則集合。 如果是,請從該原則中移除您的IP位址,或建立新原則以允許列出您的IP位址。 深入瞭解 Microsoft Entra 條件式存取,以及使用 What If 工具針對條件式存取進行疑難解答。