powershelliis-7.5web-administration

Import-Module WebAdministration wont load from script but does from command line


I'm coming onto a project that uses PowerShell to script the build. The build makes use of the WebAdministration module to manage the local IIS instance. When I run the build script the following error is thrown when trying to import WebAdministration.

Error: 06/29/2016 17:28:35: At C:\dev\src\nib-ravendb\build\ConfigureIis.ps1:10 char:1 + Import-Module WebAdministration + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ [<<==>>] Exception: The specified module 'WebAdministration' was not loaded because no valid module file was fo und in any module directory. ERROR: 1

How ever when I run Import-Module WebAdministration at the PowerShell command line the module is imported and I can use features from it. Subsequently running the build script still fails.

I have IIS 7.5 and PowerShell 4

Does anyone have an idea why this import would be failing in the script but not at the command line, and how to fix it?


Solution

  • In the end there was a problem something, possibly chocolatey?, was truncating $env:PSModulePath to the first entry, this is why the script was working if I typed it in but not in the script.

    I found it by logging $env:PSModulePath at different points in the scripts that I was running.

    I worked around it by reordering the entries in $env:PSModulePath.

    Have a look at @Richard's answer for some other good suggestions.