为$ 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
为什么这个报告是真的,或者我可以采取哪些步骤来进一步诊断?
答案 0 :(得分:1)
我认为你在第一次调用$ appPoolname:
时错过了$ usingif (Test-Path IIS:\AppPools\$using:appPoolName) {
答案 1 :(得分:0)