Benutzer mit den meisten Antworten
Auf den Webseite nach einem bestimmten Wort/String suchen

Frage
-
Hallo Zusammen
Ich habe letzte Woche begonnen mit PowerShell zu skripten. Ich habe verschiedene Einführungsdokumente gelesen und Beispielaufgaben gelöst.
Nun wollte ich mein erstes Skript schreiben. Ich will ein Überwachungsskript schreiben, welches folgende Punkte überwacht:
- Verfügbarkeit einer Webseite (Es soll überprüft werden, ob bestimme Wörter/Strings verfügbar sind)
- Verfügbarkeit von bestimmten Ports (HTTP, HTTPS, etc.)
- Verfügbarkeit von bestimmten Services (SMTP, DNS, Domino, etc.)Ich habe mal mit dem Skript begonnen und habe folgendes:
$ie = New-Object -com "InternetExplorer.Application"
$ie.navigate("www.PSIE.ch")
$ie.visible = $true
$doc = $ie.document
$StrText = "Test PSIE"
$TITLE = $doc.getElementsByTagName("TITLE")Hier habe ich schon den ersten Fehler:
You cannot call a method on a null-valued expression.
At line:6 char:35
+ $TITLE = $doc.getElementsByTagName <<<< ("TITLE")
+ CategoryInfo : InvalidOperation: (getElementsByTagName:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNullWoran kann das liegen?
Grüsse PSIE
- Bearbeitet PSIE Donnerstag, 14. Juni 2012 08:58
Antworten
-
Ich konnte es lösen! Ich habe anstelle von "$TITLE = $doc.getElementsByTagName("TITLE")" das eingesetzt: $Title = $ie.Document.title
$ie = New-Object -com InternetExplorer.Application $ie.navigate2("www.PSIE.ch") while($ie.busy) {sleep -Milliseconds 5} $ie.visible = $true $StrText = "PSIE" $Title = $ie.Document.title if($StrText -eq $TITLE) {write-host "Right"} else{write-host "False"}
Alle Antworten
-
Sieh mal hier:
Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '- Als Antwort vorgeschlagen Peter Kriegel Donnerstag, 14. Juni 2012 13:06
- Nicht als Antwort vorgeschlagen Peter Kriegel Donnerstag, 14. Juni 2012 13:07
- Als Antwort vorgeschlagen Peter Kriegel Freitag, 15. Juni 2012 05:59
- Nicht als Antwort vorgeschlagen Peter Kriegel Donnerstag, 12. Juli 2012 06:24
-
Sieh mal hier:
Danke für die schnelle Antwort.
Zwar kommt die Fehlermeldung nicht mehr, aber es klappt immer noch nicht.
Ich habe jetzt folgenden Code:
$ie = New-Object -com InternetExplorer.Application
Wenn ich diesen Ausführe bekomme ich für die Variable $TITLE den Wert "System.__ComObject" statt den Text. Woher kommt das?
$ie.navigate2("www.PSIE.ch")
while($ie.busy) {sleep -Milliseconds 5}
$ie.visible = $true
$StrText = "PSIE"
$Title = $ie.Document.getElementsByTagName("TITLE")
if($StrText -eq $TITLE) {write-host "Right"}
else{write-host $TITLE}
-
Beim debuggen muss man in kleinen schritten vorgehen!
Funktioniert denn folgender Code bei dir (als Administrator ausführen!):
$ie = new-object -com internetexplorer.application $ie.visible=$true $ie.navigate2('www.unisg.ch') while($ie.busy) {sleep -Milliseconds 5} $ie.Document.all | foreach {$_}
P.S. Nimm bitte um Code einzufügen, hier im Forum, die Codeeinfüge Möglichkeit!Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' ' -
Beim debuggen muss man in kleinen schritten vorgehen!
Funktioniert denn folgender Code bei dir (als Administrator ausführen!):
$ie = new-object -com internetexplorer.application $ie.visible=$true $ie.navigate2('www.unisg.ch') while($ie.busy) {sleep -Milliseconds 5} $ie.Document.all | foreach {$_}
- Als Antwort vorgeschlagen W-AM Samstag, 17. März 2018 23:40
-
Ich konnte es lösen! Ich habe anstelle von "$TITLE = $doc.getElementsByTagName("TITLE")" das eingesetzt: $Title = $ie.Document.title
$ie = New-Object -com InternetExplorer.Application $ie.navigate2("www.PSIE.ch") while($ie.busy) {sleep -Milliseconds 5} $ie.visible = $true $StrText = "PSIE" $Title = $ie.Document.title if($StrText -eq $TITLE) {write-host "Right"} else{write-host "False"}
-
Die Forenteilnehmer verwenden ihre Freizeit um anderen zu helfen.
Trage bitte mit dazu bei, das dies so bleibt. Dazu gehört:- Hilfreiche Antworten mit der Funktion "Als hilfreich bewerten" (auf der linken Seite des Postings) zu "belohnen" .
- Antworten, die deine Frage beantwortet haben oder zur Lösung deines Problems beigetragen haben, unten als "Antwort [zu] markieren".
- Eine kurze Rückmeldung zu schreiben, ob das Problem gelöst wurde. Auch ein kurzes "Danke" schadet nicht. :)
Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' ' -
>Habe ich dir nicht geholfen ??
Nimms nicht persönlich wenn die Leute nicht markieren, Peter. Es gibt diverse Gründe warum das (nicht) passiert und die haben denke ich in den seltensten Fällen etwas mit Ignoranz oder gar bösem Willen zu tun.
Grüße, DenniverBlog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort". -
Danke für den Trost Denniver! :-))
Nicht jeder Blinde den man zu seinem Teller führt, erkennt das er ohne die Führung verhungert wäre!
Essen kann er ja selbst. ;-))Ist nur manchmal frustrierend...
Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '- Bearbeitet Peter Kriegel Montag, 18. Juni 2012 06:13