インストールされているモジュールのリソースを使用するDSC構成を適用しようとしています。ただし、Start-DscConfiguration
を実行すると、次のエラーが発生します。
PowerShell DSCリソース********はPowerShellモジュールパスに存在せず、WMIDSCリソースとして登録されていません。
+ CategoryInfo:InvalidOperation:(root/Microsoft/... gurationManager:String)[]、CimException
+ FullyQualifiedErrorId:DscResourceNotFound
ただし、サーバーにログインしてGet-DscResource
を実行すると、不足しているリソースがあります。
DSCがリソースを見つけられないのはなぜですか?
DSCリソースが含まれているモジュールのバージョンが、ローカルコンピューターとサーバーで異なっていました。構成が変換されるローカルコンピューターでMOFファイル、バージョン2.2.0(簡潔にするためにコードを切り取ったもの)がありました:
instance of ******** as $********1ref
{
ModuleName = "********";
ModuleVersion = "2.2.0";
};
しかし、サーバーにはバージョン2.1.0がありました。
> Get-Module -ListAvailable
Directory: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 2.1.0 ******** ********
この特定のモジュールは、 PowerShell Gallery で入手できます。 Update-Module
を呼び出すと、サーバーに最新バージョンが取得されました。ローカルコンピュータをダウングレードすることもできました。
同じ問題が発生しました...問題はモジュールバージョンの不一致ではなく、Powershellバージョンの不一致であることが判明しました。私のワークステーションはバージョン5ですが、エンドポイントはバージョン4(2012 R2はそのまま)でした。
リモートサーバーにWMF5.1をインストールした後、xWebAdministrationモジュールを使用してIIS)を認識してインストールしました。
その前にそれはそれを見つけることができなかったと不平を言っていました。パス変数は、構成された別のWebサーバーで同じでした。唯一の違いは、Powershellバージョンでした。