2016-09-23 41 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) { 
相關問題