Tag-Archiv für » community «

09 | 01 | 2018

Die Windows Server User Group Berlin trifft sich am 25.01.2018

Geschrieben von um 20:30 Uhr

Als Host und Sponsor beherbergt uns diesmal die Jaemacom GmbH.

Agenda und Anmeldung: [ KLICK ]

Tags » , , , «

+

16 | 12 | 2016

Erstes Treffen der EXUSG Berlin – das war schön :-)

Geschrieben von um 19:25 Uhr

Gestern haben wir uns bei der dama.go am Spittelmarkt zum ersten Mal getroffen. Der Abend war ein voller erfolg – geballtes Know-How in einem Raum, inspirierende Vorträge, tolle Gespräche und auch ein bißchen Nostalgie 🙂

Mein Vorschlag, Termine für die Treffen in 2017 bereits jetzt festzulegen, wurde zumindest nicht abgelehnt. Die Termine stehen unter http://exusg.de/veranstaltungen/terminplanung-2017/ zur Abstimmung nach dem Motto „wer was dagegen hat, möge sich jetzt äußern oder für immer schweigen“.

Ich freue mich schon auf das nächste Treffen, voraussichtlich im Februar.

Tags » , , , , , , «

+

10 | 10 | 2016

PowerShell Hack: TechNet-Teilnahme eines Users messen oder eine Übung im Web Grabbing

Geschrieben von um 9:04 Uhr

Wenn man im TechNet-Forum (https://social.technet.microsoft.com/Forums/de-de/home) unterwegs ist, kann man ja Punkte verdienen. Hat man eine Frage beantwortet und hat der Fragesteller das bestätigt, gibt es Punkte. Hat jemand den Post für hilfreich erklärt, gibt’s auch Punkte. Ist man in vielen Microsoft-Technologien unterwegs, möchte man manchmal wissen, wo man denn die meiste Contribution geleistet hat. Das Forumsystem selbst gibt da zwar eine sehr detaillierte Auskunft in Form einer Aktivitäten-History, aber man möchte ja eigentlich einfach nur schnell einen Überblick gewinnen. Und vielleicht auch nicht über sich, sondern auch über andere user. Was liegt an einem verregneten Sonntag also näher, als einfach ein Skript zu schreiben, das die Webseite für einen durchgeht und die Daten einsammelt.

Die Grundlage dafür ist das Cmdlet Invoke-WebRequest, welches ein Objekt vom Typ „Microsoft.PowerShell.Commands.HtmlWebResponseObject“ zurück liefert. Dieses hat eine Eigenschaft „ParsedHtml“, die vom Typ „mshtml.IHTMLDocument2“ ist. Damit wären wir schon fast am Ziel, man muss einfach nur an den Perversitäten der Web-Entwickler und der verschahtelten Struktur der DIV-Tags vorbei kommen. In der Thread-Ansicht zum Beispiel hat die Vorschau auf jeden Beitrag die Klasse „threadsnippet“:

paul_thread_snippet

Den Inhalt bekommt man also mit

$page = Invoke-WebRequest -Uri "https://social.technet.microsoft.com/Forums/en-us/user/threads?user=Paul++Cunningham"
$html = $page.ParsedHtml
$html.all.tags("DIV") | foreach {
    if ($_.className) {
        if ($_.className.Trim() -eq "threadsnippet") {
            $snippet = $_
            foreach ($head in $snippet.all.tags("H3")) {
                $thread_topic = $head.innerText.Trim()
                foreach($link in $head.all.tags("A")) {
                    $thread_link = $link.href
                }
            }
        }
    }
}

Am Ende hat man dann in $thread_topic den Header und in $thread_link den Link zum gesamten Thread. Und so weiter.
Ich habe dafür zwei Skripte geschrieben, die in der PSGallery heruntergeladen werden können:

Export-TechNetContributionToCSV.ps1 geht die Beiträge des angegebenen Users durch und macht daraus eine CSV-Dateie mit diversen Informationen inklusive Links zu den einzelnen Threads. Schauen wir uns zum Beispiel die Contribution des bekannten Exchange-MVP Paul Cunningham an (man beachte die zwei Leerzeichen im TechNet-Usernamen):

tn_paul_export

Ist die CSV fertig, so kann man sie mit Measure-TechNetContribution.ps1 nach Foren oder sogar nach einzelnen Subforen zusammenfassen und, je nach Lust und Laune, tabellarisch oder sonst wie darstellen lassen:tn_paul_measureoder nach Hauptforen gegliedert:

tn_paul_measure_main

So kann man herausfinden, in welchen Wissensgebieten sich z.B. ein Kollege betätigt, der gern im TechNet Forum schreibt.

Tags » , , , , «

+