WindowsマシンをAzureDSC自動化に参加させるのに問題があります。次のエラーが発生します:
サーバーhttps:// azureserver/accounts/XXXXXXXXXXXXXXXXXXXXへのDscエージェントの登録に失敗しました。根本的なエラーは次のとおりです。DscエージェントをAgentId XXXXXXXXXXXXXXXXXXXXXXでサーバーhttps:// azureserver/accounts/XXXXXXXXXXXXXXXXXXXX/Nodes(AgentId = 'XXXXXXXXXXXXXXXXXXXXXX')に登録しようとすると、予期しない応答コード 。 。 + CategoryInfo:InvalidResult:(root/Microsoft/... gurationManager:String)[]、CimException + FullyQualifiedErrorId:RegisterDscAgentUnsuccessful、Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand + PSComputerName:Azure-TEST
これが私のメタmof設定です
param( [Parameter(Mandatory = $ True)] [String] $ RegistrationUrl、 [Parameter(Mandatory = $ True) ] [String] $ RegistrationKey、 [Parameter(Mandatory = $ True)] [String []] $ ComputerName、 [Int] $ RefreshFrequencyMins = 30、 [Int] $ ConfigurationModeFrequencyMins = 15、 [String] $ ConfigurationMode = "ApplyAndMonitor"、 [String] $ NodeConfigurationName ) [DscLocalConfigurationManager()] Configuration DscMetaConfigs { param ( [Parameter(Mandatory = $ True)] [String] $ RegistrationUrl、 [Parameter(Mandatory = $ True)] [String] $ RegistrationKey、 [Parameter(Mandatory = $ True)] [String []] $ ComputerName、 [Int] $ RefreshFrequencyMins = 30、 [Int] $ ConfigurationModeFrequencyMins = 15、 [String] $ ConfigurationMode = "ApplyAndMonitor"、 [String] $ NodeConfigurationName、 [Boolean] $ RebootNodeIfNeeded = $ False、 [String] $ ActionAfterReboot = "ContinueConfiguration"、 [Boolean] $ AllowModuleOverwrite = $ False、 [Boolean] $ ReportOnly = $ False ) if(!$ NodeConfigurationName-または$ NodeConfigurationName -eq "") { $ ConfigurationNames = $ null } else { $ ConfigurationNames = @($ NodeConfigurationName) } if($ ReportOnly) { $ RefreshMode = "Push" } else { $ RefreshMode = "PULL" } Node $ ComputerName { 設定 { RefreshFrequencyMins = $ RefreshFrequencyMins RefreshMode = $ RefreshMode ConfigurationMode = $ ConfigurationMode AllowModuleOverwrite = $ AllowModuleOverwrite RebootNodeIfNeeded = $ RebootNodeIfNeeded [.____ .____。] ConfigurationModeFrequencyMins = $ ConfigurationModeFrequencyMins } if(!$ ReportOnly) { ConfigurationRepositoryWeb AzureAutomationDSC { ServerUrl = $ RegistrationUrl RegistrationKey = $ RegistrationKey ConfigurationNames = $ ConfigurationNames } ResourceRepositoryWeb AzureAutomationDSC { ServerUrl = $ RegistrationUrl RegistrationKey = $ RegistrationKey } } ReportServerWeb AzureAutomationDSC { ServerUrl = $ RegistrationUrl RegistrationKey = $ RegistrationKey } } } DscMetaConfigs -RegistrationUrl $ RegistrationUrl -RegistrationKey $ RegistrationKey -ComputerName $ env:COMPUTERNAME -NodeConfigurationName $ NodeConfigurationName
エンドユーザーが必要な情報(登録キー、URLなど)を入力し、メタmofを生成して、それをLCMにフィードできるようにするスクリプトがあります。しかし、実行しようとすると、前述のエラーが発生します。
関連するDSCイベントエラーログは次のとおりです
ジョブ{6E7C0C83-BD69-11E7-BD75-005056852B86}: HttpクライアントXXXXXXXXXXXXXXXXXXXXXXが構成のWebReportManagerで失敗しました FullyQualifiedErrorId:ReportManagerSendStatusReportUnsuccessful CategoryInfo:In )[]、InvalidOperationException ExceptionMessage:ステータスレポートをサーバーに送信しようとしましたhttps:// azureserver/accounts/XXXXXXXXXXXXXXXXX/Nodes(AgentId = 'XXXXXXXXXXXXXXXXXXXXXXXXX')/ SendReportが予期しない応答コードを返しました。 。]、InnerException 。
何が問題になるのかについて誰かが何か考えを持っていますか?エラーを考えると、それは権限/認証に関連していると思いますが、キー以外に何ができるかわかりません。キーが正しいことを確認するために再確認しました。
私はまったく同じ問題を抱えていました、そして最終的に私は解決策を見つけました。
サーバー上のさまざまなDSC-Oaas
証明書をすべて削除します(Powershellを使用)。
gci cert: -Recurse | where friendlyname -eq "DSC-OaaS Client Authentication" | Remove-Item -Verbose
次に、サーバーをAzureAutomationに登録します。
EventViewerのDSCログを調べたところ、興味深いエントリがいくつか見つかりました。 Job
識別子に注意してください。
エントリのリストをさらに下に見て、同じJob
識別子を持つエントリを確認すると、AzureAutomationへの通信で使用された証明書を示すエントリが見つかりました。
証明書は、他の同様の証明書と一緒に、ローカルマシンの証明書ストアにありました。
friendlyname = DSC-OaaS Client Authentication
ですべての証明書を削除したとき
gci cert: -Recurse | where friendlyname -eq "DSC-OaaS Client Authentication" | Remove-Item -Verbose
..サーバーをAzureAutomationに正常に登録しました。