PowerShell – Blog https://blog.christianabele.de Christian Abele Fri, 05 Oct 2018 11:13:57 +0000 de-DE hourly 1 https://wordpress.org/?v=5.6 https://blog.christianabele.de/wp-content/uploads/2017/06/cropped-Unbenannt-1-32x32.jpg PowerShell – Blog https://blog.christianabele.de 32 32 In SharePoint Logs nach einer Korrelations-ID suchen https://blog.christianabele.de/2018/10/05/in-sharepoint-logs-nach-einer-korrelations-id-suchen/ https://blog.christianabele.de/2018/10/05/in-sharepoint-logs-nach-einer-korrelations-id-suchen/#comments Fri, 05 Oct 2018 11:10:52 +0000 https://blog.christianabele.de/?p=391 Hier ein Beispiel wie man die SharePoint Log-Dateien anhand einer bestimmten Korrelations-ID filtert und anzeigt. Nachfolgenden Text hierfür in die SharePoint-Verwaltungsshell kopieren und eine Korrelations-ID einsetzen. Das Ergebnis wird in diesem Beispiel in eine Datei „ULSlogs.txt“ geschrieben.

Get-splogevent | ?{$_.Correlation -eq "<Correlation ID>"} | select Area, Category, Level, EventID,Message | Format-List > C:\ULSlogs.txt

 

]]>
https://blog.christianabele.de/2018/10/05/in-sharepoint-logs-nach-einer-korrelations-id-suchen/feed/ 1
Website Monitoring mit PowerShell https://blog.christianabele.de/2018/04/11/website-auf-veraenderungen-beobachten/ https://blog.christianabele.de/2018/04/11/website-auf-veraenderungen-beobachten/#respond Wed, 11 Apr 2018 21:08:57 +0000 https://blog.christianabele.de/?p=271 „Website Monitoring mit PowerShell“ weiterlesen]]> Szenario: Ein Freund wollte sich neulich über die Website einer Whisky-Distillerie an einer Führung anmelden. Leider waren bereits alle Termine ausgebucht. Er vermutete jedoch, dass hin und wieder jemand absagt und es wieder Termine zur Verfügung hat.

Um nun nicht regelmäßig die Website besuchen zu müssen und nach verfügbaren Terminen zu schauen und auch um sofort über einen freien Termin benachrichtigt zu werden, wird das folgende PowerShell-Skript in regelmäßigen Abständen über die Windows Aufgabenverwaltung ausgeführt.

$URI = "https://webapl.suntory.co.jp/factory/yamazaki/course/c__00012/td__20180508/?lang=en"
$HTML = Invoke-WebRequest -Uri $URI
$VALUE = ($HTML.ParsedHtml.getElementsByClassName("emp_select")[0]).innerText
$PSEmailServer = "smtp.christianabele.de"
$utf8 = New-Object System.Text.utf8encoding

if($VALUE -eq "8× ")
{
   #Testergebnis negativ. Keine freien Termine.
}
else
{
   #Testergebnis positiv. Es gibt freie Termine.
   Send-MailMessage -Encoding $utf8 -to "XXXXXXXXX@gmail.com" -from "PowerShell <XXXXXXXXX@christianabele.de>" -Subject "Testergebnis POSITIV" -body "VERANSTALTUNGEN ZUR VERFUEGUNG! SCHNELL SEIN"
}

Das Skript besucht die Website, sucht das zu prüfende Element anhand der Klasse und liefert dann den Inhalt des Elements als Text zurück. Dieser wird dann mit einem Prüfwert verglichen und bei Bedarf eine Mail versendet.

Um PowerShell-Skripte über die Aufgabenverwaltung auszuführen, müssen diese über PowerShell selbst und nicht direkt aufgerufen werden:

powershell -file "C:\script.ps1"

 

]]>
https://blog.christianabele.de/2018/04/11/website-auf-veraenderungen-beobachten/feed/ 0