Condividi tramite


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 usata 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-SCSMClasse 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 che corrisponde 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-SCSMClasse quindi la archivia nella variabile $Class.

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

Il comando finale crea una sottoscrizione di notifica tramite posta elettronica configurata per inviare messaggi di posta elettronica agli amministratori di dominio. La sottoscrizione si basa sulle modifiche apportate alla classe stampante , in cui il percorso è cambiato.

Parametri

-Class

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

Tipo:Microsoft.EnterpriseManagement.Configuration.ManagementPackClass
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ComputerName

Specifica il nome del computer in cui viene eseguito 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.

Tipo:System.String[]
Posizione:Named
Valore predefinito:Localhost
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Condition

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

  • Creato
  • Aggiornato
  • Eliminato
Tipo:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.Condition
Valori accettati:Created, Updated
Posizione:Named
Valore predefinito:Updated
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:System.Management.Automation.SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 dei diritti di accesso per tale server.

Tipo:System.Management.Automation.PSCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Criteria

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

Tipo:System.String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Description

Descrive la sottoscrizione.

Tipo:System.String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisplayName

Specifica il nome visualizzato della sottoscrizione.

Tipo:System.String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Enable

Indica se questo cmdlet abilita la sottoscrizione.

Tipo:System.Boolean
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-GroupQueue

Specifica un gruppo o una coda per impostare un limite per il numero di oggetti tracciati dalla sottoscrizione.

Tipo:System.String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ManagementPack

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

Tipo:Microsoft.EnterpriseManagement.Configuration.ManagementPack
Posizione:Named
Valore predefinito:The default management pack
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PassThru

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

Tipo:System.Management.Automation.SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Recipient

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

Tipo:Microsoft.EnterpriseManagement.Common.EnterpriseManagementObject[]
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SCSession

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

Tipo:Microsoft.SystemCenter.Core.Connection.Connection[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Template

Specifica il nome di un modello di posta elettronica.

Tipo:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Notifications.EmailTemplate
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.

Tipo:System.Management.Automation.SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None.

Non è possibile inviare tramite pipe l'input a questo cmdlet.

Output

None.

Questo cmdlet non genera alcun output.