2016-04-20 10 views
1

Ich spiele um DSC, um 2 Knoten zu verwalten, ich war in der Lage, meinen Pull-Server einzurichten, aber das Problem ist jetzt Push/Pull-Konfiguration vom Pull-Server, die nicht funktioniert.DSC-Konfigurationsfehler

Ich habe versucht, das Problem zu beheben, und ich konnte den Fehler in der Antwort der GetAction-Anfrage sehen, aber ich weiß nicht, was es bedeutet.

http://server1:8080/PSDSCPullServer.svc/Action(ConfigurationId='8394f90e-0525-4d0d-aa75-653b64981fc4')/GetAction

{ 
    "odata.error": { 
    "code": "", 
    "message": { 
     "lang": "en-US", 
     "value": "nodeComplianceStatus or mofChecksum not found for MSFT.PSDSCAction." 
    }, 
    "innererror": { 
     "message": "nodeComplianceStatus or mofChecksum not found for MSFT.PSDSCAction.", 
     "type": "System.ArgumentException", 
     "stacktrace": "" 
    }, 
    "MODATA.Exception.ErrorRecord": { 
     "odata.type": "MODATA.Exception.DataServiceException", 
     "ErrorCode": "", 
     "MessageLanguage": "en-US", 
     "StatusCode": 400, 
     "Message": "nodeComplianceStatus or mofChecksum not found for MSFT.PSDSCAction.", 
     "Data": [], 
     "InnerException": { 
     "Message": "nodeComplianceStatus or mofChecksum not found for MSFT.PSDSCAction.", 
     "Data": [], 
     "InnerException": null, 
     "TargetSite": null, 
     "StackTrace": null, 
     "HelpLink": null, 
     "Source": null, 
     "HResult": -2147024809 
     }, 
     "TargetSite": null, 
     "StackTrace": " at Microsoft.Management.Odata.Core.OperationManagerAdapter.InvokeMethod(IInvoker invoker, String functionName, String resourceTypeName, Boolean ignoreNotImplementedException)\r\n at Microsoft.Management.Odata.Core.OperationManagerAdapter.InvokeOperationManagerFunction[T](Func`1 func, String functionName, String resourceTypeName, Boolean ignoreNotImplementedException, T defaultResultForNotImplementedException)\r\n at Microsoft.Management.Odata.Core.OperationManagerAdapter.InvokeAction(ResourceType resourceType, IEnumerable`1 resourceKeys, String actionName, IEnumerable`1 inputParameters, ResourceType returnType)\r\n at Microsoft.Management.Odata.Core.DataServiceInvokable.InvokeActionOnAst(RequestAstNode root)\r\n at Microsoft.Management.Odata.Core.DataServiceInvokable.Invoke()\r\n at Microsoft.Management.Odata.Core.DataServiceUpdateProvider.SaveChanges()\r\n at System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription description)\r\n at System.Data.Services.DataService`1.HandleRequest()", 
     "HelpLink": null, 
     "Source": "Microsoft.Management.OData", 
     "HResult": -2146233079 
    } 
    } 
} 

Jede Idee, was falsch ist?

Antwort

0

Wenn Sie eine Konfiguration auf einen Pull-Server stellen, müssen Sie eine Prüfsummendatei einschließen, die aus der Konfiguration generiert wird. Sie können dies mit the New-DscChecksum cmdlet erzeugen.

+0

Ich habe das getan, ich bin in der Lage, eine Konfiguration zu starten, und es funktioniert 'Start-DscConfiguration-Computer server1 -Path. \ DashboardWebsite -Verbose' –

+0

@AetiloyePhilipKehinde Ihre Fehlermeldung ist ausdrücklich, dass es nicht finden kann Prüfsummendatei. Sie haben 2 Dateien für jede Konfiguration? Genannt identisch außer '.checksum'? Beachten Sie, dass Prüfsummen-Dateien für Push-Konfigurationen nicht benötigt werden, so dass 'Start-DscConfiguration' bei einer fehlenden Prüfsumme nicht fehlschlägt. – briantist

+0

Ja, ich habe beide Dateien '8394f90e-0525-4d0d-aa75-653b64981fc4.mof' und' 8394f90e-0525-4d0d-aa75-653b64981fc4.mof.checksum' in meinem Konfigurationsverzeichnis '\\ server1 \ c $ \ program files \ windowspowershell \ dscservice \ configuration' –

0

Aus dem Fehler scheint, dass der Aufruf DSC Pull Service Endpunkt nicht erreicht und wird von OData-Dienst als etwas aus dem Körper der Anfrage fehlt abgelehnt. Sie können die Anfrage mit Invoke-WebRequest zur Fehlerbehebung versuchen.

$bodyArgs = @{Checksum="somechecksum"; ChecksumAlgorithm="SHA 256";NodeCompliant="false"} 
$jsonBodyArgs = $bodyArgs|ConvertTo-Json 

Invoke-WebRequest -Uri "http://server1:8080/PSDSCPullServer.svc/Action(ConfigurationId='8394f90e-0525-4d0d-aa75-653b64981fc4')/GetAction" 
-UseBasicParsing -Method Post -Body $jsonBodyArgs -Headers @{Accept="application/json"} -ContentType "application/json;odata=minimalmetadata;charset=utf-8" 

Pull-Serverprotokolle enthalten Informationen zu den Fehlern, die an den Knoten gemeldet wurden. Protokolle können abgerufen werden:

Get-WinEvent -LogName 
"Microsoft-Windows-Powershell-DesiredStateConfiguration-PullServer/Operational" 

Get-WinEvent -LogName 
"Microsoft-Windows-ManagementOdataService/Operational" 

Diese Protokolle enthalten im Allgemeinen ausreichende Informationen zur Problembehandlung des zugrunde liegenden Problems.

0

Versuchen Sie zu überprüfen, ob Ihr Pullserver tatsächlich auf proram files \ windowspowershell und nicht auf Programmdateien (x86) \ windowspowershell zeigt. Das könnte das Problem sein. DSC-Fehlermeldungen sind nicht immer sehr hilfreich.
Sehen Sie in der Pullweb-Datei webconfig nach, wo der Pullserver versucht, seine Konfigurationen für die Clients zu übernehmen.