Подтвердить что ты не робот

Получение "Не удается найти диск. Диска под названием" IIS "не существует".

Я написал PowerShell script для автоматического развертывания веб-сайта IIS, но когда я передаю параметры script, я получаю следующую ошибку:

Не удается найти диск. Привод, называемый "IIS", не существует.

Мой script (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 не распознается?

4b9b3361

Ответ 1

Диск предоставляется модулем WebAdministration, поэтому вам необходимо сначала установить/импортировать этот модуль.

Способ установки модуля зависит от вашей реальной системы и от того, используете ли вы графический интерфейс или PowerShell. Например, на Windows Server 2008 R2 вы должны установить модуль с помощью следующих команд PowerShell:

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

После установки модуля вы можете загрузить его в свой скрипт следующим образом:

Import-Module WebAdministration

Ответ 2

Чтобы разрешить запуск сценария (или PowerShell Shell/EXE) в режиме администратора.

Ответ 3

В 32-разрядной версии Windows Server 2008 мне пришлось явно загружать и устанавливать "Ячейку приложений IIS Powershell Snap-in (x86)" с веб-сайта Microsoft.