PowerShell / PowerShell/DSC

Calling "PSDesiredStateConfiguration/WindowsOptionalFeature" Fails with Error

Open
#1,283 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Bug Need-Review
Dominant language
Rust
Stars
523
Forks
75
Avg merge
3d 16h
Merged PRs (30d)
24

Description

Prerequisites
  • Write a descriptive title.
  • Make sure you are able to repro it on the latest version
  • Search the existing issues.
Summary

I have been experimenting with DSC and have encountered an Error with what i belive is the "PSDesiredStateConfiguration/WindowsOptionalFeature" resource when using the attached document

test.config.dsc.yaml

I continuously encountered the following error:

NativeErrorCode : Failed
ErrorData       : MSFT_WmiError
MessageId       : MI RESULT 1
ErrorSource     :
ErrorType       : 0
StatusCode      : 1
Message         : A general error occurred that is not covered by a more specific error code.
Data            : {}
InnerException  :
TargetSite      : Void ProcessNativeCallback(Microsoft.Management.Infrastructure.Native.OperationCallbackProcessingContext, T, Boolean, Microsoft.Management.Infrastructure.Native.MiResult,
                  System.String, Microsoft.Management.Infrastructure.Native.InstanceHandle)
StackTrace      :    at Microsoft.Management.Infrastructure.Internal.Operations.CimAsyncObserverProxyBase`1.ProcessNativeCallback(OperationCallbackProcessingContext callbackProcessingContext,
                  T currentItem, Boolean moreResults, MiResult operationResult, String errorMessage, InstanceHandle errorDetailsHandle)
HelpLink        :
Source          : Microsoft.Management.Infrastructure
HResult         : -2146233088

When investigation dsc logs i have managed to identity this event

Job {DE97456C-C6CA-11F0-811C-010101010000} : 
Message Unable to cast object of type 'System.Management.Automation.PSObject' to type 'System.Object[]'. 
HResult -2147467262 
StackTrack    at System.Management.Automation.LanguagePrimitives.ConvertTo[T](Object valueToConvert)
   at Microsoft.PowerShell.DesiredStateConfiguration.Internal.ResourceProviderAdapter.GetPSObjectArrayValue(CimType cimType, Object propertyValue)
   at Microsoft.PowerShell.DesiredStateConfiguration.Internal.ResourceProviderAdapter.GetTargetResource(IntPtr resourceConfigurationInstanceHandle, IntPtr nonResourcePropetiesHandle, IntPtr metaConfigHandle, IntPtr regInstanceHandle, IStreamHandler plugInStreamsHandler, IntPtr& outputInstanceHandle, IntPtr& errorInstanceHandle)
   at Microsoft.PowerShell.DesiredStateConfiguration.Internal.DscPluginManagedEntryWrapper.Get(IntPtr provContext, IntPtr instance, IntPtr nonResourcePropeties, IntPtr metaConfig, IntPtr regInstance, IntPtr outputInstance, IntPtr extendedError)

followed by this one which i believe to be the cause of the issue

Job {DE97456C-C6CA-11F0-811C-010101010000} : 
MIResult: 1
Error Message: NULL
Message ID: NULL
Error Category: 0
Error Code: 0
Error Type: NULL
Steps to reproduce
  1. use the following config file
$schema: https://aka.ms/dsc/schemas/v3.0.0/config/document.json
resources:
  - name: "Enable HyperV"
    type: Microsoft.Windows/WindowsPowerShell
    properties:
      resources:
        - name: "Enable HyperV"
          type: "PSDesiredStateConfiguration/WindowsOptionalFeature"
          properties:
              Name: "Microsoft-Hyper-V-All"
  1. Execute the following command line with the saved config file

    dsc.exe config get --file "F:\Homelab_DSC\test.config.dsc.yaml" -o yaml
    
Expected behavior
i expect to get an actual result not an Error
Actual behavior
returns Error Message
Error details
NativeErrorCode : Failed
ErrorData       : MSFT_WmiError
MessageId       : MI RESULT 1
ErrorSource     :
ErrorType       : 0
StatusCode      : 1
Message         : A general error occurred that is not covered by a more specific error code.
Data            : {}
InnerException  :
TargetSite      : Void ProcessNativeCallback(Microsoft.Management.Infrastructure.Native.OperationCallbackProcessingContext, T, Boolean, Microsoft.Management.Infrastructure.Native.MiResult,
                  System.String, Microsoft.Management.Infrastructure.Native.InstanceHandle)
StackTrace      :    at Microsoft.Management.Infrastructure.Internal.Operations.CimAsyncObserverProxyBase`1.ProcessNativeCallback(OperationCallbackProcessingContext callbackProcessingContext,
                  T currentItem, Boolean moreResults, MiResult operationResult, String errorMessage, InstanceHandle errorDetailsHandle)
HelpLink        :
Source          : Microsoft.Management.Infrastructure
HResult         : -2146233088
Environment data
PSVersion                      5.1.26100.7019
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.26100.7019
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1,

PSVersion                      7.5.4
PSEdition                      Core
GitCommitId                    7.5.4
OS                             Microsoft Windows 10.0.26200
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Version

dsc 3.1.1

Visuals

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with test.config.dsc.yaml and the provided dsc.exe config get command. Trace the failure from ResourceProviderAdapter.GetPSObjectArrayValue in the reported stack trace and compare the WindowsOptionalFeature resource input with the logged cast error. Done means the configuration returns a result instead of the reported error.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell, yaml
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.