{"id":1941,"date":"2013-12-05T00:57:00","date_gmt":"2013-12-05T00:57:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/2013\/12\/05\/how-to-deploy-and-discover-windows-powershell-desired-state-configuration-resources\/"},"modified":"2019-02-18T13:05:27","modified_gmt":"2019-02-18T20:05:27","slug":"how-to-deploy-and-discover-windows-powershell-desired-state-configuration-resources","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/how-to-deploy-and-discover-windows-powershell-desired-state-configuration-resources\/","title":{"rendered":"How to Deploy and Discover Windows PowerShell Desired State Configuration Resources"},"content":{"rendered":"<p class=\"WordSection1\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">A Windows PowerShell Desired State Configuration (DSC) resource contains a module file (*.psm1), an optional data file (*.psd1),and a *.schema.mof file. Details about what each of those files should look like, and how you can create those files using a DSC Resource Designer Tool, are discussed in <\/span><a href=\"http:\/\/blogs.msdn.com\/b\/powershell\/archive\/2013\/11\/19\/resource-designer-tool-a-walkthrough-writing-a-dsc-resource.aspx\"><span style=\"line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">an earlier blog post<\/span><\/a><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">.&nbsp; In this blog post, we will explore the following.<\/span><\/p>\n<div class=\"WordSection1\">\n<ol>\n<li>\n<div class=\"MsoListParagraph\" style=\"margin: 0in 0in 0pt 0.75in;line-height: normal;text-indent: -0.25in\"><span style=\"color: #424242;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">How to deploy DSC resources to the local computer<\/span><\/div>\n<\/li>\n<li>\n<div class=\"MsoListParagraph\" style=\"margin: 0in 0in 0pt 0.75in;line-height: normal;text-indent: -0.25in\"><span style=\"color: #424242;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">How to discover the resources deployed, while authoring a new configuration<\/span><\/div>\n<\/li>\n<li>\n<div class=\"MsoListParagraph\" style=\"margin: 0in 0in 0pt 0.75in;line-height: normal;text-indent: -0.25in\"><span style=\"color: #424242;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">How to deploy resources to the pull server, and how the local configuration manager (LCM) locates the required resources on the pull server.<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div>\n<h2><span style=\"color: #0080ff\">Deploying DSC resources to the local computer<\/span><\/h2>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">All DSC resources should be deployed in the following folder hierarchy:-<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>$env: psmodulepath<\/strong> (folder)<\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;ModuleName&gt; (folder)<\/em><\/span><\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &nbsp;&lt;ModuleName.psd1&gt; (file,required)<\/em><\/span><\/em><\/span><\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- <strong>DSCResources<\/strong> (folder)<\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;DSCResourceName1&gt; (folder)<\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;DSCResourceName1.psd1&gt; (file, optional)<\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;DSCResourceName1.psm1&gt; (file, required)<\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;DSCResourceName1.schema.mof&gt; (file, required)<\/em><\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;DSCResourceName2&gt;(folder)<\/em><\/span><\/p>\n<p>&nbsp;<span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|- &lt;DSCResourceName2.psd1&gt; (file, optional)<\/em><\/span><\/p>\n<p><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;DSCResourceName2.psm1&gt; (file, required)<\/em><\/span><\/p>\n<p><em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- &lt;DSCResourceName2.schema.mof&gt; (file, required)<\/span><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;<\/span><\/em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/p>\n<p><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">Example:&nbsp; Suppose the Hyper-V team decided to add a resource named <strong>VM<\/strong> in to their existing PowerShell module under $pshome, Then the folder structure of their DSC resource would look like the following. <\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: #012456;line-height: normal;margin-bottom: 0pt\"><span style=\"color: white;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\Hyper-V\\DSCResources\\VM\\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span style=\"color: white;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -VM.psd1(optional)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span style=\"color: white;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -VM.psm1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span style=\"color: white;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -VM.Schema.mof<\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">Usually, the environment variable <strong>$env:psmodulePath<\/strong> contains more than one path, and you can deploy DSC resources in any one of the paths. But there are some subtle differences during authoring or applying configuration to the system. Because LCM runs in <strong>System context<\/strong>, applying a configuration fails if your resources module are not in the <strong>$pshome<\/strong> or <strong>$env:ProgramFiles <\/strong>folder. The differences in the authoring experience are discussed in this post, in the Import-DSCResources section.<\/span><\/p>\n<h2><span style=\"color: #0080ff\">How to use and discover DSC resources<\/span><\/h2>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">The number of PowerShell modules and cmdlets are increasing in every PowerShell release, hence increasing the number of results returned by Get-Module and Get-Command.&nbsp; To keep those cmdlets useful, DSC resources have been stored in a subfolder of a main PowerShell module folder. <\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">Because DSC Resources are not deployed directly under <strong>$env: psmodulepath<\/strong>, they cannot be discovered by running the <strong>Get-Module -List Available<\/strong> cmdlet. Get-Command for the GET\/SET\/TEST method of the resources will fail. Also, you can&rsquo;t import the DSC resource with a partial name, as shown in the following examples. <\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">Let us try to find <strong>MSFT_EnvironmentResource<\/strong>, one of the DSC resources which is shipped with PowerShell 4.0.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: blue;font-family: 'Lucida Console';font-size: 9pt\">Get-Module<\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"> <span style=\"color: blueviolet\">MSFT_EnvironmentResource<\/span> <span style=\"color: navy\">&ndash;ListAvailable<\/span>&nbsp;&nbsp; <span style=\"color: darkgreen\"># Empty result (module not found)<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: blue;font-family: 'Lucida Console';font-size: 9pt\">Get-Command Get-TargetResource <\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"><span style=\"color: darkgreen\"># Error: Command not found exception. <\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: blue;font-family: 'Lucida Console';font-size: 9pt\">Import-Module<\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"> <span style=\"color: blueviolet\">MSFT_EnvironmentResource<\/span> <span style=\"color: darkgreen\"># Error: ModuleNotFound <\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">You can, however, import the module by using its full path, like any PowerShell module, and call its GET\/SET\/TEST methods.<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: blue;font-family: 'Lucida Console';font-size: 9pt\">Import-Module<\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"> <span style=\"color: blueviolet\">C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\Modules\\PSDesiredStateConfiguration\\DSCResources\\MSFT_EnvironmentResource<\/span>&nbsp;<span style=\"color: darkgreen\"># Works <\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">There are two new cmdlets that are added in PowerShell 4.0 to help discover DSC resources.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span class=\"SubtitleChar\"><span style=\"font-family: 'Calibri','sans-serif'\"><span style=\"font-size: small\"><strong><span style=\"color: #0080ff\">Get-DscResource<\/span><\/strong>:<\/span><\/span><\/span><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"> Gets all the DSC resources. You can pass a resource name list to filter the result.<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Example:-<\/span><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><span style=\"color: #000080\">Get-DscResource Env*ment, Windows*, Log<\/span>&nbsp;&nbsp; <\/span><span style=\"color: #424242;line-height: 107%;font-family: wingdings;font-size: 9.5pt\" lang=\"EN\">&szlig;<\/span><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"> Returns all the resources that match the specified criteria.<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">So one way to test if your resources are deployed correctly is to see if they are being discovered by Get-DscResource.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span class=\"SubtitleChar\"><span style=\"font-family: 'Calibri','sans-serif'\"><strong><span style=\"color: #0080ff;font-size: small\">Import-DscResource<\/span><\/strong>:<\/span><\/span><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp; Import-DScResource is a dynamic keyword which can only be used inside a Configuration script block. When you are authoring a new configuration, you must import the resources needed by your configuration using this cmdlet. But if your DSC resources are stored in <strong>$pshome<\/strong>, you don&rsquo;t need to explicitly import them. They are automatically loaded by PowerShell.<\/span><\/p>\n<p class=\"MsoNormal\" style=\"margin-left: 1in\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">The signature of the cmdlet is shown below. <\/span><\/p>\n<p class=\"MsoNormal\" style=\"margin-left: 1in\"><em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">Import-DscResource [-Name &lt;ResourceName(s)&gt;] [-ModuleName &lt;ModuleName(s)&gt;] <\/span><\/em><\/p>\n<p class=\"MsoListParagraphCxSpFirst\" style=\"margin-left: 1in\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><strong>Name<\/strong>:&nbsp; This is the DSC resource name(s) that you must import. If the module name is specified, the command searches for these DSC resources within this module; otherwise the command searches the DSC resources in all DSC resource paths. <\/span><\/p>\n<p class=\"MsoListParagraphCxSpMiddle\" style=\"margin-left: 1in\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><strong>ModuleName<\/strong>:&nbsp; This is the container module name(s), or module specification(s).&nbsp; If the DSC resources that are required are specified, the command will try to import only those resources from the module(s).; Otherwise, the command imports all&nbsp; the DSC resources in this module.<\/span><\/p>\n<p class=\"MsoListParagraphCxSpLast\" style=\"margin-left: 1in\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">You can specify either one or both Name and ModuleName parameters in the cmdlet. But you must explicitly pass pairs of the parameter name and its value. Positional parameters are not supported.<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Import-DscResource is a second way to make sure your resources are deployed correctly.<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">Example:-<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: darkblue;font-family: 'Lucida Console';font-size: 9pt\">Configuration <\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"><span style=\"color: blueviolet\">MSDSCConfiguration <\/span>&nbsp;<\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\">{<\/span><\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: blue;font-family: 'Lucida Console';font-size: 9pt\">Import-DSCResource<\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"> <span style=\"color: navy\">-ModuleName<\/span> <span style=\"color: blueviolet\">MS_DSC1<\/span> <span style=\"color: navy\">-name<\/span> <span style=\"color: blueviolet\">Resource1, Resource2, Resource3<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;margin: 0in 0in 0pt 5.25pt;line-height: normal\"><span style=\"font-family: 'Lucida Console';font-size: 9pt\">#<span style=\"color: darkgreen\"> Search for and imports Resource1 Resource2, and Resource3 inside the modules <\/span><span style=\"color: blueviolet\">MS_DSC1<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: blue;font-family: 'Lucida Console';font-size: 9pt\"> Import-DSCResource<\/span><span style=\"color: navy;font-family: 'Lucida Console';font-size: 9pt\"> -Name<\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"> <span style=\"color: blueviolet\">Resource1&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: darkgreen;font-family: 'Lucida Console';font-size: 9pt\"> # Search DSC resources for Resource1 under all valid DSC resource paths, and import <\/span><span style=\"color: darkgreen;font-family: 'Lucida Console';font-size: 9pt\">the <\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: darkgreen;font-family: 'Lucida Console';font-size: 9pt\"># resource. Note that this will run slower because it has to search the resource in all the<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: darkgreen;font-family: 'Lucida Console';font-size: 9pt\"> # valid DSC resource folders.<\/span><span style=\"color: darkgreen;font-family: 'Lucida Console';font-size: 9pt\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: blue;font-family: 'Lucida Console';font-size: 9pt\">Import-DSCResource<\/span><span style=\"font-family: 'Lucida Console';font-size: 9pt\"> <span style=\"color: navy\">-ModuleName<\/span> <span style=\"color: blueviolet\">MS_DSC1<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: darkgreen;font-family: 'Lucida Console';font-size: 9pt\"> # Search for and import all DSC resources inside the module MS_DSC1.<\/span>&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\">&nbsp; &#8230;<\/p>\n<p class=\"MsoNormal\">}<\/p>\n<h2><span class=\"MsoSubtleEmphasis\"><strong><span style=\"color: #0080ff\">Deploying DSC resources to the pull server<\/span><\/strong><\/span><\/h2>\n<p class=\"MsoListParagraphCxSpFirst\" style=\"margin-left: 0in\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">After you configure your pull server [For details about how to configure a pull server, and how a pull client works, see <\/span><a href=\"http:\/\/blogs.msdn.com\/b\/powershell\/archive\/2013\/11\/21\/powershell-dsc-resource-for-configuring-pull-server-environment.aspx\"><span style=\"line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">this blog post<\/span><\/a><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">]. DSC resources can be packaged and placed in the pull server resource repository for pull clients to download it. The folder hierarchy of the pull server DSC Resource repository should be the following.<\/span><em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;<\/span><\/em><\/p>\n<p class=\"MsoListParagraphCxSpMiddle\" style=\"margin-left: 0in\" align=\"left\"><span><em>$env:ProgramFiles\\WindowsPowerShell\\DscService\\Modules\\&nbsp; (folder)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/em><strong>ModuleName_Version.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ModuleName_Version.zip.checksum<\/strong><\/span><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">&nbsp;<\/span><\/p>\n<p class=\"MsoListParagraphCxSpLast\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">When it&rsquo;s unzipped, <strong>ModuleName_Version.zip<\/strong> should have the same folder structure as the local computer deployment hierarchy shown at the beginning of this blog post.<\/span><\/p>\n<ul>\n<li>\n<div class=\"MsoNormal\" style=\"margin-left: 0.5in\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">The <strong>Version <\/strong>is the version of the module, not the version of the DSC resource. Versioning works at the module level, not the DSC resource level.<\/span><\/div>\n<\/li>\n<li>\n<div class=\"MsoNormal\" style=\"margin-left: 0.5in\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\"><strong>ModuleName_Version.zip.<\/strong> Checksum is a checksum of the zip file generated by running the <\/span><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">following&nbsp; command.<\/span><\/div>\n<\/li>\n<\/ul>\n<p class=\"MsoNormal\" style=\"text-indent: 0.5in;margin-left: 0.5in\"><em><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">New-DSCCheckSum &ndash;path $env:ProgramFiles\\WindowsPowerShell\\DscService\\Modules\\ -force<\/span><\/em><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span style=\"color: #424242;line-height: 107%;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">A configuration stored in the pull server configuration repository that requires the preceding module must refer to the module as follows.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">instance of &lt;ResourceName&gt;<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">{<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">&hellip;. <\/span><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">ModuleName = <strong>&#8220;&lt;ModuleName&gt;&#8221;;<\/strong><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">ModuleVersion =<strong> &ldquo;&lt;Version&gt;&#8221;;<\/strong><\/span><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"font-family: 'Candara','sans-serif';font-size: 10pt\">}; <\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: #424242;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">After LCM downloads a configuration from the pull server, it checks if the resources needed by the configuration exists on the local machine. If it does not exist, LCM queries the Download Manager of the local machine to download the required module, by specifying the <strong>ModuleName<\/strong> and <strong>ModuleVersion<\/strong>. After the module is downloaded and verified, it is saved to the <strong>$env: ProgramFiles\\WindowsPowershell\\Modules\\<\/strong> folder, and the configuration is applied by calling the TEST and SET methods of each resources.<\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\">&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"font-size: medium\"><em><strong>&nbsp;Updated on 7\/17\/2014:- &lt;ModuleName.psd1&gt; is required file inside the PowerShell module. The folder hierarchy in the blog post have been updated accordingly.<\/strong><\/em><\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\">&nbsp;<\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: #424242;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">Berhe Abrha <\/span><\/p>\n<p class=\"MsoNormal\" style=\"background: white;line-height: normal;margin-bottom: 0pt\"><span style=\"color: #424242;font-family: 'Segoe UI','sans-serif';font-size: 9.5pt\" lang=\"EN\">PowerShell Team<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Windows PowerShell Desired State Configuration (DSC) resource contains a module file (*.psm1), an optional data file (*.psd1),and a *.schema.mof file. Details about what each of those files should look like, and how you can create those files using a DSC Resource Designer Tool, are discussed in an earlier blog post.&nbsp; In this blog post, [&hellip;]<\/p>\n","protected":false},"author":600,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[142,150,248,251,345,348],"class_list":["post-1941","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-desired-state-configuration","tag-dsc","tag-powershell","tag-powershell-4-0","tag-windows-powershell-4-0","tag-windows-powershell-desired-state-configuration"],"acf":[],"blog_post_summary":"<p>A Windows PowerShell Desired State Configuration (DSC) resource contains a module file (*.psm1), an optional data file (*.psd1),and a *.schema.mof file. Details about what each of those files should look like, and how you can create those files using a DSC Resource Designer Tool, are discussed in an earlier blog post.&nbsp; In this blog post, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/1941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/600"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=1941"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/1941\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=1941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=1941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=1941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}