Ein Blog rund um Microsoft Windows und allem, was sonst noch so anfällt...

PowerShell zur automatisierten IE-Anmeldung

von Georg Binder 4. February 2010 08:00

Spike fragt:

“Wir bekommen Internetzugriff über die Uni, das sieht folgendermaßen aus: wenn der PC länger als 6 Stunden ausgeschalten war (etwa über Nacht), muss man sich neu anmelden über ein Formular im Browser mit Login und PW - danach ist man für 6 stunden online, und danach muss man sich wieder einloggen. Windows 7 erkennt automatisch, dass man zwar im netz ist, aber eben "noch weitere Anmeldeinformationen nötig sind" und automatisch der Browser aufgemacht wird, um eben diese einzugeben. Nun meine frage: kann ich das irgendwo in 7 abspeichern, dass automatisch ein solcher Login ausgeführt wird, jedesmal, wenn erkannt wird, dass man wieder offline ist? (also nach 6 stunden). Habe schon länger danach gebingt, aber ist etwas schwierig auf sowas ne antwort zu finden... “

Vielleicht denke ich jetzt auch zu kompliziert, aber folgendes wäre mir dazu eingefallen:

  • PowerShell zur IE Automatisierung
  • Task Scheduler (Aufgabenplanung)

Zugegeben, das Skript ist nicht “fertig”, da müsstest Du sicher noch einiges selber nachbasteln, aber ich bin so weit, dass ich mich mit PowerShell automatisch einloggen kann. Idee stammt übrigens aus dem aktuellen c’t (4/2010 S. 118).

PowerShell und IE
Der IE lässt sich nicht nur aus China steuern (hahaha, das musste sein), sondern auch mit der PowerShell. Im folgenden Skript (z.B. als Relog.ps1) abspeichern, sucht der IE nach bestimmten HTML Formfelder (ID) und fügt dort die Werte ein… da die eigenen Werte eintragen, jeweils für die ID der Formfelder und die Logon/Passwort Information:

$ie=New-Object -comobject InternetExplorer.Application
$ie.visible=$true
$ie.Navigate(“https://DeineURL”)
while($ie.busy){Start-Sleep 1}
$ie.Document.getElementById("DieFormIDfürdenUser").value="DeinUser"
$ie.Document.getElementById("DieFormIDfürdasPasswort").value="1234567"
$ie.Document.getElementById("DieFormIDfürdenLoginButton").Click()
while($ie.busy){Start-Sleep 1}

Die visibile Zeile ist nur zum Debuggen, dafür kann man am Ende (wenn es funktioniert) noch ein $ie.quit hinzufügen. Wenn die ID nicht bei den Forms dabei ist, dann wird es etwas komplizierter,..

Task Scheduler
Nun muss das Skript nur noch gestartet werden im richtigen Moment… das wäre wohl jener, wo die Blase bezüglich "noch weitere Anmeldeinformationen nötig sind" – und dieser Event steht ziemlich sicher irgendwo im Eventlog. Also in der Aufgabenplanung eine neue Aufgabe erstellen

image

Leider hab ich den nicht rausgefunden (mangels WLAN, das eine solche Anmeldung erfordert,…) und die Suchbegriffe dazu sind wirklich doof. Wenn da wer das richtige Eventlog und Ereignis-ID liefern kann…. gerne gesehen. Alternativ… lass das einfach alle x Minuten oder Stunden durchlaufen. Und dann noch das vorab erstellte Skript starten.

image

So, das sollte es sein. Automatische Anmeldung sollte nun erfolgen.

 

Comments (4) -

>

2/4/2010 10:21:12 AM#

> Der IE lässt sich nicht nur aus China steuern (hahaha, das musste sein)....

Georg, you made my day. Smile

Besim KaradenizDeutschland | Reply

>

2/4/2010 11:11:37 AM#

Hey volt denk ich zu einfach aber wenn sich der IE eh automatisch öffnet kann man ja einfach bei der nervigen "Wollen Sie das Kennwort speichern?"-Frage auf Ja drücken und fertig...keine Ahnung ob's funktioniert aba es wär viel einfacher als das powershell rumgebastle...

Und auch ich hab mich Tod gelacht bei dem Chinesen Satz.

Ciao
berni

BerniÖsterreich | Reply

>
>

2/4/2010 11:37:45 AM#

Ja, stimmt schon aber ich denke, dass es um das "automatisch" geht, auch wenn man nicht vor dem Rechner sitzt. Also während man noch auf der Party abfeiert, läuft zu Hause im Heim der Bittorrentclient,...

Georg BinderÖsterreich | Reply

>
>
>

2/4/2010 5:17:10 PM#

> läuft zu Hause im Heim der Bittorrentclient

Natürlich nur im Linux Distributionen zu laden, oder Laughing

wer im Glashaus sitzt...Deutschland | Reply

Add comment

  Country flag

biuquote
Loading

Datenschutzhinweis: Sie stimmen durch "Kommentar speichern" der Speicherung Ihrer Angaben durch Microsoft Österreich für die Beantwortung der Anfrage zu. Sie erhalten dadurch keine unerwünschten Werbezusendungen. Ihre Emailadresse wird auf Ihren Wunsch dazu verwendet Sie über neue Kommentare zu informieren.

Microsoft respektiert den Datenschutz. Datenschutz & Cookies