2016-06-29 3 views
4

私はPowerShellを使用してビルドをスクリプト化するプロジェクトに着きます。ビルドでは、WebAdministrationモジュールを使用して、ローカルIISインスタンスを管理します。ビルドスクリプトを実行すると、WebAdministrationをインポートしようとすると、次のエラーがスローされます。インポートモジュールのWeb管理はスクリプトからロードされずにコマンドラインから実行されます

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

私はPowerShellコマンドラインでImport-Module WebAdministrationを実行すると、モジュールがインポートされ、私はそれから機能を使用することができますどのように今までに。その後もビルドスクリプトを実行すると失敗します。

I持ってIIS 7.5PowerShell 4

誰もがこのインポートスクリプトに失敗ではなく、コマンドラインで、どのようにそれを修正することであろう理由のアイデアを持っていますか?

答えて

0

最終的に何か問題がありました。おそらくチョコレートですか?$env:PSModulePathを最初のエントリに切り捨てました。このため、スクリプトには入力してもスクリプトは機能しませんでした。

私が実行していたスクリプトの異なるポイントに$env:PSModulePathを記録すると見つかりました。

$env:PSModulePathにエントリを並べ替えることで、私はそれを回避しました。

他の良い提案については、@ Richardの回答をご覧ください。

6

モジュールを使用するには、サーバの場合、Management ToolsWeb Server (IIS)にインストールする必要があります。使用可能なモジュールがあるかどうかを確認するには、Get-Module -ListAvailableを使用してください。

10Windows 7のためには、Internet Information Services >>Web Management Toolsの下で機能IIS Management Scripts and toolsをインストールする必要があります。

WebAdministration .psd1ファイルを手動で検索してからインポートすることができます。あなたは次のことを試みることができるが、これは上向き2012上で動作していないことがあり

Import-Module -Name 'C:\Windows\System32\WindowsPowerShell\v1.0\Modules\WebAdministration\WebAdministration.psd1' 

Server 2008場合:

Add-PSSnapin WebAdministration 

あなたが必要になりますあなたのモジュールはその後、保存されている場所で実行見つけやすくするために$env:psmodulepathを使用して、管理者権限を持つスクリプトを実行して、Import-ModuleまたはAdd-PSSnapinWebAdministrationモジュールをロードできるようにします。あなたはこのQuestionを見たいかもしれません

Set-ExecutionPolicy unrestricted 

はまた、あなたがUnrestrictedに設定PowerShellの実行ポリシーを持っていることを確認してください。

+0

ご回答ありがとうございます@リチャード。残念ながら、Web管理ツールがインストールされており、使用可能なモジュールをリストするとWebAdministrationが表示されます。シェルからも使えます。スクリプトを実行するときにインポートすることはできません。それについてのアイデア? – Klee

+0

@Klee私はあなたが試してみることができるいくつかのもので私の質問を更新しました。 – Richard

+0

ありがとうございます。最初の答えはおそらく働いたでしょう。他の2人はすでに私が試していた。結局は、おそらくチョコレートの問題がありました。これは、$ env:PSModulePathを最初のエントリに切り詰めてしまったので、スクリプトには入力してもスクリプトは動作しませんでした。私は$ envのエントリを並べ替えて作業しました。PSModulePathおかげさまでヒープが助けになります。 – Klee

関連する問題