2

これは、Server2003で正常に実行されるPowershellスクリプトです。Server2008R2に移行する必要があり、スクリプトが機能していません。具体的には、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 に答える