Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Gmail Login-Script -Powershell- hat Probleme mit Methoden

Mitglied: ITFrischling

ITFrischling (Level 1) - Jetzt verbinden

24.10.2013, aktualisiert 25.10.2013, 2891 Aufrufe, 12 Kommentare, 2 Danke

Hallo,

Seit 1.8.2013 beschäftige ich mich nun beruflich mit der IT. Ich hab eine Ausbildung zum Fachinformatiker - Systemintegration gestartet.
Soweit macht mir das auch viel Spaß und ich entwickle weitere Interessen. Eine Davon ist Powershell. Hier bin ich ein Einsteiger und probiere
im Moment nur aus und schaue mir Quellcodes an, welche ich dann versuche nachzuvollziehen. Und hier ist das Problem. Ich bin auf einen
Gmail-Login Script gestoßen und habe dort eine Passwort Abfrage eingefügt. Auf der Arbeit funktionierte das super. Daheim nicht mehr.

01.
$url = "http://gmail.com"
02.
 
03.
$username="******.*****@gmail.com"
04.
 
05.
$password=Read-Host -Prompt "Passwort eingeben"
06.
 
07.
$ie = New-Object -com internetexplorer.application;
08.
 
09.
$ie.visible = $true;
10.
 
11.
$ie.navigate($url);
12.
 
13.
while ($ie.Busy -eq $true)
14.
 
15.
{
16.
 
17.
    Start-Sleep -Milliseconds 1000;
18.
 
19.
}
20.
 
21.
$ie.Document.getElementById("email").value = $username
22.
 
23.
$ie.Document.getElementByID("passwd").value=$password
24.
 
25.
$ie.Document.getElementById("signin").Click(); 
Dies sind die Fehlermeldungen:
01.
Fehler beim Aufrufen der Methode, da [System.__ComObject] keine Methode mit dem Namen "getElementById" enthält.
02.
In C:\PowerShellKram\GmailLogin.ps1:21 Zeichen:1
03.
+ $ie.Document.getElementById("email").value = $username
04.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
05.
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
06.
    + FullyQualifiedErrorId : MethodNotFound
07.
 
08.
Fehler beim Aufrufen der Methode, da [System.__ComObject] keine Methode mit dem Namen "getElementByID" enthält.
09.
In C:\PowerShellKram\GmailLogin.ps1:23 Zeichen:1
10.
+ $ie.Document.getElementByID("passwd").value=$password
11.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12.
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
13.
    + FullyQualifiedErrorId : MethodNotFound
14.
 
15.
Fehler beim Aufrufen der Methode, da [System.__ComObject] keine Methode mit dem Namen "getElementById" enthält.
16.
In C:\PowerShellKram\GmailLogin.ps1:25 Zeichen:1
17.
+ $ie.Document.getElementById("signin").Click();
18.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19.
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
20.
    + FullyQualifiedErrorId : MethodNotFound

Meine Frage wäre nun: Was stimmt hier nicht mehr? Ich benutze Internet Explorer 10. Mein Betriebssystem ist Windows7 64Bit.


Ich bedanke mich schonmal für eure Bemühungen mir zu helfen.

mit freundlichen Grüßen

ITFrischling
Mitglied: colinardo
24.10.2013, aktualisiert um 21:08 Uhr
Hallo ITFrischling, Willkommen im Forum!
zuerst mal würde ich sagen das du dich für eine Methode entscheiden solltest, wie du deine Script-Zeilen beendest (mit Semikolon oder ohne). Ein Semikolon ist nicht nötig wenn du jeden Befehl in eine neue Zeile schreibst. Wenn du aber mehrere Befehle in eine Zeile schreiben willst kannst du dies jeweils getrennt mit einem Semikolon tun.

Dies ist in deinem Script aber nicht der Fehler, sondern dies könnte eine Eigenart des InternetExplorers sein wenn der ProtectedMode in der Internet-Zone aktiv ist, siehe dazu auch folgenden Beitrag.

Starte dein Script alternativ mal in einer Powershell mit Adminrechten, dann sollte es eigentlich laufen. Hier läuft es zumindest problemlos...

Grüße Uwe
Bitte warten ..
Mitglied: ITFrischling
24.10.2013 um 21:06 Uhr
Hey colinardo,

Ich hatte es mit den Adminrechten bereits versucht jedoch entstand auch dort der gleiche Fehler...Danke für deine Hilfe




mit freundlichen Grüßen

ITFrischling
Bitte warten ..
Mitglied: colinardo
24.10.2013, aktualisiert um 21:14 Uhr
Fahr mal ein Update auf Powershell 3.0 auf deinem Windows 7 ... dann sehen wir weiter.
Grüße Uwe
p.s. die Eingabe von
$PSVersionTable.PSVersion
in der Powershell zeigt dir die aktuell installierte Version an (PSVersion)
Bitte warten ..
Mitglied: ITFrischling
24.10.2013 um 21:24 Uhr
01.
Major  Minor  Build  Revision
02.
-----      -----     -----     --------
03.
 3          0       -1         -1

Powershellversion 3.0 hatte ich bereits. Habe jetzt noch einmal die Benutzerkontesteuerung komplett heruntergefahren aber wieder der gleiche Fehler.
Bitte warten ..
Mitglied: colinardo
25.10.2013 um 00:16 Uhr
füge mal in Zeile 20 deines Scripts noch eine zusätzliche Pause ein.
sleep(2)
Die Fehlermeldungen sagen eigentlich aus das das COM-Objekt noch kein DOM erzeugt hat und damit auch die Methoden fehlschlagen.
Mir kommt das gerade in den Sinn weil ich vor kurzem ein ähnliches Phänomen mit dem IE bei der Programmierung mit AutoIT hatte, und da hat eine zusätzliche Pause die Lösung gebracht.

probier's mal aus...
Bitte warten ..
Mitglied: ITFrischling
25.10.2013 um 06:23 Uhr
Hey Ich habe es mal ausprobiert. Auch dies hat leider nicht geholfen. Das komische ist ja auf der Arbeit funktionierte es.
Bei mir Daheim startet er nur den IE und leitet mich auf Gmail. Danach passiert nichts mehr.

Grüße

ITFrischling
Bitte warten ..
Mitglied: ITFrischling
28.10.2013 um 09:56 Uhr
Ich habe noch ein paar updates gezogen... hat leider auch nicht geholfen.
Ergo wir sind immer noch bei null...



mit freundlichen Grüßen

ITFrischling
Bitte warten ..
Mitglied: colinardo
28.10.2013, aktualisiert 15.01.2014
OK, ändere mal die URL auf folgende:
https://accounts.google.com/ServiceLogin?service=mail
und dann machst du in den folgenden Zeilen aus dem großen "D" bei Document ein kleines "d". Bei einer dieser Zeilen war außerdem beim getElementById das letzte "D" groß geschrieben. Das kann zu diesen Fehlern führen ! Es sind ja im Grunde JavaScript-Funktionen und JavaScript ist ja bekanntlich Case-Sensitive.
Im ganzen sollte das Script dann folgendermaßen aussehen, dann sollte es funktionieren:
01.
$url = "https://accounts.google.com/ServiceLogin?service=mail"
02.
$username="******.*****@gmail.com"
03.
$password=Read-Host -Prompt "Passwort eingeben"
04.
$ie = New-Object -com InternetExplorer.Application
05.
$ie.visible = $true
06.
$ie.navigate($url)
07.
while ($ie.Busy -eq $true)
08.
{
09.
    sleep(1)
10.
}
11.
$ie.document.getElementById("Email").value = $username
12.
$ie.document.getElementById("Passwd").value = $password
13.
$ie.document.getElementById("signIn").click()
Wenn nicht, was ich nicht glauben kann, versuch das selbe mal mit einem VBS-Script umzusetzen:
01.
url = "https://accounts.google.com/ServiceLogin?service=mail"
02.
username = "******.*****@gmail.com"
03.
password=InputBox("Passwort eingeben:")
04.
Set ie = CreateObject("internetexplorer.application")
05.
ie.visible = True
06.
ie.Navigate(url)
07.
while ie.Busy
08.
Wend
09.
ie.document.getElementById("Email").value = username
10.
ie.document.getElementById("Passwd").value = password
11.
ie.document.getElementById("signIn").click()
Grüße Uwe
Bitte warten ..
Mitglied: ITFrischling
28.10.2013 um 10:28 Uhr
Hey,

Danke für diesen Rat...Ich werde es später direkt einmal umsetzen. Das komische ist, das Script läuft öffnet auch die URL aber dann trägt es nichts in die Eingabefelder ein und der Fehler kommt. Wie das jetzt mit dem Script läuft was du mir gegeben hast kann ich erst später sagen, da ich auf der Arbeit bin. Ich danke Dir und werde später "Meldung" machen.


mit freundlichen Grüßen

ITFrischling
Bitte warten ..
Mitglied: ITFrischling
28.10.2013 um 19:56 Uhr
Moin,

Ich habs jetzt mal getestet es hatte jedoch nichts mit groß/kleinschreibung zu tun.
Ich hab ein wenig geguckt was eigentlich benötigt wird um System. Comobject aufzulösen.
Man glaubt es kaum man braucht die Bibliothek von Visual Studio... Ergo Visual Studio express
runterladen. Und nun funktioniert es. Ich bedanke mich trotzdem VIELMALS bei Dir für die Hilfe.
Ich hoffe ich kann mit der Lösung hier helfen.


mit freundlichen Grüßen

ITFrischling
Bitte warten ..
Mitglied: colinardo
28.10.2013 um 20:19 Uhr
Kann nicht sein, denn hier geht es auf einem jungfrâulichen Windows 7 direkt ohne Zusätze .... Denke das hatte eventuell was mit deinem installierten .NET Framework zu tun, da Powershell darauf aufsetzt.
Naja, wenns jetzt geht weiterhin viel Erfolg beim lernen von Powershell

Grüße Uwe
Bitte warten ..
Mitglied: ITFrischling
29.10.2013 um 06:33 Uhr
Hm... Ist ja komisch.. naja gibt eben sehr komische Fehler egal in welchen Bereichen. Ich weis nur, dass es jetzt seitdem ich Visual Studio installiert habe funktioniert. .NET Framework hatte ich vorher schon da ich mir durchaus bewusst war, dass Powershell darauf aufsetzt. Naja ich bin mir sicher ich stoße noch oft genug auf lustige Fehler in meinem "IT-Leben" Danke für die Hilfe.


Viele Grüße

ITFrischling
Bitte warten ..
Ähnliche Inhalte
Windows Server

Login Script verzögert ausführen

Frage von Intruder0001Windows Server6 Kommentare

Hallo gibt es die Möglichkeit das login Script verzögert nach der Anmeldung ca. 10-20sek auszuführen ?? Gerade bei schnellen ...

Windows Server

Login Script als Domänenadmin ausführen

Frage von erikroWindows Server28 Kommentare

Hallo zusammen, folgendes Problem: Es sollen Außendienstmitarbeiter je nach Einsatzort einer bestimmten Gruppe im AD zugewiesen werden, damit sie ...

Windows Server

MS SQL Login Problem

gelöst Frage von theoberlinWindows Server26 Kommentare

Hallo zusammen, Umgebung ist 2012r2 Domäne und MS SQL Express 2014 auf VM. ich habe folgende 2 Probleme: 1. ...

E-Mail

Terminverwaltung Outlook GMail

Frage von Huibuh2010E-Mail3 Kommentare

Hallo, ich wollte mal fragen ob es eine Lösung für folgende Situation gibt. Im Büro sind Mitarbeiter die mit ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Trend Micro Worry Free Business Security 10.0 - erneutes Patch (1494) erschienen!

Tipp von VGem-e vor 5 StundenErkennung und -Abwehr1 Kommentar

Moin, unter ist ein neuer Patch verfügbar, der offenbar auch Windows 10.1809 unterstützt. Tja, wie letztes Mal auch, erst ...

Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 5 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 5 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 9 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

Heiß diskutierte Inhalte
Samba
Windows 10 Client in Samba-Domäne hinzufügen scheitert
Frage von diwaffmSamba32 Kommentare

Hi Leute, ich habe einen Samba Server in der Version 4.9.3 auf einer OpenSuse Maschine laufen. Damit sind momentan ...

Router & Routing
Verbindung zweier Netze via Lancom VPN-Router . Problem
Frage von ThorstenBrRouter & Routing26 Kommentare

Hallo Leute, mein erster Post hier im Forum ich versuche mich gerade in Lancom Router ein zu arbeiten. Dafür ...

Windows Systemdateien
Verknüpfungen nach Pfadwechsel
Frage von Hendrik2586Windows Systemdateien17 Kommentare

Guten Morgen meine lieben Kollegen und Kolleginnen, ich hab da mal eine Frage die Ihr sicher schon kennt. Es ...

Windows Server
Testweise Installation eines Domänencontrollers
Frage von gerd33Windows Server16 Kommentare

Hallo Zusammen, mein Netzwerk ( 2 Praxen + 1 Wohnhaus) ist per VPN (WAN) verbunden, mit jeweils einem LAN, ...