Delen via


New-SCSMSubscription

Hiermee maakt u een nieuw abonnement in Service Manager.

Syntax

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

Description

De cmdlet New-SCSMSubscription maakt een abonnement in Service Manager.

Voorbeelden

Voorbeeld 1: Een abonnement maken

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

De eerste opdracht haalt een klasse met de naam Microsoft.AD.Printer op met behulp van de cmdlet Get-SCSMClass en slaat deze vervolgens op in de variabele $PrinterClass.

Met de tweede opdracht wordt een bericht voor het e-mailbericht gemaakt en opgeslagen in de variabele $Message. In dit voorbeeld wordt dezelfde tekenreeks gebruikt als het onderwerp en de hoofdtekst van het e-mailbericht.

Met de derde opdracht wordt een management pack opgeslagen waarin deze sjabloon kan worden opgeslagen met behulp van de cmdlet Get-SCSMManagementPack en wordt deze vervolgens opgeslagen in de variabele $ManagementPack.

Met de vierde en vijfde opdracht worden waarden voor taal en codering opgeslagen in de variabelen $Language en $Encoding.

Met de zesde opdracht maakt u een e-mailsjabloon die van toepassing is wanneer er een wijziging optreedt in een printer. De opdracht maakt gebruik van waarden die zijn gemaakt in de eerste vijf opdrachten.

De zevende opdracht haalt de e-mailsjabloon printer Email sjabloon op met behulp van de cmdlet Get-SCSMEmailTemplate en slaat deze vervolgens op in de variabele $PrinterTemplate.

De achtste opdracht haalt de klasse met de naam Microsoft.AD.User op met behulp van Get-SCSMClass en slaat deze vervolgens op in de variabele $UserClass.

Met de negende opdracht wordt een exemplaar van de klasse in $UserClass die een naam heeft die overeenkomt met een opgegeven filter met behulp van de cmdlet Get-SCSMClassInstance. Met de opdracht wordt dat exemplaar opgeslagen in de variabele $Recipient.

Met de laatste opdracht maakt u een abonnement dat gebruikmaakt van de e-mailsjabloon, die eerder in het voorbeeld is gemaakt, waarmee een e-mail naar de beheerder wordt verzonden wanneer een printer wordt bijgewerkt.

Voorbeeld 2: Een abonnement voor e-mailmeldingen maken

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"

Met de eerste opdracht maakt u een criterium voor het abonnement en slaat u dit op in de $Criteria variabele.

De tweede opdracht haalt een klasse-exemplaar op voor de klasse met de naam System.User die een naam heeft die overeenkomt met een opgegeven filter met behulp van de cmdlet Get-SCSMClassInstance. Met de opdracht wordt dat exemplaar opgeslagen in de variabele $Recipient.

De derde opdracht haalt de klasse met de naam Microsoft.AD.Printer op met behulp van Get-SCSMClass en slaat deze vervolgens op in de variabele $Class.

De vierde opdracht haalt de e-mailsjabloon met de naam StandardEmailTemplate op met behulp van Get-SCSMEmailTemplate en slaat deze vervolgens op in de variabele $Template.

Met de laatste opdracht maakt u een abonnement voor e-mailmeldingen dat is geconfigureerd voor het verzenden van e-mail naar de domeinbeheerders. Het abonnement is gebaseerd op wijzigingen in de klasse Printer , waarbij de locatie is gewijzigd.

Parameters

-Class

Hiermee geeft u de naam van de klasse waarop het abonnement is gericht. De opgegeven naam moet verwijzen naar dezelfde klasse waarnaar wordt verwezen door de opgegeven e-mailsjabloon.

Type:Microsoft.EnterpriseManagement.Configuration.ManagementPackClass
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Hiermee geeft u de naam van de computer waarop de System Center Data Access-service wordt uitgevoerd. Het gebruikersaccount dat is opgegeven in de referentieparameter moet toegangsrechten hebben voor de opgegeven computer.

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

-Condition

Hiermee geeft u de voorwaarde waaronder het abonnement wordt uitgevoerd. Geldige waarden zijn:

  • Gemaakt
  • Bijgewerkt
  • Verwijderd
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

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-Credential

Hiermee geeft u de referenties op die deze cmdlet gebruikt om verbinding te maken met de server waarop de System Center Data Access-service wordt uitgevoerd. Het opgegeven gebruikersaccount moet toegangsrechten voor die server hebben.

Type:System.Management.Automation.PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Criteria

Hiermee geeft u de XML-criteria op die het abonnement gebruikt. Als zowel de filterparameter als de parameter Criteria zijn opgegeven, gebruikt deze cmdlet alleen Criteria.

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

-Description

Beschrijft het abonnement.

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

-DisplayName

Hiermee geeft u de weergavenaam van het abonnement.

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

-Enable

Geeft aan of deze cmdlet het abonnement inschakelt.

Type:System.Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GroupQueue

Hiermee geeft u een groep of een wachtrij op om een limiet in te stellen voor het aantal objecten dat het abonnement bijhoudt.

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

-ManagementPack

Hiermee geeft u de naam van het management pack waarin deze cmdlet het abonnement opslaat.

Type:Microsoft.EnterpriseManagement.Configuration.ManagementPack
Position:Named
Default value:The default management pack
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Geeft aan dat deze cmdlet het abonnement retourneert dat wordt gemaakt. U kunt dit object doorgeven aan andere cmdlets.

Type:System.Management.Automation.SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Recipient

Hiermee geeft u de lijst met gebruikers aan wie dit abonnement e-mail verzendt.

Type:Microsoft.EnterpriseManagement.Common.EnterpriseManagementObject[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SCSession

Hiermee geeft u een object op dat de sessie naar een Service Manager-beheerserver vertegenwoordigt.

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

-Template

Hiermee geeft u de naam van een e-mailsjabloon.

Type:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.EmailTemplate
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

Invoerwaarden

None.

U kunt geen invoer doorsnijden naar deze cmdlet.

Uitvoerwaarden

None.

Deze cmdlet genereert geen uitvoer.