Tài nguyên nhóm PowerShell DSC - Không thể tìm thấy hiệu trưởng với tên được cung cấp


8

Tôi đang cố gắng sử dụng PowerShell DSC để thêm một nhóm miền vào nhóm quản trị viên cục bộ. Đây là mã:

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

Điều này dẫn đến lỗi sau khi tôi chạy nó:

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

Hiệu trưởng tồn tại và tôi có thể thêm nó thủ công thông qua GUI và sử dụng net localgroup.

Tôi biết rằng các cấu hình DSC được thực thi trong SYSTEMtài khoản nên tôi nghĩ đó có thể là vấn đề về quyền với SYSTEMtài khoản muốn truy vấn Active Directory. Tuy nhiên, tôi đã chạy một cmd với tư cách là SYSTEMtài khoản sử dụng PsExec và tôi đã có thể thêm một nhóm miền vào nhóm quản trị viên cục bộ mà không gặp rắc rối nào.

Câu trả lời:


4

Bạn phải xác định thông tin đăng nhập:

Thí dụ:

Cách để có được thông tin đăng nhập:

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

Và đây là mã bạn cần để cấu hình tài nguyên 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
    }
}

Sau đó, chỉ cần thực hiện

ProcessDscResources -ConfigurationData $ConfigurationData -OutputPath $folderPathTmp

Start-DscConfiguration -Wait -Force -Path $folderPathTmp

Cảm ơn rất nhiều @Jupaoi, điều này rất hữu ích và không có giấy tờ trong các tài liệu chính thức.
Nathan

Có cách nào để nói với nó không, chỉ nên sử dụng "thông tin đăng nhập hiện tại"
TGlatzer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.