Sumber Daya Grup PowerShell DSC - “Tidak dapat menemukan kepala sekolah dengan nama yang disediakan”

8

Saya mencoba menggunakan PowerShell DSC untuk menambahkan grup domain ke grup administrator lokal. Ini kodenya:

Configuration TestSetup {
    Node localhost {
        Group Administrators {
            GroupName = "Administrators"
            MembersToInclude = "MYDOMAIN\TheAdministratorsGroup"
        }
    }
}

Ini menghasilkan kesalahan berikut ketika saya menjalankannya:

PowerShell provider MSFT_GroupResource  failed to execute Test-TargetResource functionality with error message: Could not find a principal with the provided name [mydomain\theadministratorsgroup]
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : ProviderOperationExecutionFailure
    + PSComputerName        : localhost

Prinsipal memang ada dan saya bisa menambahkannya secara manual melalui GUI dan menggunakan net localgroup.

Saya tahu bahwa konfigurasi DSC dijalankan di bawah SYSTEMakun, jadi saya pikir itu mungkin masalah izin dengan SYSTEMakun yang ingin menanyakan Direktori Aktif. Namun saya telah menjalankan cmd sebagai SYSTEMakun menggunakan PsExec dan saya dapat menambahkan grup domain ke grup administrator lokal tanpa masalah.

Richard
sumber

Jawaban:

4

Anda harus menentukan kredensial:

Contoh:

Cara untuk mendapatkan kredensial:

$securedstring = ConvertTo-SecureString -String $Password -AsPlainText -Force
[PSCredential]$cred = New-Object System.Management.Automation.PSCredential ($UserName, $securedstring)

Dan ini adalah kode yang Anda butuhkan untuk mengkonfigurasi sumber daya DSC

$ConfigurationData = @{
    AllNodes = @(
        @{
            NodeName="*"
            PSDscAllowPlainTextPassword=$true
         }
        @{
            NodeName="SRV2-WS2012R2"
         }
        @{
            NodeName="SRV3-WS2012R2"
         }
   )
}


Node $AllNodes.NodeName
{
    LocalConfigurationManager
    {
        RebootNodeIfNeeded = $false
    }

    Group $group.Name
    {
        GroupName = $group.Name
        Ensure = $group.Ensure
        Members = $group.Members
        Credential = $cred
    }
}

Maka cukup jalankan

ProcessDscResources -ConfigurationData $ConfigurationData -OutputPath $folderPathTmp

Start-DscConfiguration -Wait -Force -Path $folderPathTmp
Jupaol
sumber
Terima kasih banyak @Jupaoi, ini sangat membantu dan tidak memiliki dokumen resmi.
Nathan
Apakah ada cara untuk mengatakannya, seharusnya hanya menggunakan "kredensial saat ini"
TGlatzer