无法使用Powershell设置远程应用程序池属性

时间:2013-12-15 22:55:50

标签: powershell powershell-v2.0 powershell-v3.0

我有可以在IIS中成功创建应用程序池和设置属性的脚本。我使用以下代码远程设置它。

Invoke-Command -ComputerName $strSvr -ScriptBlock $script

脚本中的代码如下:

Import-Module WebAdministration

$appPool = New-Item $apppoolname        
$appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value $iisAppPoolDotNetVersion
$appPool | Set-ItemProperty -Name "enable32BitAppOnWin64" -Value "true" 

$appPool.processModel.username = $domainusername        
$appPool.processModel.password = $domainuserpassword        
$appPool.processModel.identityType = 3
$appPool | set-item 

问题是:设置标识的代码是有效的,但设置.Net版本和enable32bit应用程序的代码失败了。相同的代码适用于本地计算机。

有什么想法吗?

P.S。我正在使用PS3.0

谢谢堆!

1 个答案:

答案 0 :(得分:2)

适用于我的代码:

  Import-Module "WebAdministration"
  $pool = New-WebAppPool -Name $poolname -Force

  $pool.processModel.username = $domainusername
  $pool.processModel.password = $domainuserpassword
  $pool.processModel.identityType = 3
  $pool | Set-Item 

  Set-ItemProperty ("IIS:\AppPools\$poolname") -Name managedRuntimeVersion -Value "v4.0"
  Set-ItemProperty ("IIS:\AppPools\$poolname") -Name managedPipelineMode -Value 0

  Start-WebAppPool -Name $poolname