無論爲$ 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