我在自动化 Web 应用程序的设置和使用应用程序池标识适当地配置 IIS 时遇到了很多困难。我在用 PowerShell 编写的 Web 应用程序部署脚本中执行此操作。我的要求是我需要我的 PowerShell 脚本将应用程序池身份用户设置为特定的服务帐户 mydomain\svcuser 和密码。这是示例代码:
$pool = New-Item "IIS:\AppPools\MyAppPool" -Force
$svcuser = "mydomain\svcuser"
$pool.processModel.userName = $svcuser
$password = "somepassword"
$pool.processModel.password = $password
$pool.processModel.identityType = 3
$pool | Set-Item -ErrorAction Stop
当我运行它时,一切似乎都正常工作——没有抛出错误,并且应用程序身份用户名出现在 IIS 中——但由于某种原因,密码没有正确设置,如果有的话。由于它是密码,我无法验证是否已设置,但我可以得出结论,如果是,则说明设置不正确。在我手动进入并在 IIS 中输入密码之前,它不会对生成的应用程序池用户进行身份验证。因此,应用程序在部署到 Web 服务器后会失败,需要人工干预。
我在这里错过了什么吗?