Custom DSC resource not recognized


I tried creating the custom resource by following the blog using XDscResourceDesigner

I am able to import the module but when I run the Get-DscResource then I am getting follwing error ::

CheckResourceFound : The term ‘AppPoolServiceAccount’ is not recognized as the name of a Resource.

  •         CheckResourceFound $name $resources
  •         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    • CategoryInfo : NotSpecified: (:slight_smile: [Write-Error], WriteErrorException
    • FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,CheckResourceFound

I have also checked the folder structure it is as below:

C:\Program Files\Windows Powershell\Modules
.psm1 (file)
.schema.mof (file)

Any Help is appreciated :slight_smile:

I think your original post might have contained angle brackets, which the forum software currently eats and tries to process as HTML. Here’s what the folder structure should look like:

C:\Program Files\WindowsPowerShell\Modules\ModuleName

ModuleName and ResourceModuleName can be anything you like, so long as they match up between the folders and files. The schema.mof file will typically assign a friendly name to your classes so people don’t have to remember something like PSHOrg_cSmbShare.

Thanks for the reply ,

The folder structure is same as that you mentioned but path to the Modules folder is C:\Program Files\WindowsPowerShell\Modules and this path is included in the PSModulePath.

Whoops, you’re right. I had “WindowsPowerShell” on the brain and wound up typing “Windows\PowerShell” :slight_smile: I’ll fix the previous post.

Also, check out the DSC Resource Kit modules - they exhibit the correct structure, and it might be easier to see it right on your own system.

I don’t know what your module name is, but it looks like your resource is named AppPoolServiceAccount. So your directory structure should look like this:

C:\Program Files
+ WindowsPowerShell
  + Modules
    + ModuleName
      * ModuleName.psm1
      + DSCResources
        + AppPoolServiceAccount
          * AppPoolServiceAccount.psm1
          * AppPoolServiceAccount.schema.mof

Have you imported your resource in your configuration block?

Import-DscResource -ModuleName 'ModuleName' -Name '*'   # I've never been able to import specific resources with Import-DscResource

What is the name of your resource in its schema.mof file? If it isn’t the same as in the file system, it won’t load. I don’t remember if it is the same error you’re getting, though.

[ClassVersion(""), FriendlyName("AppPoolServiceAccount")]
class AppPoolServiceAccount: OMI_BaseResource