Envoyer des frappes sur une fenêtre spécifique à l’aide de PowerShell

Est-il possible d’envoyer des séquences de touches à une fenêtre spécifique à l’aide de PowerShell?
En ce moment, j’ouvre une fenêtre IE.
Ensuite, en appelant le lien, une fenêtre de téléchargement s’ouvre.
J’envoie un ALT + TAB pour basculer dans la fenêtre de téléchargement et LEFT + ENTER pour confirmer le téléchargement.
Est-il possible d’envoyer cette LEFT + ENTER à une fenêtre spécifique sans se focaliser dessus?
Mon code ressemble à ça:

$ie=new-object -com internetexplorer.application $ie.navigate2($url) $ie.visible=$true while($ie.busy) {Start-Sleep 1} start-sleep -seconds 1 [System.Windows.Forms.SendKeys]::SendWait("%{TAB}") start-sleep -seconds 1 [System.Windows.Forms.SendKeys]::SendWait("{LEFT}") [System.Windows.Forms.SendKeys]::SendWait("{ENTER}") 

Je veux envoyer les frappes sur une fenêtre spécifique pour m’assurer que la fenêtre de téléchargement reçoit les frappes, même si le focus n’y est pas.
Je sais que l’envoi de touches n’est pas la meilleure façon de télécharger le fichier, mais j’ai aussi essayé ceci:

 $webclient = New-Object System.Net.WebClient $webclient.Credentials = New-Object System.Net.Networkcredential($user, $password) $webclient.DownloadFile($urlWeb,$path) 

Je reçois toujours une erreur 403 et je n’ai pas encore trouvé de solution pour résoudre ce problème …

Je ne suis pas vraiment fan de SendKeys car cela échoue presque toujours. Si j’utilise le lien fourni, je peux télécharger le fichier avec ce code Powershell:

 $userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" $target = "http://download.thinkbroadband.com/5MB.zip" $folder = "C:\TEMP\5MB.zip" $web = New-Object System.Net.WebClient $web.Headers.Add("user-agent", $userAgent) $web.DownloadFile($target, $folder) 

Vous devrez peut-être également append des informations d’identification réseau.