我编写了一个 powershell 脚本来使用“webadministration”管理单元更新 apppool 的用户名和密码。
Import-Or-Snapin -Module "Webadministration"
Function Change-AppPoolIdentity {
Param (
$AppPool,
$OldUserName,
$NewUserName,
$Password
)
If (Test-Path $AppPool)
{
LogWrite "Function :Change-AppPoolIdentity"
$MyAppPool = Get-Item $AppPool
If ($($MyAppPool.processModel.userName) -eq $OldUserName) {
$MyAppPool.Stop()
LogWrite "Trying to change App pool user name and password"
$MyAppPool | Set-ItemProperty -Name "processModel.username" -Value $NewUserName
$MyAppPool | Set-ItemProperty -Name "processModel.password" -Value $Password
$MyAppPool.Start()
}
Else {
LogWrite "Apppool $AppPool does not run using $OldUserName"
}
}
Else {
LogWrite "Apppool $AppPool not available "
}
}
执行脚本后,我试图访问它没有显示的站点。当我们手动设置密码时,它起作用了。我们怀疑密码没有正确更新。
如何确保应用程序池密码已更改?在 Set-item 之后,是否可以添加一个条件来验证?