PowerShell: DSC Quirks, Part 1
Just going to catalog a few of the things I've seen crop up from time to time with DSC, starting with:
- Cannot Import-Module
- Cannot import custom DSC resource (even though Get-DscResource says it is there)
For that first one the solution is usually pretty simple, the AppvClient module is case in point. Instead of this:
Import-Module AppvClient
Do this:
Import-Module "C:\Program Files\Microsoft Application Virtualization\Client\AppvClient"
You can find the exact location by typing:
(Get-Module AppvClient).Path
The folder, and this is important, the FOLDER the .ps1d is in should be provided to Import-Module, it will do the rest, don't try to point it right at the .ps1d or anything else for that matter.
The second problem I have only seen on Server 2008 R2 with WMF 4.0 installed. What you will no doubt quickly learn is that you should put your DSC modules here:
C:\Program Files\WindowsPowershell\Modules
Or worst case if x86, here:
C:\Program Files (x86)\WindowsPowershell\Modules
And if you put them there and type:
Get-DscResource they will indeed show up, run a config using them however and it will error out saying they couldn't be found. Unless you put there here:
C:\Windows\System32\WindowsPowerShell\v1.0\Modules
Why does it do this? I don't know, I suspect it is because WMF 4.0 is rather tacked on by now when it comes to Server 2008 R2, frankly if this is the price I have to pay for being able to use this on XenApp 6.5 servers, so be it!