Add-SCOMNotificationSubscription

添加通知订阅。

语法

Add-SCOMNotificationSubscription
   [-Name] <String>
   [-DisplayName <String>]
   [-Description <String>]
   [[-Criteria] <String>]
   [-OnlyOnResolutionChange]
   [-PollingInterval <TimeSpan>]
   [-Delay <TimeSpan>]
   -Subscriber <NotificationRecipient[]>
   [-CcSubscriber <NotificationRecipient[]>]
   [-BccSubscriber <NotificationRecipient[]>]
   -Channel <Object[]>
   [-Disabled]
   [-SCSession <Connection[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Add-SCOMNotificationSubscription cmdlet 在 System Center - Operations Manager 中添加通知订阅。

在此版本中,不支持基于条件确定订阅的范围,但可以通过 Windows PowerShell 直接访问 SCOM SDK 来实现此结果。

示例

示例 1:添加通知订阅

PS C:\>$Subscriber = Get-SCOMNotificationSubscriber -Name "John Smith","Sarah Jones"
PS C:\> $Channel = Get-SCOMNotificationChannel -DisplayName "EmailChannel"
PS C:\> Add-SCOMNotificationSubscription -Name "NewSubscription1" -Subscriber $Subscriber -Channel $Channel

此示例为所有警报添加新的通知订阅。

第一个命令使用 Get-SCOMNotificationSubscriber cmdlet 来获取订阅者并将结果存储在$Subscriber变量中。

第二个命令使用 Get-SCOMNotificationChannel cmdlet 来获取通知通道,并将结果存储在$Channel变量中。

第三个命令将 Add-SCOMNotificationSubscription cmdlet 与 Name订阅服务器Channel 参数配合使用。

示例 2:添加具有条件的通知订阅

PS C:\>$Subscriber = Get-SCOMNotificationSubscriber -Name "John Smith","Sarah Jones"
PS C:\> $Channel = Get-SCOMNotificationChannel -DisplayName "EmailChannel"
PS C:\> Add-SCOMNotificationSubscription -Name "NewSubscription2" -Subscriber $Subscriber -Channel $Channel -Delay "1:00:00" -Disabled

本示例为所有警报添加新的通知订阅,但仅当条件保持不变时通知 1 小时。 该示例创建处于禁用状态的订阅。

第一个命令使用 Get-SCOMNotificationSubscriber cmdlet 来获取订阅者并将结果存储在$Subscriber变量中。

第二个命令使用 Get-SCOMNotificationChannel cmdlet 来获取通知通道,并将结果存储在$Channel变量中。

第三个命令将 Add-SCOMNotificationSubscription cmdlet 与 Name订阅服务器Channel 参数配合使用。

示例 3:为特定类的实例添加新订阅

PS C:\>$Subscriber = Get-SCOMNotificationSubscriber -Name "John Smith","Sarah Jones"
PS C:\> $Channel = Get-SCOMNotificationChannel -DisplayName "EmailChannel"
PS C:\> $Subscription = Add-SCOMNotificationSubscription -Name "NewSubscription3" -Subscriber $Subscriber -Channel $Channel
PS C:\> $HealthService = Get-SCOMClass -Name "Microsoft.SystemCenter.HealthService"
PS C:\> $Subscription.Configuration.MonitoringClassIds.Add( $HealthService.Id )
PS C:\> $Subscription.Update()

此示例为所有警报添加新的通知订阅,然后使用 Operations Manager SDK 将订阅范围限定为 HealthService 类实例引发的警报。

第一个命令使用 Get-SCOMNotificationSubscriber cmdlet 来获取订阅者并将结果存储在$Subscriber变量中。

第二个命令使用 Get-SCOMNotificationChannel cmdlet 来获取通知通道,并将结果存储在$Channel变量中。

第三个命令将 Add-SCOMNotificationSubscription cmdlet 与 Name订阅服务器Channel 参数配合使用。 该 cmdlet 将结果存储在$Subscription变量中。

第四个命令使用 Get-SCOMClass cmdlet 并将结果存储在$HealthService变量中。

第五个命令将 Add 方法与$HealthService变量的 ID 配合使用。

第六个命令使用 Update 方法。

示例 4:使用 SDK 添加通知订阅

PS C:\>$Subscriber = Get-SCOMNotificationSubscriber -Name "John Smith","Sarah Jones"
PS C:\> $Channel = Get-SCOMNotificationChannel -DisplayName "EmailChannel"
PS C:\> $Subscription = Add-SCOMNotificationSubscription -Name "NewSubscription4" -Subscriber $Subscriber -Channel $Channel
PS C:\> $WindowsComputers = Get-SCOMGroup -DisplayName "All Windows Computers"
PS C:\> $Subscription.Configuration.MonitoringObjectGroupIds.Add( $WindowsComputers.Id )
PS C:\> $Subscription.Update()

此示例为所有警报添加新的通知订阅,然后使用 Operations Manager SDK 将订阅范围限定为所有 Windows 计算机组中实例引发的警报。

第一个命令使用 Get-SCOMNotificationSubscriber cmdlet 来获取订阅者并将结果存储在$Subscriber变量中。

第二个命令使用 Get-SCOMNotificationChannel cmdlet 来获取通知通道,并将结果存储在$Channel变量中。

第三个命令将 Add-SCOMNotificationSubscription cmdlet 与 Name订阅服务器Channel 参数配合使用。 该 cmdlet 将结果存储在$Subscription变量中。

第四个命令使用 Get-SCOMGroup cmdlet 获取所有 Windows 计算机组,并将结果存储在$WindowsComputers变量中。

第五个命令将 Add 方法与$WindowsComputers变量的 ID 配合使用。

第六个命令使用 Update 方法。

示例 5:为特定监视器添加通知订阅

PS C:\>$Subscriber = Get-SCOMNotificationSubscriber -Name "John Smith","Sarah Jones"
PS C:\> $Channel = Get-SCOMNotificationChannel -DisplayName "EmailChannel"
PS C:\> $Monitor = Get-SCOMMonitor -DisplayName "ContosoMonitor"
PS C:\> $Criteria = @"
>><And xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>><Expression>
>><SimpleExpression>
>><ValueExpression>
>><Property>ProblemId</Property>
>></ValueExpression>
>><Operator>Equal</Operator>
>><ValueExpression>
>><Value>$($monitor.Id)</Value>
>></ValueExpression>
>></SimpleExpression>
>></Expression>
>><Expression>
>><SimpleExpression>
>><ValueExpression>
>><Property>Severity</Property>
>></ValueExpression>
>><Operator>Equal</Operator>
>><ValueExpression>
>><Value>2</Value>
>></ValueExpression>
>></SimpleExpression>
>></Expression>
>>"@
PS C:\> Add-SCOMNotificationSubscription -Name "Subscription03" -Subscriber $Subscriber -Channel $Channel -Criteria $Criteria

此示例为具有显示名称 ContosoMonitor 的监视器引发的所有关键警报添加新的通知订阅。

第一个命令使用 Get-SCOMNotificationSubscriber cmdlet 来获取订阅者并将结果存储在$Subscriber变量中。

第二个命令使用 Get-SCOMNotificationChannel cmdlet 来获取通知通道,并将结果存储在$Channel变量中。

第三个命令使用 Get-SCOMMonitor cmdlet 并将结果存储在$Monitor变量中。

第四个命令将 XML 条件存储在$Criteria变量中。

第五个命令使用 Add-SCOMNotificationSubscription cmdlet 和 名称订阅服务器通道Criteria 参数。

参数

-BccSubscriber

在订阅的消息上指定一组订阅者,用于盲目抄送(BCC)。

类型:NotificationRecipient[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-CcSubscriber

在订阅的消息上指定订阅者要复制的订阅者数组(CC)。

类型:NotificationRecipient[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Channel

指定通知通道数组。 若要获取通知通道对象,请使用 Get-SCOMNotificationChannel cmdlet。

类型:Object[]
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ComputerName

指定计算机名称数组。 该 cmdlet 与这些计算机的管理组建立临时连接。 可以使用 NetBIOS 名称、IP 地址或完全限定的域名(FQDN)。 若要指定本地计算机,请键入计算机名称、localhost 或点(.)。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Credential

为管理组连接指定 PSCredential 对象。 若要获取 PSCredential 对象,请使用 Get-Credential cmdlet。 有关详细信息,请键入 Get-Help Get-Credential

类型:PSCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Criteria

指定指示如何筛选此订阅的警报的条件 xml。 条件可以筛选特定规则或监视器或警报的属性,但不能筛选类或组。

可以从现有订阅手动复制条件 xml。 若要从现有订阅获取条件 xml,请使用此模型: $subscription = Get-SCOMNotificationSubscription | Select-Object -First 1 $criteria = $subscription.Configuration.Criteria

类型:String
Position:3
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Delay

指定 HH:MM:SS 中的延迟,以便在此时间段内条件保持不变时发送通知。 默认情况下,Operations Manager 会立即发送通知。

类型:TimeSpan
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Description

指定通知订阅的说明。 如果未指定说明,则参数默认为 DisplayName 参数的值。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Disabled

指示该 cmdlet 创建订阅,但将其保留为禁用状态。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisplayName

指定订阅的显示名称。 如果未指定说明,则参数默认为 Name 参数的值。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Name

指定订阅的名称。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-OnlyOnResolutionChange

指示仅当警报的解析状态更改时,才会发出通知。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-PollingInterval

指定警报的轮询间隔。 如果未指定此参数,则间隔默认为 1 分钟。

类型:TimeSpan
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-SCSession

指定 连接 对象的数组。 若要获取 连接 对象,请使用 Get-SCManagementGroupConnection cmdlet。

类型:Connection[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Subscriber

指定此订阅的订阅者数组。 若要获取通知订阅者对象,请使用 Get-SCOMNotificationSubscriber cmdlet。

类型:NotificationRecipient[]
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False