Я пытаюсь использовать PowerShell для создания пула приложений в IIS. После поиска в Интернете я создал следующий тест script:
Import-Module WebAdministration
$siteName = "TestAppPool"
$userAccountName = "Domain\UserName"
$userAccountPassword = "MyPassword"
if(!(Test-Path ("IIS:\AppPools\" + $siteName)))
{
$appPool = New-Item ("IIS:\AppPools\" + $siteName)
#Display Default AppPool Settings
"AppPool = " + $appPool
"UserName = " + $appPool.processModel.userName
"Password = " + $appPool.processModel.password
"Runtime = " + $appPool.managedRuntimeVersion
$appPool.processModel.userName = $userAccountName
$appPool.processModel.password = $userAccountPassword
$appPool.managedRuntimeVersion = "v4.0"
$appPool | Set-Item
#Display Updated AppPool Settings
"AppPool = " +$appPool
"UserName = " + $appPool.processModel.userName
"Password = " + $appPool.processModel.password
"Runtime = " + $appPool.managedRuntimeVersion
}
Когда я запускаю script, имя пользователя и пароль не обновляются до значений, которые я установил.
Ниже приведены результаты двух блоков печати
#Display Default AppPool Settings
AppPool = Microsoft.IIs.PowerShell.Framework.ConfigurationElement
UserName =
Password =
Runtime = v2.0
#Display Updated AppPool Settings
AppPool = Microsoft.IIs.PowerShell.Framework.ConfigurationElement
UserName =
Password =
Runtime = v2.0
В IIS пул приложений показывает, что .Net Framework обновлена, но Identity по-прежнему настроен на ApplicationPoolIdentity. Он должен быть Domain\UserName.
Я администратор на компьютере, и я запускаю PowerShell в режиме администратора. Любые идеи относительно того, чего я могу потерять, чтобы заставить это работать?