使用 PowerShell 自动加入 Microsoft Defender for Cloud

重要

注意:根据世纪互联发布的公告2026 年 8 月 18 日,中国地区的 Azure 中将正式停用所有 Microsoft Defender for Cloud 功能。

可以使用 Microsoft Defender for Cloud PowerShell 模块以编程方式保护 Azure 工作负荷。 借助 PowerShell,可以自动执行任务,并可避免手动任务中固有的人为错误。 对于涉及几十个资源且具有数百乃至数千种资源的大规模部署,这一方法尤为有用,所有这些必须从一开始就受到保护。

通过 PowerShell 加入 Microsoft Defender for Cloud,你可以以编程方式自动加入 Azure 资源并对其进行管理,以及添加必要的安全控件。

本文提供了一个示例 PowerShell 脚本,该脚本可在你的环境中进行修改和使用,以跨订阅推出 Defender for Cloud。

在此示例中,通过启用可提供高级威胁防护和检测功能的 Microsoft Defender for Cloud 增强安全功能,我们将对 ID 为 <Subscription ID> 的订阅启用 Defender for Cloud,并应用提供高级别保护的建议设置:

  1. 启用 Microsoft Defender for Cloud 中的增强安全性

  2. 将组织的 CISO 设置为 Defender for Cloud 警报和重要事件的安全联系人

  3. 分配 Defender for Cloud 的默认安全策略

先决条件

以下步骤应在运行 Defender for Cloud cmdlet 前执行:

  1. 以管理员身份运行 PowerShell。

  2. 在 PowerShell 中运行以下命令:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned
    
    Install-Module -Name Az.Security -Force
    

使用 PowerShell 加入 Defender for Cloud

  1. 将你的订阅注册到 Defender for Cloud 资源提供程序:

    Set-AzContext -Subscription "<Subscription ID>"
    
    Register-AzResourceProvider -ProviderNamespace 'Microsoft.Security'
    
  2. 可选:设置订阅的覆盖级别(打开/关闭 Microsoft Defender for Cloud 的增强安全功能)。 这些功能在未定义的情况下处于关闭状态:

    Set-AzContext -Subscription "<Subscription ID>"
    
    Set-AzSecurityPricing -Name "VirtualMachines" -PricingTier "Standard"
    
  3. 可选:强烈建议阅读为你加入的订阅定义安全联系人详细信息,该联系人将被用作接收 Defender for Cloud 所生成的警报和通知的收件人:

    Set-AzSecurityContact -Name "default1" -Email "CISO@my-org.com" -AlertAdmin -NotifyOnAlert
    
  4. 分配默认的 Defender for Cloud 策略计划:

    Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'
    
    $Policy = Get-AzPolicySetDefinition | where {$_.Properties.displayName -EQ 'Azure cloud security benchmark'} 
    
    New-AzPolicyAssignment -Name 'Azure cloud security benchmark' -PolicySetDefinition $Policy -Scope '/subscriptions/$($Subscription.Id)'
    

你已成功地使用 PowerShell 加入 Microsoft Defender for Cloud。

现在可以将这些 PowerShell cmdlet 与自动化脚本结合使用,从而以编程方式循环访问订阅和资源。 这可节省时间并减少人为错误的可能性。 你可以使用此示例脚本作为参考。

另请参阅

若要详细了解如何通过 PowerShell 来自动加入 Defender for Cloud,请参阅以下文章:

若要详细了解 Defender for Cloud,请参阅以下文章: