web-dev-qa-db-ja.com

Windows7でIISAdministrationPowerShellコマンドレットを使用するとエラーが発生します

スクリプトを開発およびデバッグするには、Windows7で新しいIISAdministrationPowerShellコマンドレットを使用する必要があります。このモジュールはデフォルトではWindows7に存在しないため、インストールしてみました。このために、Windows Management Framework 5.1をインストールして、PowerShellGetモジュールが使用可能なPowerShell5.1があることを確認しました。

その後、次のコマンドを使用してIISAdministrationモジュールをインストールしました。

Install-Module -Name IISAdministration

エラーは報告されませんが、使用可能なモジュールを一覧表示しようとすると、インストールされているコマンドレットが表示されません。

PS D:\> get-module -ListAvailable


    Directory: C:\Program Files\WindowsPowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.1.0.0    IISAdministration
Binary     1.0.0.1    PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script     1.0.0.1    PowerShellGet                       {Install-Module, Find-Module, Save-Module, Update-Module...}

実稼働のWindowsServer 2012 R2マシンでこのコマンドを実行すると、[ExportedCommands]列にコマンドレットが表示されます。

モジュールをスクリプトまたはPowerShellコンソールに直接インポートしようとすると、次のエラーが発生します。

PS D:\> Import-Module IISAdministration
Import-Module : Could not load type 'Microsoft.Web.Administration.SslFlags' from Assembly
'Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
At line:1 char:1
+ Import-Module IISAdministration
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Import-Module], TypeLoadException
    + FullyQualifiedErrorId : System.TypeLoadException,Microsoft.PowerShell.Commands.ImportModuleCommand

私のセットアップの何が問題になっていて、それを修正する方法は?

1
Dmitry Nikolaev

Lex Liが上に投稿したコメントに同意します。新しいサーバーオペレーティングシステムから古いサーバーオペレーティングシステムにDLLを移動すると、問題が発生します。

私のウェブサイトインストールスクリプトはWindows10で構築されており、Windows 2012以降でのみ使用されるはずでしたが、サイトのコピーが必要でインポートされないWindows 2008-R2サーバーを見つけましたIISAdministration、上記のOPでエラーが発生します。

回避策:Carbonモジュールをダウンロードしてインストールします。

IISAdministrationモジュールが必要なものによっては、Carbonモジュールで実行可能な代替品を見つけることができる場合があります。私の場合、IISAdministrationをGet-IISAppPoolコマンドレット専用に使用していました。 Carbonには、Windows2008-R2で私のために仕事をした機能的に類似したGet-IisAppPoolコマンドレットがあることがわかりました。

カーボンモジュールは、モジュールのWebサイトにアクセスして見つけることができます。 Chocolateyを使用しましたが、簡単にインストールできました。

http://get-carbon.org/about_Carbon_Installation.html

これが誰かに役立つことを願っています、私は質問がかなりの数のヒットを得ているのを見ます。

0
ggariepy

リモートサーバー管理ツール(RSAT)をインストールしましたか?

これらのツールがインストールされていない場合は、これが問題である可能性があります。

https://support.Microsoft.com/en-gb/help/2693643/remote-server-administration-tools-rsat-for-windows-operating-systems

0
user236238