我正在尝试使用PowerShell在IIS中创建应用程序池。在搜索web之后,我创建了以下测试脚本:
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
}
当我运行脚本时,用户名和密码没有更新为我设置的值。
下面是两个打印块的结果
#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框架已更新,但身份仍设置为ApplicationPoolIdentity。它应该是域\用户名。
我是机器上的管理员,并且在管理员模式下运行PowerShell。我可能会遗漏什么才能让它工作,有什么想法吗?
发布于 2013-02-15 06:32:25
您将需要更改流程模型标识类型以接受用户帐户,而不是默认的ApplicationPoolIdentity,这可以按如下方式完成:
Set-ItemProperty -Path IIS:\AppPools\TestAppPool -Name processmodel.identityType -Value 3
Set-ItemProperty -Path IIS:\AppPools\TestAppPool -Name processmodel.username -Value Domain\UserName
Set-ItemProperty -Path IIS:\AppPools\TestAppPool -Name processmodel.password -Value MyPassword
我希望这能帮到你。
发布于 2015-04-17 02:22:27
上面的内容对我来说从来都不起作用,但这确实起到了作用:
import-module webadministration
$pool = Get-Item "IIS:\AppPools\apppoolname"
$pool.processmodel.identityType = 3
$pool.processmodel.username = "username"
$pool.processmodel.password = "password"
$pool | set-item
发布于 2015-12-11 02:52:19
我在设置身份时也遇到了类似的问题。最后,我检查了一下它设置的密码是什么:
Get-ItemProperty $appPool -name "processmodel.password"
只看到了部分密码。原来我对密码字符串参数使用了双引号,密码以'$‘开头,这导致它被解析为一个变量。
我把双引号改成了单引号,它起作用了。
https://stackoverflow.com/questions/14884013
复制相似问题