无论为$ 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
为什么这个报告是真实的,或者我可以采取哪些步骤来进一步诊断?
只有在需要第二跳时,Test-Path才会失败。但是IIS:\是用户连接到的机器上的PSDrive,因此不需要第二跳。 – BenH