Udostępnij za pośrednictwem


New-SCSMSubscription

Tworzy nową subskrypcję w programie Service Manager.

Składnia

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>]

Opis

Polecenie cmdlet New-SCSMSubscription tworzy subskrypcję w programie Service Manager.

Przykłady

Przykład 1. Tworzenie subskrypcji

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

Pierwsze polecenie pobiera klasę o nazwie Microsoft.AD.Printer przy użyciu polecenia cmdlet Get-SCSMClass, a następnie zapisuje ją w zmiennej $PrinterClass.

Drugie polecenie tworzy wiadomość dla wiadomości e-mail i zapisuje ją w zmiennej $Message. W tym przykładzie użyto tego samego ciągu co temat i treść wiadomości e-mail.

Trzecie polecenie pobiera pakiet administracyjny, w którym można zapisać ten szablon przy użyciu polecenia cmdlet Get-SCSMManagementPack, a następnie zapisuje go w zmiennej $ManagementPack.

Czwarte i piąte polecenia przechowują wartości języka i kodowania w zmiennych $Language i $Encoding.

Szóste polecenie tworzy szablon wiadomości e-mail, który ma zastosowanie w przypadku zmiany drukarki. Polecenie używa wartości utworzonych w pierwszych pięciu poleceniach.

Siódme polecenie pobiera szablon wiadomości e-mail o nazwie Szablon wiadomości e-mail drukarki przy użyciu polecenia cmdlet Get-SCSMEmailTemplate, a następnie zapisuje go w zmiennej $PrinterTemplate.

Ósme polecenie pobiera klasę o nazwie Microsoft.AD.User przy użyciu Get-SCSMClass, a następnie zapisuje ją w zmiennej $UserClass.

Dziewiąte polecenie pobiera wystąpienie klasy w $UserClass, które ma nazwę zgodną z określonym filtrem przy użyciu polecenia cmdlet Get-SCSMClassInstance. Polecenie przechowuje to wystąpienie w zmiennej $Recipient.

Ostatnie polecenie tworzy subskrypcję, która korzysta z szablonu wiadomości e-mail utworzonej wcześniej w przykładzie, która wysyła wiadomość e-mail do administratora za każdym razem, gdy drukarka zostanie zaktualizowana.

Przykład 2. Tworzenie subskrypcji powiadomień e-mail

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"

Pierwsze polecenie tworzy kryteria subskrypcji i przechowuje je w zmiennej $Criteria.

Drugie polecenie pobiera wystąpienie klasy dla klasy o nazwie System.User, która ma nazwę zgodną z określonym filtrem przy użyciu polecenia cmdlet Get-SCSMClassInstance. Polecenie przechowuje to wystąpienie w zmiennej $Recipient.

Trzecie polecenie pobiera klasę o nazwie Microsoft.AD.Printer przy użyciu Get-SCSMClass, a następnie zapisuje ją w zmiennej $Class.

Czwarte polecenie pobiera szablon wiadomości e-mail o nazwie StandardEmailTemplate przy użyciu Get-SCSMEmailTemplate, a następnie zapisuje go w zmiennej $Template.

Końcowe polecenie tworzy subskrypcję powiadomień e-mail skonfigurowaną do wysyłania wiadomości e-mail do administratorów domeny. Subskrypcja jest oparta na zmianach w klasie drukarki , w której lokalizacja uległa zmianie.

Parametry

-Class

Określa nazwę klasy docelowej subskrypcji. Określona nazwa musi odwoływać się do tej samej klasy, do którego odwołuje się określony szablon wiadomości e-mail.

Typ:Microsoft.EnterpriseManagement.Configuration.ManagementPackClass
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ComputerName

Określa nazwę komputera, na którym działa usługa System Center Data Access. Konto użytkownika określone w parametrze Credential musi mieć prawa dostępu do określonego komputera.

Typ:System.String[]
Position:Named
Domyślna wartość:Localhost
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Condition

Określa warunek, w którym jest uruchamiana subskrypcja. Prawidłowe wartości to:

  • Utworzono
  • Aktualizowano
  • Usunięte
Typ:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.Condition
Dopuszczalne wartości:Created, Updated
Position:Named
Domyślna wartość:Updated
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:System.Management.Automation.SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Credential

Określa poświadczenia używane przez to polecenie cmdlet do nawiązywania połączenia z serwerem, na którym działa usługa System Center Data Access. Określone konto użytkownika musi mieć prawa dostępu do tego serwera.

Typ:System.Management.Automation.PSCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Criteria

Określa kryteria XML, których używa subskrypcja. Jeśli określono zarówno parametr filtru , jak i parametr Kryteria, to polecenie cmdlet używa tylko Kryteria.

Typ:System.String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Description

Opisuje subskrypcję.

Typ:System.String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DisplayName

Określa nazwę wyświetlaną subskrypcji.

Typ:System.String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Enable

Wskazuje, czy to polecenie cmdlet włącza subskrypcję.

Typ:System.Boolean
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-GroupQueue

Określa grupę lub kolejkę, aby ustawić limit liczby obiektów, które śledzi subskrypcja.

Typ:System.String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ManagementPack

Określa nazwę pakietu administracyjnego, w którym to polecenie cmdlet przechowuje subskrypcję.

Typ:Microsoft.EnterpriseManagement.Configuration.ManagementPack
Position:Named
Domyślna wartość:The default management pack
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PassThru

Wskazuje, że to polecenie cmdlet zwraca utworzoną subskrypcję. Ten obiekt można przekazać do innych poleceń cmdlet.

Typ:System.Management.Automation.SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Recipient

Określa listę użytkowników, do których ta subskrypcja wysyła wiadomość e-mail.

Typ:Microsoft.EnterpriseManagement.Common.EnterpriseManagementObject[]
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-SCSession

Określa obiekt reprezentujący sesję na serwerze zarządzania programu Service Manager.

Typ:Microsoft.SystemCenter.Core.Connection.Connection[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Template

Określa nazwę szablonu wiadomości e-mail.

Typ:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.EmailTemplate
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.

Typ:System.Management.Automation.SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None.

Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.

Dane wyjściowe

None.

To polecenie cmdlet nie generuje żadnych danych wyjściowych.