Я пытаюсь использовать PowerShell DSC для добавления группы домена в группу локальных администраторов. Вот код:
Configuration TestSetup {
Node localhost {
Group Administrators {
GroupName = "Administrators"
MembersToInclude = "MYDOMAIN\TheAdministratorsGroup"
}
}
}
Это приводит к следующей ошибке при запуске:
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
Принципал существует, и я могу добавить его вручную через графический интерфейс и используя net localgroup
.
Я знаю, что конфигурации DSC выполняются под SYSTEM
учетной записи, поэтому я подумал, что это может быть проблема с разрешениями с SYSTEM
учетная запись, желающая запросить Active Directory. Однако я запустил cmd как SYSTEM
учетную запись с помощью PsExec, и я смог без проблем добавить группу домена в группу локальных администраторов.
Вы должны указать учетные данные:
Пример:
Способ получения учетных данных:
$securedstring = ConvertTo-SecureString -String $Password -AsPlainText -Force
[PSCredential]$cred = New-Object System.Management.Automation.PSCredential ($UserName, $securedstring)
И это код, который вам нужен для настройки ресурса 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
}
}
Затем просто выполните
ProcessDscResources -ConfigurationData $ConfigurationData -OutputPath $folderPathTmp
Start-DscConfiguration -Wait -Force -Path $folderPathTmp