PowerShell Desired State Configuration (DSC) Journey – Day 9

First, some DSC related links from the weekend.  I got caught up on these today, and like usual learned quite a bit from the articles.

From The Scripting Guys:

Use Configuration File to Apply PowerShell DSC to Multiple Servers

PowerShell, Network Adapters and Domain Name System

Troubleshoot with PowerShell DSC Diagnostics Module

That last link is particularly timely, because I am still struggling with being able to Pull a Configuration from my Pull Server.  I am hoping I can use the DSC Diagnostics Module to determine what is going on.  I will say this, if I copy the xNetworking Module from my Pull Server to my DSCTest Server, the Configuration is applied within minutes.  For some reason the DSCTest server doesn’t think it can find the xNetworking Module on the Pull Server.

And here are the results.  The relevant stuff is at the bottom, I am including all of it for the sake of context.

I then run the following command to get more detail about Sequence ID 1.

And here is the full Message I got from the trace. The really relevant stuff is at the bottom.

Now, for whatever reason it doesn’t think it can find the xNetworking module to download it.  I first want to double check my Pull Server Configuration.

The ModulePath is set above.  I am certain I copied all the Module files into that directory, but I will double check.  Nope, I am not crazy.

dsc20

And just to check I open up the xNetworking.psd1 file and the very first line states that

# Version number of this module.
ModuleVersion = ‘2.0’

So that looks fine as well.  At this point I am kind of stumped.  I am not sure what the problem is.  All the modules also exist in the C:\Program Files\WindowsPowerShell\Modules directory.  While doing some playing around and looking at the Configurations for my Pull Server and DSCTest I am wondering where the name of the Download Manager comes in.  I just used the Configuration in Don Jones DSC-Ebook, and it seems to have worked fine for him.  But I am wondering if it needs to be something besides WebDownloadManager.  The TechNet Article for Local Configuration Manager states that DownloadManagerName “Indicates the name of the Configuration and module download manager.”  Well.  That doesn’t really help me.  I do some Google searching and see that same name, WebDownloadManager used a bunch, so it must the Default and be OK to use.

I did a bunch more searching and came across this article that talks about configuring Pull mode over SMB.  In the update at the end it talks about how he needed to set folder permissions to access his share, so I think maybe that the can be the problem.  I share out the C:\Program Files\WindowsPowerShell\DSCService\Modules folder to Everyone, giving them Full Control, and wait and see what happens.

If it checks in to Pull before I leave again today, I will update this post, otherwise I will continue tomorrow.

Update 4:24 PM.  Still failing.  Looking like I may have to try the DSCFileDownloadManager configuration tomorrow and see if I have any more luck.

Update 6:14 PM  I figured out what was wrong.  Reading further in the DSC E-Book, it talks about deploying custom resources.  Apparently even the Microsoft released Resources, such as xNetworking, which do not come with the default DSC Configuration need their own checksum file.  I created a .zip file named xNetworking_2.0.zip in the C:\Program Files\WindowsPowerShell\DSCService\Modules directory (from the extracted xNetworking folder in my modules directory).  I then ran the New-DSCChecksum command against that file to create the checksum file.  I then manually run the scheduled task on the DSCTTest server, and boom, configured!