1

DSC 展開を更新して、部分的な構成を使用して構成を分割しようとしています。そのためには、プッシュではなくプル プロセスを使用する必要があります。

次のような LCM の構成を適用しようとすると、次のようになります。

[DscLocalConfigurationManager()]
Configuration CreateGESService
{
param(
    [Parameter(Mandatory=$true)] 
    [ValidateNotNullorEmpty()] 
    [PsCredential] $InstallCredential,
    [Parameter(Mandatory=$true)] 
    [ValidateNotNullorEmpty()] 
    [PsCredential] $RunCredential
)

Node $AllNodes.NodeName
{

    $hostVersion = (get-host).Version
    # changed how the possible values for debugMode in the February build
    if (($hostVersion.Major -ge 5) -and ($hostVersion.Minor -ge 0) -and ($hostVersion.Build -ge 9842)){
        $debugMode = 'All'
    }
    else{
        $debugMode = $true
    }
    #setup the localConfigManager
    Settings 
    {
         #CertificateID = $node.Thumbprint
         # slower performance - and only available WMF5
         # now we need to kill the dsc
         DebugMode = $debugMode
         ConfigurationMode = 'ApplyAndAutoCorrect'
         ConfigurationModeFrequencyMins = '15'
         AllowModuleOverwrite = $true
         RefreshMode = 'Push'
         ConfigurationID = $node.ConfigurationID
    }

    PartialConfiguration GetEventStoreConfiguration {
        Description = "Contains the stuff for GetEventStore Being Installed"
        ConfigurationSource = "[ConfigurationRepositoryShare]ConfigSource"
        RefreshMode = "Pull"
    }

    PartialConfiguration ExternalIntegrationConfiguration{
        Description = "Contains the stuff for External Integration"
        ConfigurationSource = "[ConfigurationRepositoryShare]ConfigSource"
        DependsOn = '[PartialConfiguration]GetEventStoreConfiguration'
        RefreshMode = "Pull"
    }

    PartialConfiguration ServeGroupSpike{
        Description = "Contains the stuff for External Integration"
        ConfigurationSource = "[ConfigurationRepositoryShare]ConfigSource"
        DependsOn = '[PartialConfiguration]ExternalIntegrationConfiguration'
        RefreshMode = "Pull"
    }

    ConfigurationRepositoryShare ConfigSource{
        SourcePath = "\\someServer\Shared\dscService\Configuration"
        Credential = $InstallCredential
    }

    ResourceRepositoryShare ResourceSource{
        SourcePath = "\\someServer\Shared\dscService\Resources"
        Credential = $InstallCredential
    }
}

CertificateID を含めようとすると、次のようなエラーが表示されます。

The property CertificateID of metaconfiguration is not compatible with the current version 2.0.0 of the configuration
document. This property only works with version greater than or equal to 1.0.0 . In case the version is greater, then
the property MinimumCompatibleVersion should be set to atleast 1.0.0 . Set these properties in the
OMI_ConfigurationDocument instance in the document and try again.
    + CategoryInfo          : InvalidArgument: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : MI RESULT 4
    + PSComputerName        : SGSpike-Main

当然のことながら、構成を適用しようとすると、渡された資格情報を復号化できず、イベント ビューに次のようなエラーが表示されます。

Job {B37D5239-EDBA-11E4-80C2-00155D9ACA1F} : 
WarningMessage An error occured while applying the partial configuration [PartialConfiguration]ExternalIntegrationConfiguration. The error message is : 
The Local Configuration Manager is not configured with a certificate. Resource '[File]GpgProgram' in configuration 'ExternalIntegrationConfiguration' cannot be processed..

これを行う方法はありますか?プッシュ モデルで単一の構成を使用していたときに、これを certificateID と連携させました。

4

1 に答える 1

0

2015 年 4 月のドロップでさえ、問題はまだ存在しているようです。さらに診断すると、次のことが可能になります。

  1. 部分的な構成を使用しない
  2. 資格情報の暗号化に証明書を使用しない

https://connect.microsoft.com/PowerShell/Feedback/Details/1292678で接続に関する問題を開きました (詳細をいくつか示します) 。

于 2015-05-01T18:02:39.300 に答える