Auf einer Website angemeldet oder nicht mit PowerShell

Man kann mit PowerShell oder auch VB.NET prüfen, ob man auf einer Website angemeldet ist oder nicht.

Mögliches Einsatzgebiet:
Ihr prüft ob ein Benutzer auf einer Website angemeldet ist – wenn nein, lass ein Cookie schreiben.
Das wäre z.B. sinnvoll in einem Unternehmens – Intranet.

fancycrave1 / Pixabay

Ich nutze es privat und zeige das am Beispiel Amazon. Ich lasse mir einen Status Report schicken, wenn ich noch angemeldet sein sollte.

 

Vorgehensweise

  1. Internet Explorer com Objekt erstellen
  2. Eine bestimmte Webseite aufrufen (Beispiel Amazon)
  3. Dort ein Element (z.B. “Meine Bestellungen”) auslesen, von dem du weißt welchen Wert es haben muss, wenn du eingeloggt bist.
    Wenn du nicht angemeldet bist kommt die Anmeldeseite, “Meine Bestellungen” gibt es dann nicht.
  4. Hat es den erwarteten Wert, bist du eingeloggt ansonsten nicht.

 

Prüfen, ob auf einer Website angemeldet – mit PowerShell

<# .SYNOPSIS Pruefen ob auf Website angemeldet 
.DESCRIPTION Prueft anhand von HTML ob man auf einer Website angemeldet ist 
.NOTES Version: 1.0 Author: www.ITnator.net | Johannes Huber Creation Date: 19.10.2017 
.EXAMPLE #> 

$ie = New-Object -Com "InternetExplorer.Application" 
$ie.Visible = $false 
$ie.Navigate('https://www.amazon.de/gp/css/order-history/ref=nav_youraccount_orders') 

while($ie.Busy){
sleep .5
} 
if ($ie.Document.body.innerText -match 'Bestellungen'){ 
write-host "angemeldet" 
}
else{ 
write-host "abgemeldet" 
} 
$ie.Quit()

 

Prüfen, ob auf einer Website angemeldet – mit VB.NET

' SYNOPSIS:     Pruefen ob auf Website angemeldet
' DESCRIPTION:  Prueft anhand von HTML ob man auf einer Website angemeldet ist
' VERSION:      1.0
' AUTHOR:       www.ITnator.net | Johannes Huber
' CREATED:      19.10.2017


Dim TheBrowser As New SHDocVw.InternetExplorer

TheBrowser.Navigate("https://www.amazon.de/gp/css/order-history/ref=nav_youraccount_orders")
Threading.Thread.Sleep(5000) 'seite muss erst geladen werden
Dim inhalt As String = TheBrowser.Document.Body.innerText 'inhalt auslesen
     If inhalt.Contains("Bestellungen") Then
                'angemeldet
            Else
                'abgemeldet
     End If
TheBrowser.quit()

 

Anbei zu diesem Thema, wäre der Beitrag über “Browser im Hintergrund öffnen und Seite aufrufen” interessant.
Dieser ist ebenfalls auf unserer Seite zu finden.
https://www.itnator.net/internet-explorer-im-hintergrund-oeffnen-und-wieder-schliessen-vb-net/

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments