2016-09-23 86 views
1

无论为$ appPoolName输入的值始终在发送到远程计算机时返回True为Test-Path,即使没有这样的池存在。当在这些机器的PowerShell中本地运行时,会返回正确的结果。验证PSRemote在目标机器上启用。PowerShell远程在IIS上返回误报: AppPools查找

$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 

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

回答

1

我想你错过使用$:$上的appPoolname第一个呼叫:需要在远程机器上

if (Test-Path IIS:\AppPools\$using:appPoolName) { 
相关问题