Set-ItemProperty physicalPath

时间:2017-10-10 13:14:46

标签: powershell iis-8 remote-execution

设置physicalPath的远程执行错误,显示以下消息:

  

找不到驱动器。一个名为“IIS'不存在。

以下是什么问题?

$site    = Read-Host "What is the name of the virtual?"
$newpath = Read-Host "What is the NEW PATH of the new site?"

$ScriptBlockContent = {
    $site = $args[0],
    $newpath = $args[0]
    (Set-ItemProperty -Path IIS:\\Sites\ABC_LIVE\$site -Name "physicalPath" -Value "$newpath")
}

# Add the IIS PowerShell Module
Import-Module WebAdministration 

Invoke-Command -ComputerName DEVSERVERNAME -ScriptBlock $ScriptBlockContent -ArgumentList $site,$newpath

1 个答案:

答案 0 :(得分:2)

您需要在脚本块中导入模块(模块必须安装在远程主机上)。此外,scriptblock中的两个变量都被赋予相同的参数($args[0]),并且第一个赋值具有伪尾随逗号。

使用Param()块而不是单个变量赋值,并删除Set-ItemProperty周围无意义的括号。

$ScriptBlockContent = {
    Param($site, $newpath)
    Import-Module WebAdministration
    Set-ItemProperty -Path IIS:\\Sites\ABC_LIVE\$site -Name "physicalPath" -Value $newpath
}