我试图通过运行以下Cmdlet,使用PowerShell将IIS应用程序池的Enable32BitApplication和LoadUserProfile的值设置为True:
(Get-IISAppPool -Name DefaultAppPool).enable32BitAppOnWin64 = $True
(Get-IISAppPool -Name DefaultAppPool).ProcessModel.LoadUserProfile = $True
当我使用PowerShell检索这些值时,似乎Cmdlet已成功运行,但是当我尝试在GUI中检查它时,我会注意到它没有用。这就是为什么我尝试测试实际应用程序池的网站的原因,并且我发现这些Cmdlet无法正常工作。任何人都可以通过正确的PowerShell Cmdlet帮助我吗?
最佳答案
为了通过修改Get-IISAppPool
返回的对象使其起作用,您必须在更改值之前调用Start-IISCommitDelay
,然后在进行更改后调用Stop-IISCommitDelay
。因此,在您的情况下,它将是:
Start-IISCommitDelay
(Get-IISAppPool -Name DefaultAppPool).enable32BitAppOnWin64 = $True
(Get-IISAppPool -Name DefaultAppPool).ProcessModel.LoadUserProfile = $True
Stop-IISCommitDelay