SubscriptionSecurity/SecurityCenter.ps1
Set-StrictMode -Version Latest function Set-AzSDKAzureSecurityCenterPolicies { <# .SYNOPSIS This command would help in setting up the Security Center policies for a Subscription .DESCRIPTION This command would help in setting up the Security Center policies for a Subscription .LINK https://aka.ms/azsdkossdocs #> [OutputType([String])] [CmdletBinding(SupportsShouldProcess = $true)] Param ( [string] [Parameter(Mandatory = $true, HelpMessage = "Subscription id for which the security evaluation has to be performed.")] [ValidateNotNullOrEmpty()] $SubscriptionId, [string] [Parameter(Mandatory = $false, HelpMessage = "Provide a security contact email address or addresses separated by a comma. Recommended a mail enabled Security Group with receiving of external emails option turned ON.")] $SecurityContactEmails, [string] [Parameter(Mandatory = $false, HelpMessage = "Provide a security contact international information phone number including the country code (for example, +1-425-1234567)")] $SecurityPhoneNumber, [switch] [Parameter(Mandatory = $false, HelpMessage = "Switch to apply ASC configurations forcefully regardless of latest configurations already present on subscription.")] $Force, [switch] [Parameter(Mandatory = $false, HelpMessage = "Switch to specify whether to open output folder containing all security evaluation report or not.")] $DoNotOpenOutputFolder ) Begin { [CommandHelper]::BeginCommand($PSCmdlet.MyInvocation); [ListenerHelper]::RegisterListeners(); } Process { try { $secCenter = [SecurityCenterStatus]::new($SubscriptionId, $PSCmdlet.MyInvocation); if ($secCenter) { $secCenter.SecurityContactEmails = $SecurityContactEmails; $secCenter.SecurityPhoneNumber = $SecurityPhoneNumber; return $secCenter.SetPolicies(); } } catch { [EventBase]::PublishGenericException($_); } } End { [ListenerHelper]::UnregisterListeners(); } } |