2012-12-14 115 views
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页面完成。

我搜索了网络,但一直未能找到任何理由。

+0

我不知道它是否将参数解释为毫秒?你尝试过“开始 - 睡眠 - 1”吗? – D3vtr0n

回答

1

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