Поделиться через


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 создает подписку в 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

Первая команда получает класс с именем Microsoft.AD.Printer с помощью командлета Get-SCSMClass, а затем сохраняет его в переменной $PrinterClass.

Вторая команда создает сообщение для электронной почты и сохраняет его в переменной $Message. В этом примере используется та же строка, что и тема и текст сообщения электронной почты.

Третья команда получает пакет управления, в котором нужно сохранить этот шаблон с помощью командлета Get-SCSMManagementPack, а затем сохраняет его в переменной $ManagementPack.

Четвертые и пятые команды хранят значения для языка и кодирования в переменных $Language и $Encoding.

Шестая команда создает шаблон электронной почты, который применяется при изменении принтера. Команда использует значения, созданные в первых пяти командах.

Седьмая команда получает шаблон электронной почты с именем "Шаблон электронной почты принтера" с помощью командлета Get-SCSMEmailTemplate, а затем сохраняет его в переменной $PrinterTemplate.

Восьмая команда получает класс с именем Microsoft.AD.User с помощью Get-SCSMClass, а затем сохраняет его в переменной $UserClass.

Девятая команда получает экземпляр класса в $UserClass с именем, соответствующим указанному фильтру с помощью командлета Get-SCSMClassInstance. Команда сохраняет этот экземпляр в переменной $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. Команда сохраняет этот экземпляр в переменной $Recipient.

Третья команда получает класс с именем Microsoft.AD.Printer с помощью Get-SCSMClass, а затем сохраняет его в переменной $Class.

Четвертая команда получает шаблон электронной почты standardEmailTemplate с помощью Get-SCSMEmailTemplate, а затем сохраняет его в переменной $Template.

Последняя команда создает подписку на уведомление электронной почты, настроенную для отправки электронной почты администраторам домена. Подписка основана на изменениях в классе принтера , где расположение изменилось.

Параметры

-Class

Указывает имя класса, предназначенного для подписки. Указанное имя должно ссылаться на тот же класс, на который ссылается указанный шаблон электронной почты.

Тип:Microsoft.EnterpriseManagement.Configuration.ManagementPackClass
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ComputerName

Указывает имя компьютера, на котором выполняется служба доступа к данным System Center. Учетная запись пользователя, указанная в параметре учетных данных , должна иметь права доступа к указанному компьютеру.

Тип:System.String[]
Position:Named
Default value:Localhost
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Condition

Указывает условие, в котором выполняется подписка. Допустимые значения:

  • Созданный
  • Обновлено
  • Уничтоженный
Тип:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.Condition
Допустимые значения:Created, Updated
Position:Named
Default value:Updated
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:System.Management.Automation.SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Указывает учетные данные, которые этот командлет использует для подключения к серверу, на котором выполняется служба доступа к данным System Center. Указанная учетная запись пользователя должна иметь права доступа к серверу.

Тип:System.Management.Automation.PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Criteria

Указывает XML-критерии, которые использует подписка. Если указан параметр фильтра и параметр Условий, этот командлет использует только условия.

Тип:System.String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Description

Описывает подписку.

Тип:System.String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisplayName

Указывает отображаемое имя подписки.

Тип:System.String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Enable

Указывает, включает ли этот командлет подписку.

Тип:System.Boolean
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-GroupQueue

Указывает группу или очередь, чтобы задать ограничение на количество объектов, отслеживаемых подпиской.

Тип:System.String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ManagementPack

Указывает имя пакета управления, в котором этот командлет хранит подписку.

Тип:Microsoft.EnterpriseManagement.Configuration.ManagementPack
Position:Named
Default value:The default management pack
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PassThru

Указывает, что этот командлет возвращает созданную подписку. Этот объект можно передать другим командлетам.

Тип:System.Management.Automation.SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Recipient

Указывает список пользователей, которым эта подписка отправляет электронную почту.

Тип:Microsoft.EnterpriseManagement.Common.EnterpriseManagementObject[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SCSession

Указывает объект, представляющий сеанс на сервере управления Service Manager.

Тип:Microsoft.SystemCenter.Core.Connection.Connection[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Template

Указывает имя шаблона электронной почты.

Тип:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.EmailTemplate
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.

Тип:System.Management.Automation.SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None.

Входные данные в этот командлет невозможно передать.

Выходные данные

None.

Этот командлет не создает выходные данные.