これは、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ページを実行せずに終了したことを示します。
ネットを検索しましたが、理由がわかりません。