次の方法で共有


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

最初のコマンドは、Get-SCSMClass コマンドレットを使用して Microsoft.AD.Printer という名前のクラスを取得し、$PrinterClass変数に格納します。

2 番目のコマンドは、電子メールのメッセージを作成し、$Message変数に格納します。 この例では、件名と電子メールの本文と同じ文字列を使用します。

3 番目のコマンドは、Get-SCSMManagementPack コマンドレットを使用してこのテンプレートを保存する管理パックを取得し、それを $ManagementPack 変数に格納します。

4 番目と 5 番目のコマンドは、言語とエンコードの値を$Language変数と$Encoding変数に格納します。

6 番目のコマンドは、プリンターに変更が発生したときに適用される電子メール テンプレートを作成します。 コマンドは、最初の 5 つのコマンドで作成された値を使用します。

7 番目のコマンドは、Get-SCSMEmailTemplate コマンドレットを使用して Printer Email Template という名前の電子メール テンプレートを取得し、それを $PrinterTemplate 変数に格納します。

8 番目のコマンドは、 Get-SCSMClass を使用して Microsoft.AD.User という名前のクラスを取得し、$UserClass変数に格納します。

9 番目のコマンドは、Get-SCSMClassInstance コマンドレットを使用して、指定したフィルターに一致する名前を持つ $UserClass 内の クラスのインスタンスを取得します。 コマンドは、そのインスタンスを $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 変数に格納します。

2 番目のコマンドは、Get-SCSMClassInstance コマンドレットを使用して、指定したフィルターに一致する名前を持つ System.User という名前のクラスのクラス インスタンスを取得します。 コマンドは、そのインスタンスを $Recipient 変数に格納します。

3 番目のコマンドは、 Get-SCSMClass を使用して Microsoft.AD.Printer という名前のクラスを取得し、$Class変数に格納します。

4 番目のコマンドは、 Get-SCSMEmailTemplate を使用して StandardEmailTemplate という名前の電子メール テンプレートを取得し、$Template変数に格納します。

最後のコマンドは、ドメイン管理者に電子メールを送信するように構成された電子メール通知サブスクリプションを作成します。 サブスクリプションは、場所が変更された Printer クラスの変更に基づいています。

パラメーター

-Class

サブスクリプションの対象のクラス名を指定します。 指定した名前は、指定した電子メール テンプレートによって参照されるのと同じクラスを参照する必要があります。

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

-ComputerName

System Center データ アクセス サービスが実行しているコンピューターの名前を指定します。 Credential パラメーターで指定されたユーザー アカウントには、指定されたコンピューターへのアクセス権が必要です。

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

-Condition

サブスクリプションを実行する条件を指定します。 有効な値は次のとおりです。

  • 作成済み
  • 更新済み
  • Deleted
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

コマンドレットの実行前に確認を求めるメッセージが表示されます。

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

-Credential

System Center Data Access サービスが実行されているサーバーへの接続にこのコマンドレットが使用する資格情報を指定します。 指定するユーザー アカウントには、そのサーバーへのアクセス権が必要です。

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

-Criteria

サブスクリプションが使用する XML 条件を指定します。 Filter パラメーターと Criteria パラメーターの両方が指定されている場合、このコマンドレットは Criteria のみを使用します

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

-Description

サブスクリプションについて説明します。

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

-DisplayName

サブスクリプションの表示名を指定します。

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

-Enable

このコマンドレットでサブスクリプションを有効にするかどうかを示します。

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

-GroupQueue

サブスクリプションを追跡するオブジェクトの数に制限を設定するグループまたはキューを指定します。

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

-ManagementPack

このコマンドレットがサブスクリプションを格納する管理パックの名前を指定します。

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

-PassThru

このコマンドレットによって、作成されたサブスクリプションが返されることを示します。 このオブジェクトは、他のコマンドレットに渡すことができます。

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

-Recipient

このサブスクリプションが電子メールを送信するユーザーの一覧を指定します。

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

-SCSession

Service Manager 管理サーバーへのセッションを表すオブジェクトを指定します。

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

-Template

電子メール テンプレートの名前を指定します。

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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

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

入力

None.

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

None.

このコマンドレットは出力を生成しません。