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 获取名为 Printer Email Template 的电子邮件模板,然后将其存储在 $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 变量中。
第二个命令使用 Get-SCSMClassInstance cmdlet 获取名为 System.User 的类的类实例,该类的名称与指定筛选器匹配。 命令将实例存储在 $Recipient 变量中。
第三个命令使用 Get-SCSMClass 获取名为 Microsoft.AD.Printer 的类,然后将其存储在 $Class 变量中。
第四个命令使用 Get-SCSMEmailTemplate 获取名为 StandardEmailTemplate 的电子邮件模板,然后将其存储在 $Template 变量中。
最后一个命令创建配置为向域管理员发送电子邮件的电子邮件通知订阅。 订阅基于 Printer 类中的更改,其中的位置已更改。
参数
-Class
指定订阅针对的类的名称。 指定的名称必须引用指定的电子邮件模板引用的同一类。
Type: | Microsoft.EnterpriseManagement.Configuration.ManagementPackClass |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
指定运行 System Center Data Access 服务的计算机的名称。 Credential 参数中指定的用户帐户必须具有对指定计算机的访问权限。
Type: | System.String[] |
Position: | Named |
Default value: | Localhost |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Condition
指定运行订阅的条件。 有效值为:
- 创建
- 已更新
- Deleted
Type: | Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.Condition |
Accepted values: | Created, Updated |
Position: | Named |
Default value: | Updated |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type: | System.Management.Automation.SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
指定此 cmdlet 用于连接到运行 System Center Data Access 服务的服务器的凭据。 指定用户帐户必须具有对该服务器的访问权限。
Type: | System.Management.Automation.PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Criteria
指定订阅使用的 XML 条件。 如果同时指定了 Filter 参数和 Criteria 参数,则此 cmdlet 仅使用 Criteria。
Type: | System.String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
描述订阅。
Type: | System.String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
指定订阅的显示名称。
Type: | System.String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Enable
指示此 cmdlet 是否启用订阅。
Type: | System.Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GroupQueue
指定一个组或队列,以对订阅跟踪的对象数设置限制。
Type: | System.String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ManagementPack
指定此 cmdlet 在其中存储订阅的管理包的名称。
Type: | Microsoft.EnterpriseManagement.Configuration.ManagementPack |
Position: | Named |
Default value: | The default management pack |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
指示此 cmdlet 返回它创建的订阅。 可以将此对象传递给其他 cmdlet。
Type: | System.Management.Automation.SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Recipient
指定此订阅向其发送电子邮件的用户列表。
Type: | Microsoft.EnterpriseManagement.Common.EnterpriseManagementObject[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SCSession
指定表示与 Service Manager 管理服务器的会话的对象。
Type: | Microsoft.SystemCenter.Core.Connection.Connection[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Template
指定电子邮件模板的名称。
Type: | Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.EmailTemplate |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
Type: | System.Management.Automation.SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
None.
不能通过管道将输入传递给此 cmdlet。
输出
None.
此 cmdlet 将不生成任何输出。