![](/img/trans.png)
[英]How to get name of current IIS app pool programatically, not ActiveDirectory
[英]How to change IIS app pool password on multiple servers at once remotely?
我们需要在每次过期时更改应用程序的 IIS 应用程序池密码。 目前,我们必须手动登录到每个服务器并运行一段 PowerShell 代码来更改密码。
下面是我们在 PS 上每台服务器上运行的代码:
Import-Module WebAdministration
$applicationPools = Get-ChildItem IIS:AppPools | where { $_.processModel.userName -eq "Domain\XXXXX12345" }
foreach($pool in $applicationPools)
{
$pool.processModel.userName = "Doma\XXXXX12345"
$pool.processModel.password = "XXXXXXXXXXXXXXXXX"
$pool | Set-Item
}
Write-Host "Application pool passwords updated..." -ForegroundColor Magenta
Write-Host ""
Read-Host -Prompt "Press Enter to exit"
但是有没有办法我们可以一次对服务器/虚拟机列表执行相同的操作,而不必登录到每台服务器,打开 PowerShell 或 IIS 并在每台服务器上手动更改它?
任何帮助将不胜感激!
您可以尝试为此创建一个 Azure DSC 配置。 这样,您可以在每次密码过期时提供新的配置 state。
https://docs.microsoft.com/en-us/azure/automation/quickstarts/dsc-configuration
你可以试试下面的脚本:
$computerName = 'MyServerName' $appPoolName = 'DefaultAppPool'
调用命令 -ComputerName $computerName -args $appPoolName -ScriptBlock { param($appPoolName) $appPoolName.Stop()
$appPoolName | Set-ItemProperty -Name "processModel.username" -Value "Doma\XXXXX12345" $appPoolName | Set-ItemProperty -Name "processModel.password" -Value "XXXXXXXXXXXXXXXXX"
$targetpool.Start()
}
写入主机“应用程序池密码已更新...”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.