为 EDU 租户阻止 PowerShell

概述

默认情况下,在 Microsoft 365 中,Microsoft Entra ID 中的任何成员用户都可以使用常用工具来连接到租户并查看/下载用户详细信息和目录信息。 本文介绍如何阻止多个可能用于此目的的常用工具。

阻止 PowerShell

若要阻止 PowerShell 应用 ID,请按照说明作:

阻止除我以外的所有人使用 PowerShell

此脚本阻止租户中的每个人(运行脚本的人员除外)的 PowerShell。 请谨慎使用,确保不会阻止用户 (例如,IT 管理员) 需要访问权限的用户。

  1. 在此处 下载 PowerShell 脚本并保存在 c:\temp 中

  2. 启动 PowerShell 并运行 cmd:

    Set-Location c:\temp

  3. 键入 cmd 并按 Enter

    .\Block-PowerShell_for_everyone_except_me.ps1

  4. 如果尝试使用 Azure AD v2 PowerShell 模块进行身份验证,则会收到类似于所示的错误:

    Azure AD v2 身份验证的 Powershell 错误。

阻止除管理员列表以外的所有人使用 PowerShell

此脚本阻止租户中所有人的 PowerShell,CSV 文件中指定的用户列表除外。 双检查列表正确。

  1. 下载 位于此处 的 PowerShell 脚本和 此处的示例 CSV 文件,并在 c:\temp 中保存两者

  2. 打开 CSV 并使用需要 PowerShell 访问权限的每个管理员更新 UserPrincipalName 列表。 更新后,保存并关闭 CSV 文件。

    用于更新 UserPrincipal 名称的 CSV 文件。

  3. 启动 PowerShell 并运行 cmd:

    Set-Location c:\temp

  4. 键入 cmd 并按 Enter。

    .\Block-PowerShell_for_everyone_except_a_list_of_admins.ps1

阻止除我以外的所有人Microsoft Graph PowerShell

此脚本阻止租户中所有人(运行脚本的人员除外)Microsoft Graph PowerShell 模块。 请谨慎使用。

  1. 在此处 下载 PowerShell 脚本并保存在 c:\temp 中

  2. 启动 PowerShell 并运行 cmd:

    Set-Location c:\temp

  3. 键入 cmd 并按 Enter

    .\Block-PowerShell_for_everyone_except_me.ps1

  4. 如果有人尝试使用 MS Graph PowerShell 模块进行身份验证,他们会收到类似于以下内容的错误:

    尝试使用 MS Graph 进行身份验证时出现 Powershell 错误。

阻止Microsoft Graph PowerShell for Everyone(用户列表除外)

此脚本阻止为租户中的每个人Microsoft Graph PowerShell 模块,CSV 文件中指定的用户列表除外。 请谨慎使用。

  1. 下载 位于此处 的 PowerShell 脚本和 此处的示例 CSV 文件,并在 c:\temp 中保存两者

  2. 打开 CSV 并使用需要 PowerShell 访问权限的每个管理员更新 UserPrincipalName 列表。 更新后,保存并关闭 CSV 文件。

    CSV 文件和更新 UserPrincipalName。

  3. 启动 PowerShell 并运行 cmd:

    Set-Location c:\temp

  4. 键入 cmd 并按 Enter

    .\Block-MS_Graph_module_for_everyone_except_a_list_of_admins.ps1

阻止 MS Graph 资源管理器

若要阻止目标用户的 MS Graph 资源管理器,请按照说明设置条件访问策略。

Microsoft Entra ID 中的条件访问需要Microsoft Entra ID P1

  1. 转到Microsoft Entra管理中心的条件访问

  2. 选择“新建策略”。

  3. 为策略提供一个名称,例如 Block Graph Explorer。

  4. 选择要对其应用策略的用户,选择要从策略中排除的管理员。

    选择要对其应用策略的用户。

    选择要从策略中排除的管理员。

  5. 选择 Graph 资源管理器应用。

    选择 Graph 资源管理器应用。

  6. 选择“阻止访问”选项并将策略切换为“开”。

    选择“阻止访问”选项并将策略切换到“打开”。

  7. 选择“创建”。

阻止 MSOL 模块

若要阻止最终用户的 MSOL PowerShell 模块,请按照说明作:

注意

如果尚未完成,则需要在进行此 PATCH 调用之前同意委托的 Directory.AccessAsUser.All。

  1. 登录到 MS Graph 资源管理器

  2. 选择左侧导航窗格中的“登录”按钮。

    单击“登录”按钮。

  3. 在查询生成器中,从第一个下拉菜单中选择 PATCH,然后选择 beta 第二个下拉菜单。

    选择“PATCH”。

  4. 在带有 URL 的栏中,输入列出的字符串:

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

    输入列出的字符串。

  5. 在“请求正文”文本块中,输入代码并选择“运行查询”。

    {“blockMsolPowerShell”: true}

    输入代码并单击“运行查询”。

  6. 将“blockMsolPowerShell”设置为 true 后,如果用户尝试调用任何 MSOL cmdlet,则会收到此错误:

    用户尝试调用 MSOL cmdlet 时出错。

阻止 powerShell Exchange Online

若要在 Exchange Online 中阻止对 PowerShell 的访问,请按照链接中的说明作:

启用或禁用对 Exchange Online PowerShell 的访问

控制对 Intune PowerShell 的访问

默认情况下,一旦 IT 管理员同意 Microsoft Intune PowerShell Microsoft Entra Application 访问租户,所有用户将被授予访问权限。 被授予对 Microsoft Intune PowerShell 应用程序的访问权限的用户仍受到Microsoft Entra角色Intune 基于角色的访问控制的权限的限制,但有权访问 PowerShell 的用户可能会执行数据的批量导出。 可以轻松更改应用注册,以便只有特定用户才能使用 Microsoft Intune PowerShell。

限制访问

若要限制用户访问,可以将应用程序更改为要求用户分配。 为此:

  1. 打开Microsoft Entra 管理员控制台

  2. 选择“ 企业应用程序”。

  3. 在列表中查找并选择 Microsoft Intune PowerShell

  4. 选择“属性”

  5. “需要用户分配?” 更改为 “是”。

    将“所需的用户分配”更改为“是”。

  6. 选择“保存”

添加或删除用户

若要添加或删除 Microsoft Intune PowerShell 应用程序的用户,请执行以下作:

  1. 打开Microsoft Entra 管理员控制台

  2. 选择“ 企业应用程序”。

  3. 在列表中查找并选择 Microsoft Intune PowerShell

  4. 选择“用户和组”。

  5. 根据需要修改访问权限。

    添加用户。