Share via


Festlegen 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 nur eine angegebene Liste von Mitgliedern enthält.

Mit dem Festlegen auf Present "Sicherstellen" und " GroupName " auf GroupName1"Sicherstellen" fügt die Ressource die GroupName1 lokale Gruppe hinzu, wenn sie nicht vorhanden ist.

Mit Mitgliedern, die auf ein Array festgelegt Username1 sind, fügt Username1 die Ressource hinzu und Username2Username2 als Mitglieder, wenn sie nicht bereits Mitglieder GroupName1 sind. Wenn andere Konten Mitglieder GroupName1sind, entfernt die Ressource sie aus der Gruppe.

Mit Invoke-DscResource

Dieses Skript zeigt, wie Sie die Ressource mit dem Invoke-DscResource Cmdlet verwenden können, um sicherzustellen, dass die Group lokale Gruppe GroupName1 nur Username2Username1 mit mitgliedern vorhanden ist.

[CmdletBinding()]
param()

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

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

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

In diesem Codeausschnitt wird gezeigt, wie Sie einen GroupConfiguration Ressourcenblock definieren können, um sicherzustellen, dass die lokale Gruppe GroupName1 nur Username1Username2 mit mitgliedern vorhanden ist.

Configuration SetMembers {
    Import-DscResource -ModuleName 'PSDscResources'

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