pau*_*nic 26 iis powershell iis-7 web-administration powershell-3.0
我在使用应用程序池标识自动设置Web应用程序和配置IIS时遇到了很多困难.我在用PowerShell编写的Web应用程序部署脚本中执行此操作.我的要求是我需要使用PowerShell脚本将应用程序池标识用户设置为特定的服务帐户mydomain\svcuser和password.以下是示例代码:
$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
Run Code Online (Sandbox Code Playgroud)
当我运行它时,一切似乎都正常工作 - 没有错误被抛出,应用程序身份用户名出现在IIS中 - 但由于某种原因,密码没有正确设置,如果有的话.由于它是一个密码,我无法验证它是否已设置,但我可以断定,如果它是,它没有设置正确.在我手动进入并在IIS中输入密码之前,它不会对生成的应用程序池用户进行身份验证.因此,应用程序在部署到Web服务器后失败,需要手动干预.
我在这里错过了什么吗?
小智 47
您可以这样做:
Import-Module WebAdministration
Set-ItemProperty IIS:\AppPools\app-pool-name -name processModel -value @{userName="user_name";password="password";identitytype=3}
Run Code Online (Sandbox Code Playgroud)
请参阅此文档以获取解释,并在以下位置运行应用程序池的用户类型的缩进类型数字的引用:http://www.iis.net/configreference/system.applicationhost/applicationpools/add/processmodel
小智 6
经过几次实验
这是我的答案,我希望这会有所帮助,我已经在IIS 8.5上工作过
$credentials = (Get-Credential -Message "Please enter the Login credentials including Domain Name").GetNetworkCredential()
$userName = $credentials.Domain + '\' + $credentials.UserName
Set-ItemProperty IIS:\AppPools\$app_pool_name -name processModel.identityType -Value SpecificUser
Set-ItemProperty IIS:\AppPools\$app_pool_name -name processModel.userName -Value $username
Set-ItemProperty IIS:\AppPools\$app_pool_name -name processModel.password -Value $credentials.Password
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
40626 次 |
最近记录: |