Iis 如何验证应用程序池用户名和密码是否已更新?

Iis 如何验证应用程序池用户名和密码是否已更新?,iis,powershell,iis-7,iis-7.5,powershell-2.0,Iis,Powershell,Iis 7,Iis 7.5,Powershell 2.0,我已经编写了一个powershell脚本,使用“webadministration”管理单元更新apppool的用户名和密码 执行脚本后,我试图访问该站点,但它没有显示。当我们手动设置密码时,它起作用了。我们怀疑密码没有正确更新 如何确保应用程序池密码已更改?在设置项之后,是否可以添加一个条件来验证 我对IIS powershell提供程序比较陌生,但我相信您可能需要调用set item,以便将配置更改保存到应用程序池中 要进行测试,请获取应用程序池项,打印processModel密码值以查看原

我已经编写了一个powershell脚本,使用“webadministration”管理单元更新apppool的用户名和密码

执行脚本后,我试图访问该站点,但它没有显示。当我们手动设置密码时,它起作用了。我们怀疑密码没有正确更新


如何确保应用程序池密码已更改?在设置项之后,是否可以添加一个条件来验证

我对IIS powershell提供程序比较陌生,但我相信您可能需要调用set item,以便将配置更改保存到应用程序池中

要进行测试,请获取应用程序池项,打印processModel密码值以查看原始值(我看到这一点时感到惊讶),然后更新它,然后确保调用set item以更新IIS

e、 g


我对IIS powershell提供程序比较陌生,但我相信您可能需要调用set item,以便将配置更改保存到应用程序池

要进行测试,请获取应用程序池项,打印processModel密码值以查看原始值(我看到这一点时感到惊讶),然后更新它,然后确保调用set item以更新IIS

e、 g

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 "
    }


}
$pool = IIS:\apppools\myapppool

$pool.processModel.password
$pool.processModel.password = $new_password

# doens't take effect until this
#
$pool | set-item

# should show updated value
#
$pool.processModel.password