Recurso Group de DSCDSC Group Resource

Aplica-se a: Windows PowerShell 4.0, Windows PowerShell 5.0Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0

O recurso Group na Configuração de Estado Desejado (DSC) do Windows PowerShell fornece um mecanismo para gerenciar grupos locais no nó de destino.The Group resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to manage local groups on the target node.

SintaxeSyntax

Group [string] #ResourceName
{
    GroupName          = [string]
    [ Credential       = [PSCredential] ]
    [ Description      = [string[]] ]
    [ Ensure           = [string] { Absent | Present }  ]
    [ Members          = [string[]] ]
    [ MembersToExclude = [string[]] ]
    [ MembersToInclude = [string[]] ]
    [ DependsOn        = [string[]] ]
}

PropriedadesProperties

PropriedadeProperty DescriçãoDescription
GroupNameGroupName O nome do grupo para o qual você deseja garantir um estado específico.The name of the group for which you want to ensure a specific state.
CredentialCredential As credenciais necessárias para acessar recursos remotos.The credentials required to access remote resources. Observação: essa conta deve ter as permissões apropriadas do Active Directory para adicionar todas as contas não locais ao grupo; caso contrário, ocorrerá um erro quando a configuração for executada no nó de destino.Note: This account must have the appropriate Active Directory permissions to add all non-local accounts to the group; otherwise, an error occurs when the configuration is executed on the target node.
DescriçãoDescription A descrição do grupo.The description of the group.
EnsureEnsure Indica se o grupo existe.Indicates if the group exists. Defina essa propriedade como "Absent" para garantir que o grupo não exista.Set this property to "Absent" to ensure that the group does not exist. Ao defini-la como "Present" (o valor padrão), você garante que o grupo exista.Setting it to "Present" (the default value) ensures that the group exists.
MembrosMembers Use essa propriedade para substituir a associação ao grupo pelos membros especificados.Use this property to replace the current group membership with the specified members. O valor dessa propriedade é uma matriz de cadeias de caracteres do formulário Domínio\NomeDoUsuário.The value of this property is an array of strings of the form Domain\UserName. Se você definir essa propriedade em uma configuração, não use a propriedade MembersToExclude ou MembersToInclude.If you set this property in a configuration, do not use either the MembersToExclude or MembersToInclude property. Isso gerará um erro.Doing so generates an error.
MembersToExcludeMembersToExclude Use essa propriedade para remover membros da associação existente do grupo.Use this property to remove members from the existing membership of the group. O valor dessa propriedade é uma matriz de cadeias de caracteres do formulário Domínio\NomeDoUsuário.The value of this property is an array of strings of the form Domain\UserName. Se você definir essa propriedade em uma configuração, não use a propriedade Membros.If you set this property in a configuration, do not use the Members property. Isso gerará um erro.Doing so generates an error.
MembersToIncludeMembersToInclude Use essa propriedade para adicionar membros à associação existente do grupo.Use this property to add members to the existing membership of the group. O valor dessa propriedade é uma matriz de cadeias de caracteres do formulário Domínio\NomeDoUsuário.The value of this property is an array of strings of the form Domain\UserName. Se você definir essa propriedade em uma configuração, não use a propriedade Membros.If you set this property in a configuration, do not use the Members property. Isso vai gerar um erro.Doing so will generate an error.
DependsOnDependsOn Indica que a configuração de outro recurso deve ser executada antes de ele ser configurado.Indicates that the configuration of another resource must run before this resource is configured. Por exemplo, se a ID do bloco de script de configuração do recurso que você deseja executar primeiro for ResourceName e seu tipo for ResourceType, a sintaxe para usar essa propriedade será DependsOn = "[ResourceType]ResourceName"`.For example, if the ID of the resource configuration script block that you want to run first is ResourceName and its type is ResourceType, the syntax for using this property is DependsOn = "[ResourceType]ResourceName"`.

Exemplo 1Example 1

O exemplo a seguir mostra como garantir que um grupo chamado "TestGroup" esteja ausente.The following example shows how to ensure that a group called "TestGroup" is absent.

Group GroupExample
{
    # This removes TestGroup, if present
    # To create a new group, set Ensure to "Present“
    Ensure = "Absent"
    GroupName = "TestGroup"
}

Exemplo 2Example 2

O exemplo a seguir mostra como adicionar um usuário do Active Directory ao grupo de administradores locais como parte de um build de laboratório com vários computadores, em que você já está usando um PSCredential para a conta de Administrador Local.The following example shows how to add an Active Directory User to the local administrators group as part of a Multi-Machine Lab build where you are already using a PSCredential for the Local Adminstrator account. Como isso também é usado para a conta de administrador do domínio (após a promoção do domínio), precisamos converter esse PSCredential existente em uma credencial de domínio amigável para adicionar um usuário de domínio ao grupo de Administradores Locais no servidor membro.As this is also used for the Domain Admin Account (after Domain promotion) we then need to convert this existing PSCredential to a Domain Friendly credential to enable us to add a Domain User to the Local Administrators Group on the Member server.

@{
    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
        }

Exemplo 3Example 3

O exemplo a seguir mostra como verificar se um grupo local, TigerTeamAdmins, no servidor TigerTeamSource.Contoso.Com, não contém uma conta de domínio específico, Contoso\JerryG.The following example shows how to ensure a local group, TigerTeamAdmins, on the server TigerTeamSource.Contoso.Com does not contain a particular domain account, Contoso\JerryG.


Configuration SecureTigerTeamSrouce 
{
  Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

  Node TigerTeamSource.Contoso.Com {
  Group TigerTeamAdmins
    {
       GroupName        = 'TigerTeamAdmins'   
       Ensure           = 'Absent'             
       MembersToInclude = "Contoso\JerryG"
    }
  }
}