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.
このコマンドレットは出力を生成しません。