2013-12-15 177 views
0

我有一个脚本,它可以成功创建应用程序池并在IIS中设置属性。我使用下面的代码来远程设置它。无法使用Powershell设置远程应用程序池属性

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版本和enable32bitapplication失败。相同的代码在本地机器上工作。

有什么想法?

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

谢谢堆!

为我的作品
+0

请问您的用户具有对目标配置文件或文件的写权限? –

+0

远程执行时是否收到任何错误? – beavel

+0

此值'$ iisAppPoolDotNetVersion'来自哪里?如果它在上面显示的脚本外部,则需要通过Invoke-Command的“-ArgumentList”参数传入。 –

回答

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 
相关问题