New-SCSMSubscription

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

New-SCSMSubscription cmdlet은 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 cmdlet을 사용하여 Microsoft.AD.Printer라는 클래스를 가져온 다음 $PrinterClass 변수에 저장합니다.

두 번째 명령은 전자 메일에 대한 메시지를 만들고 $Message 변수에 저장합니다. 이 예제에서는 전자 메일의 제목 및 본문과 동일한 문자열을 사용합니다.

세 번째 명령은 Get-SCSMManagementPack cmdlet을 사용하여 이 템플릿을 저장한 다음 $ManagementPack 변수에 저장하는 관리 팩을 가져옵니다.

네 번째 및 다섯 번째 명령은 언어 및 인코딩 값을 $Language 및 $Encoding 변수에 저장합니다.

여섯 번째 명령은 프린터에 변경이 발생할 때 적용되는 이메일 템플릿을 만듭니다. 명령은 처음 5개 명령에서 만든 값을 사용합니다.

일곱 번째 명령은 Get-SCSMEmailTemplate cmdlet을 사용하여 프린터 Email 템플릿이라는 전자 메일 템플릿을 가져온 다음 $PrinterTemplate 변수에 저장합니다.

여덟 번째 명령은 Get-SCSMClass를 사용하여 Microsoft.AD.User라는 클래스를 가져오고 $UserClass 변수에 저장합니다.

아홉 번째 명령은 Get-SCSMClassInstance cmdlet을 사용하여 지정된 필터와 일치하는 이름이 있는 $UserClass 클래스의 instance 가져옵니다. 명령은 $Recipient 변수에 instance 저장합니다.

최종 명령은 예제의 앞부분에서 만든 전자 메일 템플릿을 사용하는 구독을 만듭니다. 그러면 프린터가 업데이트 될 때마다 관리자에게 전자 메일을 보냅니다.

예제 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 변수에 저장합니다.

두 번째 명령은 Get-SCSMClassInstance cmdlet을 사용하여 지정된 필터와 일치하는 이름을 가진 System.User라는 클래스에 대한 클래스 instance 가져옵니다. 명령은 $Recipient 변수에 instance 저장합니다.

세 번째 명령은 Get-SCSMClass를 사용하여 Microsoft.AD.Printer라는 클래스를 가져오고 $Class 변수에 저장합니다.

네 번째 명령은 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 Data Access 서비스를 실행 중인 컴퓨터의 이름을 지정합니다. Credential 매개 변수에 지정된 사용자 계정에는 지정된 컴퓨터에 대한 액세스 권한이 있어야 합니다.

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

-Condition

구독이 실행되는 조건을 지정합니다. 유효한 값은 다음과 같습니다.

  • 생성일
  • 업데이트됨
  • 삭제됨
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

cmdlet을 실행하기 전에 확인을 요청합니다.

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

-Credential

이 cmdlet이 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 매개 변수를 모두 지정하면 이 cmdlet은 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

이 cmdlet에서 구독을 사용할 수 있는지 여부를 나타냅니다.

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

이 cmdlet에서 구독을 저장하는 관리 팩의 이름을 지정합니다.

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

-PassThru

이 cmdlet이 만든 구독을 반환한다는 것을 나타냅니다. 이 개체를 다른 cmdlet에 전달할 수 있습니다.

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

cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.

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

입력

None.

이 cmdlet에 입력을 파이프할 수 없습니다.

출력

None.

이 cmdlet은 어떠한 출력도 생성하지 않습니다.