web-dev-qa-db-ja.com

「ドライブが見つかりません。「IIS」というドライブは存在しません。」

IIS Webサイトを自動的に展開するPowerShellスクリプトを作成しましたが、スクリプトにパラメーターを渡すと、次のエラーが表示されます。

ドライブが見つかりません。 「IIS」と呼ばれるドライブは存在しません。

私のスクリプト(iss_website_version_update.ps1)は以下のとおりですが、まだ終了していないことに注意してください。

param(
[array]$iishostlist=$(throw "Parameter missing: -name iishostlist"),
[array]$websiteName=$(throw "Parameter missing: -name websiteName")
)

For($i=0;$i -lt $iishostlist.Count; $i++){
For($j=0;$j -lt  $websiteName.Count; $j++){
    $start = get-date
    $tempSession = new-pssession  -ComputerName  $($iishostlist[$i])
    Invoke-Command -Session $tempSession -ScriptBlock {
        C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -command Import-Module WebAdministration;set-location IIS:\;(Stop-Website $($websiteName[$j]))
        }
    .......

サブコマンドset-location IIS:\;コマンド内Invoke-Commandは認識されませんか?

37
Jianxiang Xia

ドライブはWebAdministrationモジュールによって提供されるため、最初にそのモジュールをインストール/インポートする必要があります。

モジュールのインストール方法は、実際のシステムと、GUIまたはPowerShellのどちらを使用するかによって異なります。たとえば、Windows Server 2008 R2では、次のPowerShellコマンドを使用してモジュールをインストールします。

Import-Module ServerManager
Add-WindowsFeature Web-Scripting-Tools

モジュールがインストールされたら、次のようにスクリプトにロードできます。

Import-Module WebAdministration
68
Ansgar Wiechers

管理モードでスクリプト(またはpowershell Shell/exe)の実行を解決するには。

43
azuneca

Windows Server 2008 32ビットでは、MicrosoftのWebサイトから「IIS Powershellスナップイン(x86)」を明示的にダウンロードしてインストールする必要がありました。

2
mhenry1384