[英]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.