none
Automatisierter Login mit Powershell (Place Holder umgehen) RRS feed

  • Frage

  • Hallo, ich möchte den Login für diverse Seiten automatisieren.
    Für die Umsetzung gibt es auch schöne Beiträge aus anderen Foren.
    Quelle

    Nur habe ich momentan so meine Schwierigkeiten mit Place Holdern.
    Sobald ich beim Microsoft Login die E-Mail Adresse angebe, verschwindet der Place Holder nicht und ich kann nicht "weiter" klicken, da keine gültige E-Mail Adresse angegeben wurde.

    Ich hatte versucht mit .focus() oder .click() das entsprechende Textfeld in den Focus zu nehmen, dies klappt aber nicht so wirklich.
    Quelle

    Weiß jemand wie ich den Place Holder beeinflussen kann?

    $user = $ie.document.getElementByID('i0116')
    $user.click()
    $user.focus()
    
    $user.value = "$username"
    
    $Link = $ie.document.getElementByID('idSIButton9')
    $Link.click()
    
    start-sleep -s 2
    
    $passwort.click()
    $passwort.focus()
    $passwort = $ie.document.getElementByID('i0118')
    $passwort.value = "$password"
    
    $Link = $ie.document.getElementByID('idSIButton9')
    $Link.click()


    Mittwoch, 31. März 2021 08:03

Antworten

  • Das funktioniert mit dem IE nicht (mehr). Dahinter hängt ein Javascript-Event, das wirklich nur auslöst, wenn tatsächlich ein Mausclick oder Tastendruck in das Feld erfolgt.

    Man kann das trotzdem professionell automatisieren, mit Selenium. Allerdings ist die Lernkurve recht steil und das ganze macht nur Sinn, wenn du weitere Schritte dahinter ebenfalls automatisieren willst.

    Hier ist eine erste Einführung: Selenium-Powershell


    Blog: http://www.bytecookie.de

    Powershell Code Manager: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Montag, 5. April 2021 00:28
    Moderator

Alle Antworten

  • Ich denke, das wird z.T. durch Richtlinien verhindert. Was meinst du wohl wieviele Hacker genau diese Methoden verwenden und welchen Aufwand es macht genau das zu verhindern.
    Auf den Elementen sitzen i.d.R. auch Events, so dass alles eben auf Usereingaben wartet bevor es weitergeht.
    Textfelder einfach zu verändern reicht da wohl nicht aus da das Event nicht ausgelöst wird.
    Mittwoch, 31. März 2021 08:16
  • Google Chrome füllt diese Formulare ja auch automatisch aus und wenn man richtig krass drauf ist, simuliert man einfach einen Mausklick und das Event ist Geschichte :D


    Mittwoch, 31. März 2021 09:14
  • Dann musst du mal schauen, wie Google Crome die Informationen speichert und dann wiederherstellt.
    Dies sind halt Sicherheitsaspekte die man nur mit mir nicht bekannten Hackermethoden umgehen kann.

    Eine Anwendung wie Browser kann ja machen was sie will. Mit Javascript kommt man aber nicht an alles heran.
    Andererseits kannst du dafür ja einen eigenen Browser-Part schreiben.
    Du musst nur analysieren was du per HTTP-Request bekommst und dann zurücksenden musst und machst dann das selbe.

    Mittwoch, 31. März 2021 10:10
  • Moin,

    da auch PowerShell das Kennwort nicht erraten kann, sondern irgendwo speichern muss, würde ich das Vorgehen gern hinterfragen. Warum nimmst Du nicht einfach einen Passwort-Manager mit Browser-Plugin, der Microsoft Login- (und andere Login-)Formulare einfach ausfüllen kann? Da ist das Kennwort vermutlich sicherer gespeichert als alles, was Du mit PowerShell zusammenskripten kannst ;-)


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Mittwoch, 31. März 2021 10:33
  • Das funktioniert mit dem IE nicht (mehr). Dahinter hängt ein Javascript-Event, das wirklich nur auslöst, wenn tatsächlich ein Mausclick oder Tastendruck in das Feld erfolgt.

    Man kann das trotzdem professionell automatisieren, mit Selenium. Allerdings ist die Lernkurve recht steil und das ganze macht nur Sinn, wenn du weitere Schritte dahinter ebenfalls automatisieren willst.

    Hier ist eine erste Einführung: Selenium-Powershell


    Blog: http://www.bytecookie.de

    Powershell Code Manager: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Montag, 5. April 2021 00:28
    Moderator