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 中添加通知订阅。

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

示例

示例 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 和 NameSubscriberChannel 参数。

示例 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 和 NameSubscriberChannel 参数。

示例 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 和 NameSubscriberChannel 参数。 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 和 NameSubscriberChannel 参数。 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 和 NameSubscriberChannelCriteria 参数。

参数

-BccSubscriber

指定订阅者数组,以对订阅的消息进行密件抄送 (密件抄送) 。

Type:NotificationRecipient[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-CcSubscriber

指定订阅的消息上的抄送 (CC) 订阅的订阅者数组。

Type:NotificationRecipient[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Channel

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

Type:Object[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

为管理组连接指定 PSCredential 对象。 若要获取 PSCredential 对象,请使用 Get-Credential cmdlet。 要了解详情,请键入 Get-Help Get-Credential

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Criteria

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

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

Type:String
Position:3
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Delay

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

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Description

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Disabled

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定订阅的名称。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-OnlyOnResolutionChange

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PollingInterval

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

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SCSession

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

Type:Connection[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Subscriber

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

Type:NotificationRecipient[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False