New-SCSMSubscription
在 Service Manager 中创建新订阅。
语法
New-SCSMSubscription
-Class <ManagementPackClass>
[-Condition <Condition>]
[-Description <String>]
[-Criteria <String>]
[-GroupQueue <String[]>]
[-ManagementPack <ManagementPack>]
-DisplayName <String>
-Recipient <EnterpriseManagementObject[]>
-Template <EmailTemplate>
[-PassThru]
[-Enable <Boolean>]
[-SCSession <Connection[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
New-SCSMSubscription cmdlet 在 Service Manager 中创建订阅。
示例
示例 1:创建订阅
PS C:\>$PrinterClass = Get-SCSMClass -Name "Microsoft.AD.Printer"
PS C:\> $Message = 'Printer $Context/Property[''Type=Windows!Microsoft.AD.Printer'']/PrinterName$ has been updated'
PS C:\> $ManagementPack = Get-SCSMManagementPack -Name "ServiceManager.ConfigurationManagement.Configuration"
PS C:\> $Language = [System.Globalization.CultureInfo]"EN"
PS C:\> $Encoding = [System.Text.Encoding]::ASCII
PS C:\> New-SCSMEmailTemplate -Class $PrinterClass -DisplayName "Printer Email Template" -Body $Message -Description "A template for printer notifications" -Encoding $Encoding -Language $Language -ManagementPack $ManagementPack -Subject $Message
PS C:\> $PrinterTemplate = Get-SCSMEmailTemplate -DisplayName "Printer Email Template"
PS C:\> $UserClass = Get-SCSMClass -Name "Microsoft.AD.User"
PS C:\> $Recipient = Get-SCSMClassInstance -Class $UserClass -Filter 'UserName -like "%Administrator"'
PS C:\> New-SCSMSubscription -Class $PrinterClass -DisplayName "Printer update subscription" -Recipient $Recipient -Template $PrinterTemplate -Condition Updated
第一个命令使用 Get-SCSMClass cmdlet 获取名为 Microsoft.AD.Printer 的类,然后将其存储在$PrinterClass变量中。
第二个命令为电子邮件创建一条消息,并将其存储在$Message变量中。 此示例使用与主题和电子邮件正文相同的字符串。
第三个命令获取一个管理包,该管理包使用 Get-SCSMManagementPack cmdlet 保存此模板,然后将其存储在$ManagementPack变量中。
第四个和第五个命令将语言和编码的值存储在$Language和$Encoding变量中。
第六个命令创建一个电子邮件模板,该模板在打印机发生更改时适用。 该命令使用前五个命令中创建的值。
第七个命令使用 Get-SCSMEmailTemplate cmdlet 获取名为“打印机电子邮件模板”的电子邮件模板,然后将其存储在$PrinterTemplate变量中。
第八个命令使用 Get-SCSMClass获取名为 Microsoft.AD.User 的类,然后将其存储在$UserClass变量中。
第九个命令使用 Get-SCSMClassInstance cmdlet 获取$UserClass中类的实例,该类具有与指定筛选器匹配的名称。 该命令将该实例存储在$Recipient变量中。
最后一个命令创建一个订阅,该订阅使用示例前面创建的电子邮件模板,每当更新打印机时,该模板就会向管理员发送电子邮件。
示例 2:创建电子邮件通知订阅
PS C:\>$Criteria = @'
>> <Criteria>
>> <Expression>
>> <SimpleExpression>
>> <ValueExpression>
>> <Property State="Pre">$Context/Property[Type='Windows!Microsoft.AD.Printer']/Location$</Property>
>> </ValueExpression>
>> <Operator>NotEqual</Operator>
>> <ValueExpression>
>> <Property State="Post">$Context/Property[Type='Windows!Microsoft.AD.Printer']/Location$</Property>
>> </ValueExpression>
>> </SimpleExpression>
>> </Expression>
>> </Criteria>
>> @'
PS C:\> $Recipient = Get-SCSMClassInstance -DisplayName "System.User" -Filter "Name -like 'domain admins'"
PS C:\> $Class = Get-SCSMClass -Displayname "Microsoft.AD.Printer"
PS C:\> $Template = Get-SCSMEmailTemplate -Displayname "StandardEmailTemplate"
PS C:\> New-SCSMSubscription -Class <ManagementPackClass> -DisplayName "A printer subscription" -Recipient $Recipient -Template $Template -Condition Updated -Criteria $Criteria -Description "Changes in the printer location will cause email to be sent"
第一个命令为订阅创建条件,并将其存储在$Criteria变量中。
第二个命令获取名为 System.User 的类的类实例,该类具有与 Get-SCSMClassInstance cmdlet 匹配指定筛选器的名称。 该命令将该实例存储在$Recipient变量中。
第三个命令使用 Get-SCSMClass获取名为 Microsoft.AD.Printer 的类,然后将其存储在$Class变量中。
第四个命令使用 Get-SCSMEmailTemplate获取名为 StandardEmailTemplate 的电子邮件模板,然后将其存储在$Template变量中。
最后一个命令创建一个电子邮件通知订阅,该订阅配置为向域管理员发送电子邮件。 订阅基于 Printer 类中的更改,其中位置已更改。
参数
-Class
指定订阅所面向的类的名称。 指定的名称必须引用指定的电子邮件模板引用的同一类。
类型: | Microsoft.EnterpriseManagement.Configuration.ManagementPackClass |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ComputerName
指定运行 System Center Data Access 服务的计算机的名称。 Credential 参数中指定的用户帐户必须具有对指定计算机的访问权限。
类型: | System.String[] |
Position: | Named |
默认值: | Localhost |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Condition
指定订阅在其下运行的条件。 有效值为:
- 创建
- 更新
- 删除
类型: | Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.Condition |
接受的值: | Created, Updated |
Position: | Named |
默认值: | Updated |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
类型: | System.Management.Automation.SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定此 cmdlet 用于连接到运行 System Center Data Access 服务的服务器的凭据。 指定的用户帐户必须有权访问该服务器。
类型: | System.Management.Automation.PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Criteria
指定订阅使用的 XML 条件。 如果同时指定了 Filter 参数和 Criteria 参数,则此 cmdlet 仅使用 Criteria。
类型: | System.String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Description
描述订阅。
类型: | System.String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisplayName
指定订阅的显示名称。
类型: | System.String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Enable
指示此 cmdlet 是否启用订阅。
类型: | System.Boolean |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-GroupQueue
指定一个组或一个队列,用于设置订阅跟踪的对象数的限制。
类型: | System.String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ManagementPack
指定此 cmdlet 存储订阅的管理包的名称。
类型: | Microsoft.EnterpriseManagement.Configuration.ManagementPack |
Position: | Named |
默认值: | The default management pack |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PassThru
指示此 cmdlet 返回它创建的订阅。 可以将此对象传递给其他 cmdlet。
类型: | System.Management.Automation.SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Recipient
指定此订阅向其发送电子邮件的用户列表。
类型: | Microsoft.EnterpriseManagement.Common.EnterpriseManagementObject[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-SCSession
指定一个对象,该对象表示与 Service Manager 管理服务器的会话。
类型: | Microsoft.SystemCenter.Core.Connection.Connection[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Template
指定电子邮件模板的名称。
类型: | Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.EmailTemplate |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。
类型: | System.Management.Automation.SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
None.
不能通过管道将输入传递给此 cmdlet。
输出
None.
此 cmdlet 不生成任何输出。