Sumber Daya Grup DSC

Berlaku Untuk: Windows PowerShell 4.0, Windows PowerShell 5.x

Sumber daya Grup di Windows PowerShell Desired State Configuration (DSC) menyediakan mekanisme untuk mengelola grup lokal pada simpul target.

Catatan

Dokumentasi sumber daya DSC ini mencakup versi yang disertakan dengan PowerShell sebelum versi 7.2. Modul PSDscResources berisi Sumber Daya DSC baru dan yang diperbarui yang secara resmi didukung oleh Microsoft. Modul PSDscResources tersedia dari Galeri PowerShell.

Untuk informasi selengkapnya dan dokumentasi yang diperbarui, lihat dokumentasi referensi PSDscResources.

Sintaks

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

Properti

Properti Deskripsi
GroupName Nama grup yang ingin Anda pastikan statusnya tertentu.
Kredensial Kredensial yang diperlukan untuk mengakses sumber daya jarak jauh. Akun ini harus memiliki izin Direktori Aktif yang sesuai untuk menambahkan semua akun non-lokal ke grup; jika tidak, kesalahan terjadi ketika konfigurasi dijalankan pada simpul target.
Deskripsi Deskripsi grup.
Anggota Gunakan properti ini untuk mengganti keanggotaan grup saat ini dengan anggota yang ditentukan. Nilai properti ini adalah array string formulir Domain\UserName. Jika Anda mengatur properti ini dalam konfigurasi, jangan gunakan properti MembersToExclude atau MembersToInclude . Melakukannya menghasilkan kesalahan.
MembersToExclude Gunakan properti ini untuk menghapus anggota dari keanggotaan grup yang ada. Nilai properti ini adalah array string formulir Domain\UserName. Jika Anda mengatur properti ini dalam konfigurasi, jangan gunakan properti Anggota . Melakukannya menghasilkan kesalahan.
MembersToInclude Gunakan properti ini untuk menambahkan anggota ke keanggotaan grup yang sudah ada. Nilai properti ini adalah array string formulir Domain\UserName. Jika Anda mengatur properti ini dalam konfigurasi, jangan gunakan properti Anggota . Melakukannya akan menghasilkan kesalahan.

Properti umum

Properti Deskripsi
DependsOn Menunjukkan bahwa konfigurasi sumber daya lain harus berjalan sebelum sumber daya ini dikonfigurasi. Misalnya, jika ID blok skrip konfigurasi sumber daya yang ingin Anda jalankan terlebih dahulu adalah ResourceName dan jenisnya adalah ResourceType, sintaks untuk menggunakan properti ini adalah DependsOn = "[ResourceType]ResourceName".
Pastikan Menunjukkan apakah grup ada. Atur properti ini ke Tidak Ada untuk memastikan bahwa grup tidak ada. Mengaturnya ke Sajikan memastikan bahwa grup ada. Nilai defaultnya adalah Ada.
PsDscRunAsCredential Mengatur kredensial untuk menjalankan seluruh sumber daya sebagai.

Catatan

Properti umum PsDscRunAsCredential ditambahkan dalam WMF 5.0 untuk memungkinkan menjalankan sumber daya DSC apa pun dalam konteks info masuk lainnya. Untuk informasi selengkapnya, lihat Menggunakan Kredensial dengan Sumber Daya DSC.

Contoh 1: Pastikan grup tidak ada

Contoh berikut menunjukkan cara memastikan bahwa grup yang disebut "TestGroup" tidak ada.

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

Contoh 2: Menambahkan pengguna domain ke grup lokal

Contoh berikut menunjukkan cara menambahkan Pengguna Direktori Aktif ke grup administrator lokal sebagai bagian dari build Lab Multi-Mesin tempat Anda sudah menggunakan PSCredential untuk akun Administrator Lokal. Karena ini juga digunakan untuk Domain Admin Account (setelah promosi Domain), kita kemudian perlu mengonversi PSCredential yang ada ini menjadi kredensial Domain Friendly. Kemudian kita dapat menambahkan Pengguna Domain ke Grup Administrator Lokal di server Anggota.

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

Contoh: 3

Contoh berikut menunjukkan cara memastikan grup lokal, TigerTeamAdmins, di server TigerTeamSource.Contoso.Com tidak berisi akun domain tertentu, Contoso\JerryG.

Configuration SecureTigerTeamSource {
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

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