Share via


Entfernen von Mitgliedern einer Gruppe

Beschreibung

In diesem Beispiel wird gezeigt, wie Sie die Group Ressource verwenden können, um sicherzustellen, dass eine Gruppe vorhanden ist und eine angegebene Liste von Mitgliedern ausgeschlossen wird.

Wenn "Sicherstellen" auf "Set" und "GroupName1GroupName" Present festgelegt ist, fügt die Ressource die GroupName1 lokale Gruppe hinzu, wenn sie nicht vorhanden ist.

Wenn "MembersToExclude" auf ein Array Username1 von und " festgelegt ist, entfernt Username1 und Username2Username2 aus GroupName1 der Ressource, wenn sie Mitglieder sind. Die Gruppenmitgliedschaft aller anderen Konten wird ignoriert.

Mit Invoke-DscResource

Dieses Skript zeigt, wie Sie die Group Ressource mit dem Invoke-DscResource Cmdlet verwenden können, um sicherzustellen, dass die lokale Gruppe GroupName1 vorhanden ist und keine Mitglieder enthält Username1 oder Username2 als Mitglieder.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'Group'
        ModuleName = 'PSDscResource'
        Properties = @{
            GroupName        = 'GroupName1'
            Ensure           = 'Present'
            MembersToExclude = @(
                'Username1'
                'Username2'
            )
        }
    }

    $NonGetProperties = @(
        'Ensure'
        'MembersToExclude'
    )
}

process {
    $TestResult = Invoke-DscResource -Method Test @SharedParameters

    if ($TestResult.InDesiredState) {
        $QueryParameters = $SharedParameters.Clone()

        foreach ($Property in $NonGetProperties) {
            $QueryParameters.Properties.Remove($Property)
        }

        Invoke-DscResource -Method Get @QueryParameters
    } else {
        Invoke-DscResource -Method Set @SharedParameters
    }
}

Mit einer Konfiguration

Dieser Codeausschnitt zeigt, wie Sie einen ConfigurationGroup Ressourcenblock definieren können, um sicherzustellen, dass die lokale Gruppe GroupName1 vorhanden ist und keine Mitglieder enthält Username1 oder Username2 als Mitglieder.

Configuration RemoveMembers {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Group ExampleGroup {
            GroupName        = 'GroupName1'
            Ensure           = 'Present'
            MembersToExclude = @(
                'Username1'
                'Username2'
            )
        }
    }
}