2

这是一个在 Server 2003 下运行良好的 Powershell 脚本。我们需要迁移到 Server 2008 R2 并且该脚本无法正常工作。具体来说,脚本在等待 IE 完成页面加载时没有休眠。

$objIE = New-Object -ComObject "InternetExplorer.Application"
if($objIE.ReadyState -notmatch "0|1|2|3|4")
{
    $objIE = [System.Runtime.InteropServices.Marshal]::GetActiveObject("InternetExplorer.Application")
    if($objIE.ReadyState -notmatch "0|1|2|3|4")
    {
        Stop-Process -processname iexplore
        $objIE = New-Object -ComObject "InternetExplorer.Application"
    }
}

$objIE.Visible = $giShowResults

$objIE.Navigate($gsURL + "APAdmin.asp?cmd=login&loginname=" + $gsAdminName + "&password=" >>+ $gsAdminPassword)
while($objIE.Busy -eq $true)
{                        
    $dtNow = Get-Date
    Start-Sleep 1 # Sleep for one second
}
$objIE.Navigate($gsURL + "APAdmProcessClosings.asp?cmd=run&AutomatedProcess=y")
while($objIE.Busy -eq $true)
{
    Start-Sleep 1 # Sleep for one second
}

当我在 Visible 设置为 true 的情况下运行时,我可以看到 IE 打开,加载 APAdmin.asp 页面,然后脚本说它在没有运行 APAdmProcessClosings.asp 页面的情况下完成。

我已经搜索了网络,但还没有找到任何原因。

4

1 回答 1

1

看来增强的安全配置是问题所在。一旦我将该站点添加到受信任站点列表中,该作业就会成功运行。

于 2012-12-18T19:10:54.747 回答