Skip to content

WindowsCapability: Specified Windows Capability not found #454

Open

Description

@Zachareee

Problem description

When trying to run winget configure test configuration.yaml (contents of the yaml file below) using the WindowsCapability resource, I get an error:

  The configuration unit failed while attempting to test the current system state.
Specified Windows Capability 'OpenSSH.Server~~~~0.0.1.0' not found. (Parameter 'Name')
<See the log file for additional details>
Some of the configuration units failed while testing their state.

I've tried it with both OpenSSH.Server and OpenSSH.Client as specified in the wiki example but I had no luck, the log file is not created either

Verbose logs

No logs were created

DSC configuration

# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
properties:
  configurationVersion: "0.2.0"
  resources:
    - resource: ComputerManagementDsc/WindowsCapability
      settings:
        Name: OpenSSH.Server~~~~0.0.1.0
        LogPath: C:\Temp\Logfile.log

Suggested solution

Not sure what is the fix

Operating system the target node is running

OsName               : Microsoft Windows 11 Home
OsOperatingSystemSKU : WindowsHome
OsArchitecture       : 64-bit
WindowsVersion       : 2009
WindowsBuildLabEx    : 26100.1.amd64fre.ge_release.240331-1435
OsLanguage           : en-US
OsMuiLanguages       : {en-US, en-GB, ja-JP, ko-KR…}

PowerShell version and build the target node is running

Name                           Value
----                           -----
PSVersion                      7.5.2
PSEdition                      Core
GitCommitId                    7.5.2
OS                             Microsoft Windows 10.0.26100
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

ComputerManagementDsc version

Unsure, ran using winget

Activity

  1. gtbuchanan commented on Dec 15, 2025

    @gtbuchanan

    Yes, this one has some odd behavior. The issue appears to be related to permissions, but adding securityContext: elevated to the winget YAML results in the same error. I ended up doing this as a workaround:

        - resource: xPSDesiredStateConfiguration/xScript
          directives:
            allowPrerelease: true
            description: Enable Sudo
            securityContext: elevated
          id: sudo
          settings:
            GetScript: |
              @{ Result = (sudo config) }
            TestScript: |
              $Result = (sudo config 2> $null)
              $Result -ne $null -and $Result.Contains("Inline")
            SetScript: |
              sudo config --enable normal
        - resource: xPSDesiredStateConfiguration/xScript
          dependsOn: [sudo]
          directives:
            description: Install OpenSSH Client
          id: openssh
          settings:
            GetScript: |
              $Command = "(Get-WindowsCapability -Online -Name 'OpenSSH.Client~~~~0.0.1.0').State"
              $EncodedCommand = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($Command))
              $State = (sudo --disable-input powershell -EncodedCommand $EncodedCommand)
              @{ Result = $State }
            TestScript: |
              $Command = "(Get-WindowsCapability -Online -Name 'OpenSSH.Client~~~~0.0.1.0').State"
              $EncodedCommand = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($Command))
              $State = (sudo --disable-input powershell -EncodedCommand $EncodedCommand)
              $State -Eq 'Installed'
            SetScript: |
              $Command = "Add-WindowsCapability -Online -Name 'OpenSSH.Client~~~~0.0.1.0'"
              $EncodedCommand = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($Command))
              sudo --disable-input powershell -EncodedCommand $EncodedCommand
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions