【发布时间】:2014-08-09 05:02:15
【问题描述】:
我在为 IIS 中的嵌套 Web 应用程序编写“ConnectAs”域用户帐户脚本时遇到问题。我的目标环境是带有 IIS 8 的 MS Server 2012 R2,但是,我在带有 IIS 7.5 的 Windows 7 上看到了同样的问题。
例如,假设我有“默认网站”。在此之下,我有“MainApplication”。在此之下,我有另一个“子应用程序”的网络应用程序。
我尝试了在其他网站上找到的类似以下的建议,但部分成功: 前 2 个语句有效。
Set-WebConfigurationProperty "system.applicationHost/sites/site[@name='Default Web Site']/application[@path='/MainApplication']/virtualDirectory[@path='/']" -name "username" -value "mydomain\user"
Set-WebConfigurationProperty "system.applicationHost/sites/site[@name='Default Web Site']/application[@path='/MainApplication']/virtualDirectory[@path='/']" -name "password" -value "mypassword"
我似乎无法为接下来的两条语句找到正确的语法:
Set-WebConfigurationProperty "system.applicationHost/sites/site[@name='Default Web Site']/application[@path='/MainApplication/SubApplication']/virtualDirectory[@path='/']" -name "username" -value "mydomain\user"
Set-WebConfigurationProperty "system.applicationHost/sites/site[@name='Default Web Site']/application[@path='/MainApplication/SubApplication']/virtualDirectory[@path='/']" -name "password" -value "mypassword"
在一个完美的世界里,我可以做类似下面的事情来快速让所有的 web 应用程序在同一个域用户帐户下运行:
Get-WebApplication | ForEach-Object { $_ | Set-ItemProperty -Name "username" -Value "domain\user" }
Get-WebApplication | ForEach-Object { $_ | Set-ItemProperty -Name "password" -Value "passwordValue" }
或类似的东西:
Get-WebApplication | ForEach-Object { $_.ChildElements | Select-Object -First 1 | Get-Member -Name "Attributes" | Set-Member -Name "userName" -Value "domain\username" }
有没有一种好方法可以将所有网站、应用程序等脚本设置为在域用户帐户下运行?
【问题讨论】:
标签: powershell iis permissions