0

私は Desired State Configuration の初心者ですが、基本的なことを行うのに苦労しています。

私の構成は、基本的にIIS(Web管理およびその他の部分を含む)をインストールし、いくつかのインストーラーを実行してから、デフォルトのWebサイトを停止します。

デフォルトの Web サイトを停止するだけではやり過ぎに思えるため、xWebAdministration モジュールを使用しないことにしました。そのため、このタスクを完了するために次のスクリプトを作成しました。

Script StopDefaultWebsite {
        SetScript = {
            # Check if WebAdministration module is present for IIS cmdlets
            if(!(Get-Module -ListAvailable -Name WebAdministration))
            {
                Throw "Please ensure that WebAdministration module is installed."
            }
            Stop-Website "Default Web Site"
        }
        TestScript = {
            $w = Get-Website | where {$_.name -eq "Default Web Site"}
            return $w.state -eq "Stopped"
        }
        GetScript = {
            $installStatus = Get-Website | where {$_.name -eq "Default Web Site"}
            @{
                SetScript = $SetScript
                TestScript = $TestScript
                Result = [String]$installStatus;
            } 
        }
    }

(私は xWebAdministration から SetScript の最初の部分をコピーしました) 私が抱えている問題は、構成を開始すると、Windows 機能「web-mgmt-service」が正常にインストールされ、インストールされていることを確認できますが、このスクリプトを実行すると、次のエラー:

PowerShell provider MSFT_ScriptResource  failed to execute Test-TargetResource functionality with error message:
    Could not load file or assembly 'Microsoft.IIS.PowerShell.Framework' or one of its dependencies. The system cannot find the file specified.
        + CategoryInfo          : InvalidOperation: (:) [], CimException
        + FullyQualifiedErrorId : ProviderOperationExecutionFailure

これは、IIS PowerShell モジュールをロードする前に、マシンを再起動する必要があるか、少なくとも Powershell を再起動する必要があるためだと思います。これは、まったく同じ構成を再度開始しようとすると、成功することがわかります。

マシンを再起動しようとしましたが、さらに問題が発生します。Powershell を再起動する方法はありますか? または、IIS Powershell モジュールをロードするためにできる基本的なことはありますか。

ありがとう

4

1 に答える 1