New-SCSMSubscription

Crea una nuova sottoscrizione in Service Manager.

Sintassi

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

Descrizione

Il cmdlet New-SCSMSubscription crea una sottoscrizione in Service Manager.

Esempio

Esempio 1: Creare una sottoscrizione

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

Il primo comando ottiene una classe denominata Microsoft.AD.Printer usando il cmdlet Get-SCSMClass e quindi la archivia nella variabile $PrinterClass.

Il secondo comando crea un messaggio per il messaggio di posta elettronica e lo archivia nella variabile $Message. In questo esempio viene utilizzata la stessa stringa dell'oggetto e del corpo del messaggio di posta elettronica.

Il terzo comando ottiene un Management Pack in cui salvare questo modello usando il cmdlet Get-SCSMManagementPack e quindi lo archivia nella variabile $ManagementPack.

Il quarto e il quinto comando archivia i valori per la lingua e la codifica nelle variabili $Language e $Encoding.

Il sesto comando crea un modello di posta elettronica che si applica quando si verifica una modifica a una stampante. Il comando usa i valori creati nei primi cinque comandi.

Il settimo comando ottiene il modello di posta elettronica denominato Printer Email Template usando il cmdlet Get-SCSMEmailTemplate e quindi lo archivia nella variabile $PrinterTemplate.

L'ottavo comando ottiene la classe denominata Microsoft.AD.User usando Get-SCSMClass e quindi la archivia nella variabile $UserClass.

Il nono comando ottiene un'istanza della classe in $UserClass con un nome corrispondente a un filtro specificato usando il cmdlet Get-SCSMClassInstance. Il comando archivia tale istanza nella variabile $Recipient.

Il comando finale crea una sottoscrizione che usa il modello di posta elettronica creato in precedenza nell'esempio, che invia un messaggio di posta elettronica all'amministratore ogni volta che viene aggiornata una stampante.

Esempio 2: Creare una sottoscrizione di notifica tramite posta elettronica

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"

Il primo comando crea un criterio per la sottoscrizione e lo archivia nella variabile $Criteria.

Il secondo comando ottiene un'istanza di classe per la classe denominata System.User con un nome corrispondente a un filtro specificato usando il cmdlet Get-SCSMClassInstance. Il comando archivia tale istanza nella variabile $Recipient.

Il terzo comando ottiene la classe denominata Microsoft.AD.Printer usando Get-SCSMClass e quindi la archivia nella variabile $Class.

Il quarto comando ottiene il modello di posta elettronica denominato StandardEmailTemplate usando Get-SCSMEmailTemplate e quindi lo archivia nella variabile $Template.

Il comando finale crea una sottoscrizione di notifica tramite posta elettronica configurata per l'invio di posta elettronica agli amministratori di dominio. La sottoscrizione è basata sulle modifiche apportate alla classe Printer, in cui il percorso è stato modificato.

Parametri

-Class

Specifica il nome della classe che rappresenta la destinazione della sottoscrizione. Il nome specificato deve fare riferimento alla stessa classe a cui fa riferimento il modello di posta elettronica specificato.

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

-ComputerName

Specifica il nome del computer in cui è in esecuzione il servizio di accesso ai dati di System Center. L'account utente specificato nel parametro Credential deve disporre dei diritti di accesso per il computer specificato.

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

-Condition

Specifica la condizione in cui viene eseguita la sottoscrizione. I valori validi sono:

  • Data di creazione
  • Aggiornato
  • Eliminata
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

Richiede la conferma dell'utente prima di eseguire il cmdlet.

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

-Credential

Specifica le credenziali usate da questo cmdlet per connettersi al server in cui viene eseguito il servizio Di accesso ai dati di System Center. L'account utente specificato deve disporre di diritti di accesso per tale server.

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

-Criteria

Specifica i criteri XML utilizzati dalla sottoscrizione. Se vengono specificati sia il parametro Filter che il parametro Criteria , questo cmdlet usa solo Criteri.

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

-Description

Descrive la sottoscrizione.

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

-DisplayName

Specifica il nome visualizzato della sottoscrizione.

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

-Enable

Indica se questo cmdlet abilita la sottoscrizione.

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

-GroupQueue

Specifica un gruppo o una coda per impostare un limite per il numero di oggetti di cui la sottoscrizione tiene traccia.

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

-ManagementPack

Specifica il nome del Management Pack in cui questo cmdlet archivia la sottoscrizione.

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

-PassThru

Indica che questo cmdlet restituisce la sottoscrizione creata. È possibile passare questo oggetto ad altri cmdlet.

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

-Recipient

Specifica l'elenco di utenti a cui la sottoscrizione invia un messaggio di posta elettronica.

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

-SCSession

Specifica un oggetto che rappresenta la sessione per un server di gestione di Service Manager.

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

-Template

Specifica il nome di un modello di posta elettronica.

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

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

Input

None.

Non è possibile inviare input tramite pipe a questo cmdlet.

Output

None.

Questo cmdlet non genera alcun output.