DSC 그룹 리소스
적용 대상: Windows PowerShell 4.0, Windows PowerShell 5.x
DSC(Windows PowerShell Desired State Configuration 그룹 리소스)는 대상 노드에서 로컬 그룹을 관리하는 메커니즘을 제공합니다.
참고
이 DSC 리소스에 대한 이 설명서에서는 버전 7.2 이전의 PowerShell에 포함된 버전을 다룹니다. PSDscResources 모듈에는 Microsoft에서 공식적으로 지원하는 새 DSC 리소스와 업데이트된 DSC 리소스가 포함되어 있습니다. PSDscResources 모듈은 PowerShell 갤러리에서 사용할 수 있습니다.
자세한 내용 및 업데이트된 설명서는 PSDscResources 참조 설명서를 참조하세요.
구문
Group [string] #ResourceName
{
GroupName = [string]
[ Credential = [PSCredential] ]
[ Description = [string[]] ]
[ Members = [string[]] ]
[ MembersToExclude = [string[]] ]
[ MembersToInclude = [string[]] ]
[ DependsOn = [string[]] ]
[ Ensure = [string] { Absent | Present } ]
[ PsDscRunAsCredential = [PSCredential] ]
}
속성
속성 | Description |
---|---|
GroupName | 상태를 확인하려는 그룹의 이름입니다. |
자격 증명 | 원격 리소스에 액세스하는 데 필요한 자격 증명입니다. 이 계정에는 로컬이 아닌 모든 계정을 그룹에 추가할 수 있는 Active Directory 사용 권한이 있어야 합니다. 그렇지 않으면 구성이 대상 노드에서 실행될 때 오류가 발생합니다. |
Description | 그룹에 대한 설명입니다. |
구성원 | 현재 그룹 구성원 자격을 지정된 구성원으로 바꾸려면 이 속성을 사용합니다. 이 속성의 값은 Domain\UserName 형식의 문자열 배열입니다. 구성에서 이 속성을 설정하는 경우 MembersToExclude 또는 MembersToInclude 속성을 사용하지 마세요. 사용할 경우 오류가 발생합니다. |
MembersToExclude | 그룹의 기존 구성원 자격에서 구성원을 제거하려면 이 속성을 사용합니다. 이 속성의 값은 Domain\UserName 형식의 문자열 배열입니다. 구성에서 이 속성을 설정하는 경우 Members 속성을 사용하지 마세요. 사용할 경우 오류가 발생합니다. |
MembersToInclude | 그룹의 기존 구성원 자격에 구성원을 추가하려면 이 속성을 사용합니다. 이 속성의 값은 Domain\UserName 형식의 문자열 배열입니다. 구성에서 이 속성을 설정하는 경우 Members 속성을 사용하지 마세요. 사용할 경우 오류가 발생합니다. |
공용 속성
속성 | Description |
---|---|
DependsOn | 이 리소스를 구성하려면 먼저 다른 리소스의 구성을 실행해야 함을 나타냅니다. 예를 들어, 먼저 실행하려는 리소스 구성 스크립트 블록의 ID가 ResourceName이고 해당 형식이 ResourceType일 경우, 이 속성을 사용하기 위한 구문은 DependsOn = "[ResourceType]ResourceName" 입니다. |
Ensure | 그룹이 존재하는지 여부를 나타냅니다. 그룹이 없도록 하려면 이 속성을 Absent 로 설정합니다. 그룹이 존재하도록 하려면 이 속성을 Present로 설정합니다. 기본값은 Present입니다. |
PsDscRunAsCredential | 전체 리소스를 실행하기 위한 자격 증명을 설정합니다. |
참고
PsDscRunAsCredential 공용 속성은 다른 자격 증명의 컨텍스트에서 DSC 리소스를 실행할 수 있도록 WMF 5.0에 추가되었습니다. 자세한 내용은 DSC 리소스로 자격 증명 사용을 참조하세요.
예제 1: 그룹이 없는지 확인
다음 예제에서는 “TestGroup”이라는 그룹이 없음을 확인하는 방법을 보여 줍니다.
Group GroupExample
{
# This removes TestGroup, if present
# To create a new group, set Ensure to "Present"
Ensure = "Absent"
GroupName = "TestGroup"
}
예제 2: 로컬 그룹에 도메인 사용자 추가
다음 예제에서는 Active Directory 사용자를 로컬 관리자 그룹에 다중 머신 랩 빌드의 일부로 추가하는 방법을 보여줍니다. 여기에서 사용자는 이미 로컬 관리자 계정에 대해 PSCredential을 사용하고 있습니다. 이것은 또한 도메인 승급 후 도메인 관리자 계정에도 사용되므로, 기존 PSCredential을 도메인 자격 증명으로 변환해야 합니다. 그런 다음 구성원 서버에서 도메인 사용자를 로컬 관리자 그룹에 추가할 수 있습니다.
@{
AllNodes = @(
@{
NodeName = '*';
DomainName = 'SubTest.contoso.com';
}
@{
NodeName = 'Box2';
AdminAccount = 'Admin-Dave_Alexanderson'
}
)
}
$domain = $node.DomainName.split('.')[0]
$DCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ("$domain\$($credential.Username)", $Credential.Password)
Group AddADUserToLocalAdminGroup {
GroupName='Administrators'
Ensure= 'Present'
MembersToInclude= "$domain\$($Node.AdminAccount)"
Credential = $dCredential
PsDscRunAsCredential = $DCredential
}
예제 3
다음 예제에서는 TigerTeamSource.Contoso.Com 서버의 로컬 그룹 TigerTeamAdmins에 특정 도메인 계정 Contoso\JerryG가 포함되지 않도록 하는 방법을 보여 줍니다.
Configuration SecureTigerTeamSource {
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Node TigerTeamSource.Contoso.Com {
Group TigerTeamAdmins {
GroupName = 'TigerTeamAdmins'
Ensure = 'Present'
MembersToExclude = "Contoso\JerryG"
}
}
}