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 ?
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
To resolve running the script (or powershell shell/exe) in Admin mode.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With