다운로드가 트리거 될 때 새 탭을 열고 해당 파일을 저장/열기/닫기 프롬프트가 표시되기 바로 전에 닫는 웹 사이트에서 파일 다운로드를 자동화하는 데 어려움을 겪고 있습니다. 창문. 스크립트 자체는 작업 스케줄러에서 시도 할 때까지 수동으로 시작할 때 잘 작동합니다. 그것은 다운로드에 방해가 될 때까지 잘 실행됩니다. 다운로드해야 할 파일의 URL을 캡처하고 PowerShell ISE에서 올바르게 작동하지만 작업 스케줄러에서 시작할 때 결과를 반환하지 않는 Invoke-WebRequest
으로 전달하는 코드를 포함 시켰습니다. 나는 카운터와 테스트 파일 생성을 코드에 포함시켜 do-while의 내용이 전혀 실행되지 않는지 확인하고 10 번의 시도가 모두 기록되었다. 작업 스케줄러를 통해 실행될 때 결과를 반환하지 않는 활성 URL을 통해 검색하는 부분입니다.Windows 작업 스케줄러 Powershell이 URL 및 다운로드 파일을 가져옵니다.
# >> Keep trying to capture the CSV download link
$i = 1
Do {
$i | Add-Content -Path "C:\userfolder\try.txt"
$urls = (New-Object -ComObject Shell.Application).Windows() |
Where-Object {$_.LocationUrl -like "https://sitename.com/ReportViewer*"} |
Where-Object {$_.LocationUrl}
$reportURL = @($urls)[0].LocationURL
$i ++
}
While ($reportURL -eq $NULL -and $i -le 10)
# >> Send download link to web request and save to file
Invoke-WebRequest -Uri $reportURL -OutFile "C:\userfolder\ProfileList.csv"
나는 전에 Wscript.Shell AppActivate and SendKeys('%S')
을 시도했지만 작업 스케줄러를 통해 출시 할 때 PowerShell 콘솔 창에 포커스를 hijakcing 되었기 때문에에서는 AppActivate 아마 작동하지 않을 것입니다. 이 작업은 인수가 C:\userfolder\CPdownload.ps1 -RunType $true
인 powershell.exe를 실행하도록 설정되어 있습니다. - 시작은 C:\userfolder
입니다. 실행 : 사용자가 가장 높은 권한으로 로그인 한 경우에만; Windows Server 2012 R2 용으로 구성되었습니다.
나는 또한 똑같은 결과로 작업 스케줄러에서 배치 파일을 통해 셸 스크립트를 시작하려고했습니다.
미리 알려 주셔서 감사합니다.
감사합니다 다음 링크를 확인하라!/IT가 그랬어! – Elena