Powershell远程返回IIS上的误报:\ AppPools查找

时间:2016-09-23 14:31:37

标签: powershell iis powershell-remoting

为$ appPoolName输入的值总是在发送到远程计算机时为Test-Path返回true,即使没有这样的池也是如此。在这些机器上的powershell中本地运行时,将返回正确的结果。验证PSRemote是否在目标计算机上启用。

$appPoolName = 'Abc123'
$scriptBlock = {
    Import-Module WebAdministration
    if (Test-Path IIS:\AppPools\$appPoolName) {
        Write-Host "Already installed."
    } else {
        Write-Host "Installing..."
        $appPool = New-Item –Path IIS:\AppPools\$using:appPoolName
        $appPool | Set-ItemProperty -Name managedRuntimeVersion -Value 'v4.0'
    }
}
Invoke-Command -ComputerName LT-CODE8 -ScriptBlock $scriptBlock

为什么这个报告是真的,或者我可以采取哪些步骤来进一步诊断?

2 个答案:

答案 0 :(得分:1)

我认为你在第一次调用$ appPoolname:

时错过了$ using
if (Test-Path IIS:\AppPools\$using:appPoolName) {

答案 1 :(得分:0)