2
这是一个在Server 2003下运行良好的Powershell脚本。我们需要迁移到Server 2008 R2并且脚本无法运行。具体来说,脚本在等待IE完成加载页面时未处于睡眠状态。Windows Server 2008 R2 PowerShell和Internet Explorer 9
$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
}
当我与可见集运行真的,我可以看到IE浏览器打开,APAdmin.asp页面加载,然后脚本表示,它没有运行APAdmProcessClosings.asp页面完成。
我搜索了网络,但一直未能找到任何理由。
我不知道它是否将参数解释为毫秒?你尝试过“开始 - 睡眠 - 1”吗? – D3vtr0n