Share via


Set-CMOrchestrationGroup

오케스트레이션 그룹을 구성합니다.

Syntax

Set-CMOrchestrationGroup
   [-InputObject] <IResultObject>
   [-NewName <String>]
   [-Description <String>]
   [-OrchestrationType <OrchestrationTypeValue>]
   [-OrchestrationValue <Int32>]
   [-OrchestrationTimeOutMin <Int32>]
   [-MaxLockTimeOutMin <Int32>]
   [-PreScript <String>]
   [-PreScriptTimeoutSec <Int32>]
   [-PostScript <String>]
   [-PostScriptTimeoutSec <Int32>]
   [-MemberResourceIds <Int32[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMOrchestrationGroup
   [-Id] <Int32>
   [-NewName <String>]
   [-Description <String>]
   [-OrchestrationType <OrchestrationTypeValue>]
   [-OrchestrationValue <Int32>]
   [-OrchestrationTimeOutMin <Int32>]
   [-MaxLockTimeOutMin <Int32>]
   [-PreScript <String>]
   [-PreScriptTimeoutSec <Int32>]
   [-PostScript <String>]
   [-PostScriptTimeoutSec <Int32>]
   [-MemberResourceIds <Int32[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMOrchestrationGroup
   [-Name] <String>
   [-NewName <String>]
   [-Description <String>]
   [-OrchestrationType <OrchestrationTypeValue>]
   [-OrchestrationValue <Int32>]
   [-OrchestrationTimeOutMin <Int32>]
   [-MaxLockTimeOutMin <Int32>]
   [-PreScript <String>]
   [-PreScriptTimeoutSec <Int32>]
   [-PostScript <String>]
   [-PostScriptTimeoutSec <Int32>]
   [-MemberResourceIds <Int32[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

이 cmdlet을 사용하여 오케스트레이션 그룹을 구성합니다.

오케스트레이션 그룹을 사용하여 디바이스에 대한 소프트웨어 업데이트 배포를 더 잘 제어할 수 있습니다. 특정 워크로드에 대한 업데이트를 신중하게 관리하거나 그 사이에 동작을 자동화해야 할 수 있습니다. 자세한 내용은 Configuration Manager 오케스트레이션 그룹 만들기 및 사용을 참조하세요.

참고

Configuration Manager 사이트 드라이브에서 Configuration Manager cmdlet을 실행합니다(예: PS XYZ:\>). 자세한 내용은 시작을 참조하세요.

예제

예제 1: 형식 변경 및 시퀀스 지정

이 예제에서는 먼저 Get-CMOrchestrationGroup cmdlet을 사용하여 IT 서버라는 오케스트레이션 그룹에 대한 개체를 가져옵니다. 이 개체는 og 변수에 저장됩니다.

다음 명령은 디바이스라는 배열을 정의 합니다. IT 서버 오케스트레이션 그룹($og.MOGMembers)의 각 멤버를 반복하고 멤버의 ID를 Get-CMDevice cmdlet에 전달합니다. 반환된 디바이스 개체가 디바이스 배열에 추가됩니다.

다음 명령은 디바이스 이름으로 배열을 정렬하고 디바이스 리소스 ID를 sortedIDs 변수로 반환합니다.

그런 다음 cmdlet 매개 변수를 매개 변수 변수에 배치합니다. 매개 변수를 스플랫할 필요는 없습니다. 이렇게 긴 명령줄에 대한 매개 변수를 더 쉽게 읽을 수 있습니다.

마지막 명령은 정의된 시퀀스 순서로 지정된 오케스트레이션 그룹을 구성합니다. MemberResourceIds 매개 변수를 사용하여 멤버를 추가하거나 제거하는 것이 아니라 시퀀스를 설정합니다.

$og = Get-CMOrchestrationGroup -Name "IT servers"

$devices = @()
foreach ( $id in $og.MOGMembers ) {
  $devices += Get-CMDevice -Id $id -Fast
}

$sortedIDs = ( $devices | Sort-Object -Property Name | Select-Object ResourceId ).ResourceId

$parameters = @{
  InputObject = $og
  Description = "Change type and sequence"
  OrchestrationType = "Sequence"
  MemberResourceIds = $sortedIDs
}

Set-CMOrchestrationGroup @parameters

이 예제에서는 기존 멤버의 프로그래밍 방식 정렬을 수행하는 방법을 보여줍니다. 오케스트레이션 그룹의 멤버 자격이 변경되지 않는 경우 다음과 같은 일반 프로세스를 사용합니다.

  1. 기존 멤버 리소스 ID를 사용합니다.
  2. 각 리소스에 대한 자세한 정보를 가져옵니다.
  3. 해당 정보의 목록을 정렬합니다.
  4. 새로 정렬된 목록에 대한 리소스 ID를 반환합니다.

이 예제에서는 Get-CMDevice 를 사용하여 자세한 정보를 가져오지만 디바이스 리소스 ID를 입력으로 사용하는 cmdlet으로 바꿀 수 있습니다. 정렬 메커니즘을 다른 함수로 바꿀 수도 있습니다.

예제 2: 파일에서 스크립트 콘텐츠 가져오기

이 예제에서는 기본 제공 Get-Content cmdlet을 사용하여 로컬 파일에서 스크립트 텍스트를 읽습니다. 스크립트 텍스트는 postScript 변수에 저장됩니다. 두 번째 명령은 새 사후 스크립트를 사용하여 오케스트레이션 그룹을 구성합니다.

$postScript - Get-Content -Path "D:\Scripts\OG\Post1.ps1"
Set-CMOrchestrationGroup -InputObject $og -PostScript $postScript

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

오케스트레이션 그룹을 식별하는 데 도움이 되는 선택적 설명을 지정합니다.

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

-DisableWildcardHandling

이 매개 변수는 와일드카드 문자를 리터럴 문자 값으로 처리합니다. ForceWildcardHandling과 결합할 수 없습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

이 매개 변수는 와일드카드 문자를 처리하고 예기치 않은 동작(권장되지 않음)으로 이어질 수 있습니다. DisableWildcardHandling과 결합할 수 없습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

구성할 오케스트레이션 그룹의 ID를 지정합니다. 이 값은 정수인 MOGID 속성입니다. 예를 들면 16777217와 같습니다.

Type:Int32
Aliases:MOGID
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

구성할 오케스트레이션 그룹에 대한 개체를 지정합니다. 이 개체를 얻으려면 Get-CMOrchestrationGroup cmdlet을 사용합니다.

Type:IResultObject
Aliases:OrchestrationGroup
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaxLockTimeOutMin

오케스트레이션 그룹 멤버 시간 제한(분)에 대한 정수 값을 지정합니다. 이 값은 그룹의 단일 디바이스가 업데이트를 설치하는 데 걸리는 시간 제한입니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemberResourceIds

이 오케스트레이션 그룹의 멤버로 추가할 디바이스에 대한 리소스 ID 배열을 지정합니다. 리소스 ID는 정수입니다(예: 16777220). 디바이스 또는 리소스 개체의 ResourceId 속성입니다. 디바이스 개체를 얻으려면 Get-CMDevice 또는 Get-CMResource cmdlet을 사용합니다.

OrchestrationType 매개 변수를 Sequence로 설정하면 이 매개 변수를 사용하여 순서를 확인합니다.

Type:Int32[]
Aliases:MogMembers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

구성할 오케스트레이션 그룹의 이름을 지정합니다.

Type:String
Aliases:OrchestrationGroupName
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NewName

이 오케스트레이션 그룹의 새 이름을 지정합니다. 이 매개 변수를 사용하여 오케스트레이션 그룹의 이름을 바꿉니다.

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

-OrchestrationTimeOutMin

오케스트레이션 그룹 시간 제한(분)에 대한 정수 값을 지정합니다. 이 값은 모든 그룹 구성원이 업데이트를 설치하는 데 걸리는 시간 제한입니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OrchestrationType

오케스트레이션 그룹 유형에 대해 다음 값 중 하나를 지정합니다.

  • Number: 여러 디바이스가 동시에 업데이트되도록 허용합니다. 오케스트레이션 그룹의 전체 크기에 관계없이 항상 특정 수의 디바이스로 제한하려면 이 설정을 사용합니다. 디바이스 수를 지정하려면 OrchestrationValue 매개 변수를 사용합니다.

  • Percentage: 디바이스의 백분율을 동시에 업데이트하도록 허용합니다. 나중에 오케스트레이션 그룹의 크기를 유연하게 사용할 수 있도록 하려면 이 설정을 사용합니다. 백분율을 지정하려면 OrchestrationValue 매개 변수를 사용합니다.

  • Sequence: 디바이스가 소프트웨어 업데이트 배포를 실행하는 순서를 명시적으로 정의합니다. 순서는 MemberResourceIds 매개 변수의 디바이스 리소스 ID 종류에 따라 결정됩니다.

Type:OrchestrationTypeValue
Accepted values:Number, Percentage, Sequence
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OrchestrationValue

동시에 업데이트할 디바이스의 수 또는 백분율에 대한 정수를 지정합니다. OrchestrationType 매개 변수를 또는 Percentage로 설정할 때 이 매개 변수를 Number 사용합니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PostScript

배포가 실행되고 필요한 경우 디바이스를 다시 시작한 각 디바이스에서 실행할 PowerShell 스크립트를 지정합니다.

이 문자열 값은 스크립트 자체의 텍스트입니다. 사용하려는 파일에 스크립트가 있는 경우 먼저 변수로 읽습니다. 예를 들어 기본 제공 Get-Content cmdlet을 사용합니다.

스크립트는 성공을 위해 의 0 값을 반환해야 합니다. 0이 아닌 값은 스크립트 오류로 간주됩니다. 매개 변수가 있는 스크립트는 사용할 수 없습니다. 최대 스크립트 길이는 50,000자입니다.

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

-PostScriptTimeoutSec

사후 스크립트가 시간 초과되기 전에 실행될 수 있는 시간(초)에 대한 정수 값을 지정합니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PreScript

배포가 실행되기 전에 각 디바이스에서 실행할 PowerShell 스크립트를 지정합니다.

이 문자열 값은 스크립트 자체의 텍스트입니다. 사용하려는 파일에 스크립트가 있는 경우 먼저 변수로 읽습니다. 예를 들어 기본 제공 Get-Content cmdlet을 사용합니다.

스크립트는 성공을 위해 의 0 값을 반환해야 합니다. 0이 아닌 값은 스크립트 오류로 간주됩니다. 매개 변수가 있는 스크립트는 사용할 수 없습니다. 최대 스크립트 길이는 50,000자입니다.

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

-PreScriptTimeoutSec

사전 스크립트가 시간 초과되기 전에 실행될 수 있도록 허용되는 시간(초)에 대한 정수 값을 지정합니다.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여줍니다. cmdlet이 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

출력

IResultObject

참고

이 cmdlet은 SMS_MachineOrchestrationGroup WMI 클래스에 대한 개체를 반환합니다.