封鎖教育界租用戶的 PowerShellBlocking PowerShell for EDU Tenants

概觀Overview

根據預設,在 M365 中,Azure AD 中的任何 成員使用者 均可使用通用工具連線到租使用者,以及查看/下載使用者詳細資料與目錄資訊。By default in M365, any member user in Azure AD can use common tools to connect to the tenant and view/download user details and directory information. 本文說明如何封鎖此用途可能使用的數個常見工具。This article explains how to block several common tools that might be used for this purpose.

封鎖 PowerShellBlocking PowerShell

若要封鎖 PowerShell 的應用程式識別碼,請遵循下列指示。To block the PowerShell App ID, follow the instructions below.

封鎖所有人員的 PowerShell 封鎖Block PowerShell for everyone except me

此腳本會封鎖承租人中的所有人員 PowerShell,但執行腳本的人員除外。This script will block PowerShell for everyone in the tenant, except the person running the script. 請謹慎使用,以確保您不會封鎖使用者 (例如,IT 系統管理員) 需要存取的人員。Use with caution to ensure you dont block users (e.g. IT admins) who will need access.

  1. 下載位於 這裡 的 PowerShell 腳本,並儲存在 c:\temp 中Download the PowerShell script located here and save in c:\temp

  2. 啟動 PowerShell,並執行下列命令:Launch PowerShell and run the cmd below:

    Set-位置 c:\tempSet-Location c:\temp

  3. 輸入下列的 cmd,然後按 enterType the cmd below and press enter

    .\Block-PowerShell_for_everyone_except_me.ps1.\Block-PowerShell_for_everyone_except_me.ps1

  4. 如果有人嘗試使用 Azure AD v2 PowerShell 模組進行驗證,將會收到與以下顯示類似的錯誤:If anyone attempting to authenticate using the Azure AD v2 PowerShell module, they will receive an error similar to what’s shown below:

Azure AD V2 驗證的 Powershell 錯誤

封鎖管理員清單以外的所有使用者 PowerShellBlock PowerShell for everyone except a list of admins

此腳本會封鎖承租人中所有人員的 PowerShell,但 CSV 檔案中所指定的使用者清單除外。This script will block PowerShell for everyone in the tenant, except for a list of users specified in the CSV file. 請加倍檢查您的清單是否正確。Double check your list is correct.

  1. 下載位於 位置的 PowerShell 腳本,以及位於 這裡的範例 CSV 檔案,並儲存在 c:\temp 中Download the PowerShell script located here and the sample CSV file located here, and save both in c:\temp

  2. 開啟 CSV,並使用需要 PowerShell 存取權的每個管理員來更新 UserPrincipalName 清單。Open the CSV and update the UserPrincipalName list with every admin that requires PowerShell access. 更新之後,儲存並關閉 CSV 檔案。Once updated, save and close the CSV file.

    用來更新 UserPrincipal 名稱的 CSV 檔案

  3. 啟動 PowerShell,並執行下列命令:Launch PowerShell and run the cmd below:

    Set-位置 c:\tempSet-Location c:\temp

  4. 輸入下列的 cmd,然後按 enter 鍵。Type the cmd below and press enter.

    .\Block-PowerShell_for_everyone_except_a_list_of_admins.ps1.\Block-PowerShell_for_everyone_except_a_list_of_admins.ps1

封鎖除我以外的所有人的 MS Graph PowerShellBlock MS Graph PowerShell for everyone except me

此腳本會封鎖承租人中的每個人 PowerShell 模組,但執行腳本的人除外。This script will block the MS Graph PowerShell module for everyone in the tenant, except the person running the script. 請小心使用。Use with caution.

  1. 下載位於 這裡 的 PowerShell 腳本,並儲存在 c:\temp 中Download the PowerShell script located here and save in c:\temp

  2. 啟動 PowerShell,並執行下列命令:Launch PowerShell and run the cmd below:

    Set-位置 c:\tempSet-Location c:\temp

  3. 輸入下列的 cmd,然後按 enterType the cmd below and press enter

    .\Block-PowerShell_for_everyone_except_me.ps1.\Block-PowerShell_for_everyone_except_me.ps1

  4. 如果有人嘗試使用 MS Graph PowerShell 模組來驗證,他們會收到類似下列所示的錯誤:If anyone attempting to authenticate using the MS Graph PowerShell module, they will receive an error similar to what’s shown below:

    嘗試使用 MS Graph 進行驗證時出現 Powershell 錯誤

封鎖使用者清單以外的所有人的 MS Graph PowerShellBlock MS Graph PowerShell for Everyone except a list of users

此腳本會封鎖承租人中每個人的 MS Graph PowerShell 模組,但 CSV 檔案中所指定的使用者清單除外。This script will block MS Graph PowerShell module for everyone in the tenant, except for a list of users specified in the CSV file. 請小心使用。Use with caution.

  1. 下載位於 位置的 PowerShell 腳本,以及位於 這裡的範例 CSV 檔案,並儲存在 c:\temp 中Download the PowerShell script located here and the sample CSV file located here, and save both in c:\temp

  2. 開啟 CSV,並使用需要 PowerShell 存取權的每個管理員來更新 UserPrincipalName 清單。Open the CSV and update the UserPrincipalName list with every admin that requires PowerShell access. 更新之後,儲存並關閉 CSV 檔案。Once updated, save and close the CSV file.

    CSV 檔案和更新 UserPrincipalName

  3. 啟動 PowerShell,並執行下列命令:Launch PowerShell and run the cmd below:

    Set-位置 c:\tempSet-Location c:\temp

  4. 輸入下列的 cmd,然後按 enterType the cmd below and press enter

    .\Block-MS_Graph_module_for_everyone_except_a_list_of_admins.ps1.\Block-MS_Graph_module_for_everyone_except_a_list_of_admins.ps1

封鎖 MS Graph ExplorerBlocking MS Graph Explorer

若要封鎖目標使用者的 MS Graph 資源瀏覽器,請遵循下列指示來設定條件式存取原則。To block MS Graph Explorer for targeted users, follow the instructions below to setup Conditional Access Policy.

Azure AD 中的條件式存取需要 AZURE Ad P1Conditional Access in Azure AD requires Azure AD P1.

  1. 移至 AZURE AD 入口網站中的「條件式存取」。Go to Conditional Access in the Azure AD Portal.

  2. 按一下 [新增原則]。Click New Policy.

  3. 提供原則的名稱,例如 Block Graph Explorer。Provide a name for the policy like Block Graph Explorer.

  4. 選取要套用原則的使用者,以及要從原則中排除的系統管理員。Select the users to apply the policy against, and admins to exclude from the policy.

    選取要套用原則的使用者]]

    選取 [系統管理員] 以排除原則

  5. 選取 [圖形瀏覽器應用程式]。Select the Graph Explorer apps.

    選取圖表資源瀏覽器應用程式

  6. 選取 [封鎖存取] 選項,並將原則切換為 [開啟]。Select the Block Access Option and Switch the policy to On.

    選取 [封鎖存取] 選項,並將原則切換至 [開啟]

  7. 按一下 [建立]。Click Create.

封鎖 MSOL 模組Blocking the MSOL Module

若要封鎖使用者的 MSOL PowerShell 模組,請遵循下列指示。To block the MSOL PowerShell Module for end users, follow the instructions below.

注意

若尚未完成,您必須同意委派的 AccessAsUser。進行此修補程式呼叫之前,請先進行。If not done already, you will need to consent to delegated Directory.AccessAsUser.All before making this PATCH call.

  1. 登入 MS Graph ExplorerLog into MS Graph Explorer.

  2. 按一下左側功能窗格上的 [登入] 按鈕。Click the sign-in button on the left-hand navigation pane.

    按一下 [登入] 按鈕

  3. 在 [查詢建立器] 中,選取第一個下拉式功能表中的 [修補程式],然後選取 [Beta 第二個下拉式功能表]。In the Query builder, select PATCH from the first dropdown menu, and select beta second dropdown menu.

    選取修補程式

  4. 在具有 URL 的條碼中,輸入下列的字串。In the bar with the URL, enter the string listed below

    https://graph.microsoft.com/beta/policies/authorizationPolicy/authorizationPolicy

    輸入下列字串

  5. 在要求正文文字區塊中,輸入下列程式碼,然後按一下 [執行查詢]。In the Request Body text block, enter the code below and click Run query.

    {"blockMsolPowerShell": true}{"blockMsolPowerShell": true}

    在下列輸入程式碼,然後按一下 [執行查詢]

  6. "BlockMsolPowerShell" 設為 true 時,如果使用者嘗試呼叫任何 MSOL Cmdlet,使用者就會收到此錯誤:Once “blockMsolPowerShell” is set to true, users will get this error if they try to call any MSOL cmdlets:

    使用者嘗試呼叫 MSOL Cmdlet 時的錯誤

封鎖 Exchange Online PowerShellBlocking Exchange Online PowerShell

若要在 Exchange Online 中封鎖 PowerShell 的存取權,請遵循下列連結的指示。To block the access to PowerShell in Exchange Online, follow the instructions at the link below.

https://docs.microsoft.com/powershell/exchange/disable-access-to-exchange-online-powershell?view=exchange-ps

控制對 Intune PowerShell 的存取Control access to Intune PowerShell

根據預設,在 Microsoft Intune PowerShell Azure AD 應用程式的全域系統管理員 consents 以存取租使用者之後,會授與所有使用者的存取權。By default, once a Global Administrator consents for the Microsoft Intune PowerShell Azure AD Application for access to a tenant, all users are granted access. 被授與 Microsoft Intune PowerShell 應用程式存取權的使用者,仍然受到其 AZURE AD roleIntune RBAC的許可權的限制,但具有 PowerShell 存取權可能會執行大量的資料匯出。Users who are granted access to the Microsoft Intune PowerShell application are still limited by their permissions from Azure AD Roles or Intune RBAC, but with access to PowerShell could perform bulk exports of data. 您可以輕鬆變更應用程式註冊,使只有特定使用者才能使用 Microsoft Intune PowerShell。You can easily change the App Registration so that only specific users can use Microsoft Intune PowerShell.

限制存取Limit access

若要限制使用者存取,您可以變更應用程式以要求使用者指派。To limit user access, you can change the application to require user assignment. 若要執行這項操作,請執行下列步驟:To do this:

  1. 開啟 Azure Active Directory 系統管理主控台Open the Azure Active Directory Admin Console.

  2. 按一下 [ 企業應用程式]。Click on Enterprise Applications.

  3. 在清單中尋找並按一下 [ Microsoft Intune PowerShell ]。Find and click on Microsoft Intune PowerShell in the list.

  4. 選取 [ 屬性]。Select Properties.

  5. 是否 需要變更使用者指派?[是]Change User assignment required? to Yes.

將使用者指派設為 [是]

  1. 按一下 [儲存]Click Save.

新增或移除使用者Add or remove users

若要新增或移除 Microsoft Intune PowerShell 應用程式的使用者:To add or remove users of the Microsoft Intune PowerShell application:

  1. 開啟 Azure Active Directory 系統管理主控台Open the Azure Active Directory Admin Console.

  2. 按一下 [ 企業應用程式]。Click on Enterprise Applications.

  3. 在清單中尋找並按一下 [ Microsoft Intune PowerShell ]。Find and click on Microsoft Intune PowerShell in the list.

  4. 選取 [ 使用者和群組]。Select Users and groups.

  5. 視需要修改存取權。Modify access as required.

新增使用者