首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用PowerShell创建AppPool不设置AppPool标识

使用PowerShell创建AppPool不设置AppPool标识
EN

Stack Overflow用户
提问于 2013-02-15 05:05:10
回答 4查看 17.6K关注 0票数 17

我正在尝试使用PowerShell在IIS中创建应用程序池。在搜索web之后,我创建了以下测试脚本:

代码语言:javascript
复制
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
}

当我运行脚本时,用户名和密码没有更新为我设置的值。

下面是两个打印块的结果

代码语言:javascript
复制
#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。我可能会遗漏什么才能让它工作,有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-15 06:32:25

您将需要更改流程模型标识类型以接受用户帐户,而不是默认的ApplicationPoolIdentity,这可以按如下方式完成:

代码语言:javascript
复制
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

我希望这能帮到你。

票数 25
EN

Stack Overflow用户

发布于 2015-04-17 02:22:27

上面的内容对我来说从来都不起作用,但这确实起到了作用:

代码语言:javascript
复制
import-module webadministration
$pool = Get-Item "IIS:\AppPools\apppoolname"
$pool.processmodel.identityType = 3
$pool.processmodel.username  = "username"
$pool.processmodel.password = "password"
$pool | set-item
票数 2
EN

Stack Overflow用户

发布于 2015-12-11 02:52:19

我在设置身份时也遇到了类似的问题。最后,我检查了一下它设置的密码是什么:

代码语言:javascript
复制
Get-ItemProperty $appPool -name "processmodel.password"

只看到了部分密码。原来我对密码字符串参数使用了双引号,密码以'$‘开头,这导致它被解析为一个变量。

我把双引号改成了单引号,它起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14884013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档