web-dev-qa-db-ja.com

インストールされているリソースがDSCで見つからないのはなぜですか?

インストールされているモジュールのリソースを使用するDSC構成を適用しようとしています。ただし、Start-DscConfigurationを実行すると、次のエラーが発生します。

PowerShell DSCリソース********はPowerShellモジュールパスに存在せず、WMIDSCリソースとして登録されていません。
+ CategoryInfo:InvalidOperation:(root/Microsoft/... gurationManager:String)[]、CimException
+ FullyQualifiedErrorId:DscResourceNotFound

ただし、サーバーにログインしてGet-DscResourceを実行すると、不足しているリソースあります。

DSCがリソースを見つけられないのはなぜですか?

3
splattered bits

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を呼び出すと、サーバーに最新バージョンが取得されました。ローカルコンピュータをダウングレードすることもできました。

6
splattered bits

同じ問題が発生しました...問題はモジュールバージョンの不一致ではなく、Powershellバージョンの不一致であることが判明しました。私のワークステーションはバージョン5ですが、エンドポイントはバージョン4(2012 R2はそのまま)でした。

リモートサーバーにWMF5.1をインストールした後、xWebAdministrationモジュールを使用してIIS)を認識してインストールしました。

その前にそれはそれを見つけることができなかったと不平を言っていました。パス変数は、構成された別のWebサーバーで同じでした。唯一の違いは、Powershellバージョンでした。

1
Asmar F