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
プリンシパルは存在し、GUIを介してnet localgroup
を使用して手動で追加できます。
DSC構成がSYSTEM
アカウントで実行されることを知っているので、ActiveDirectoryにクエリを実行するSYSTEM
アカウントのアクセス許可の問題である可能性があると思いました。ただし、PsExecを使用してSYSTEM
アカウントとしてcmdを実行し、問題なくローカル管理者グループにドメイングループを追加することができました。
資格情報を指定する必要があります。
例:
資格情報を取得する方法:
$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