Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting "Can't find the drive. The drive called 'IIS' does not exist."

I wrote a PowerShell script to deploy IIS Website automatically, but when I pass parameters to the script I get the following error:

Cannot find the drive. The drive called 'IIS' does not exist.

My script (iss_website_version_update.ps1) is as below, but note that it is not finished yet:

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]))         }     ....... 

Please let me know why the sub-command set-location IIS:\; in the command Invoke-Command is not be recognized ?

like image 490
Jianxiang Xia Avatar asked Jun 24 '14 17:06

Jianxiang Xia


2 Answers

The drive is provided by the WebAdministration module, so you need to install/import that module first.

How you install the module depends on your actual system and whether you use GUI or PowerShell. On a Windows Server 2008 R2 for instance you'd install the module with the following PowerShell commands:

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

After the module is installed you can load it in your script like this:

Import-Module WebAdministration 
like image 101
Ansgar Wiechers Avatar answered Sep 19 '22 11:09

Ansgar Wiechers


To resolve running the script (or powershell shell/exe) in Admin mode.

like image 37
azuneca Avatar answered Sep 20 '22 11:09

azuneca