Script for Thinapp Application Usage Statistic

ThinApp Nutzungsstatistik
ThinApp Nutzungsstatistik

Sicherlich gibt es verschiedene Möglichkeiten ThinApp Nutzungsstatistiken zu erstellen. Ein Beispiel dafür ist folgendes Script von Patrick Fulgraff, von der Bau- und Umweltschutzdirektion Basel Land, wo ich vor kurzem einen mehrtägigen Workshop hielt.

Als .vbs script in´s ThinApp package eingebaut liefert es detaillierte Ergnebisse zu Art, Version, Nutzungszeitraum, Lizenztyp etc.

Die Auswertung erfolgt in diesem Beispiel in einer Access Datenbank. Hier kann natürlich auch eine SQL DB eingesetzt werden.

Hier nun das script:

‘ Region Description
‘ Name: Beispiel.vbs
‘ Author: Patrick Fulgraff
‘ Version: 1.5
‘ Description: Script für Thinapp Applikations-Nutzungs-Statistik

‘ EndRegion
‘Variabeln deklaration
Option Explicit
Dim strUser, strComputer, objNetwork, vComputerCase, vUserCase, vApp, vAppCase, vDatum, db, sql, objApp, Exec, rs1, rs2, rs3, connstring, strSQL, vGivenname, vSurname, strSQLgn, strSQLsn, strSQLdn, vName, vdn, vou
Dim vBewilligung, vLizenz

‘Applikationsname und Version eintragen
vApp = “AppName 1.0”
‘Lizenz angeben Free, Client, Concurrent, Site usw.
vLizenz = “Concurrent”
‘Bewilligungspflichtig Ja, Nein
vBewilligung = “Nein”
Set objNetwork = CreateObject(“Wscript.Network”)
Set objApp = CreateObject(“WScript.Shell”)
‘Benutzername auslesen
strUser = objNetwork.UserName
‘Computername auslesen
strComputer = objNetwork.ComputerName
Set rs1 = CreateObject(“adodb.recordset”)
Set rs2 = CreateObject(“adodb.recordset”)
Set rs3 = CreateObject(“adodb.recordset”)
    connstring = “Provider=ADsDSOObject”
‘SQL Statementstrings zusammenstllen für givenname
strSQLgn = “SELECT givenname FROM ‘LDAP://dc=bl,dc=ch’ WHERE sAMAccountName=” & “‘” & strUser & “‘”
‘SQL Statementstrings zusammenstllen für sn
strSQLsn = “SELECT sn FROM ‘LDAP://dc=bl,dc=ch’ WHERE sAMAccountName=” & “‘” & strUser & “‘”
‘SQL Statementstrings zusammenstllen für distinguishedName
strSQLdn = “SELECT distinguishedName FROM ‘LDAP://dc=bl,dc=ch’ WHERE sAMAccountName=” & “‘” & strUser & “‘”
‘Givenname auslesen
rs1.Open strSQLgn, connstring
     vGivenname = rs1(“givenname”)
‘sn auslesen
rs2.Open strSQLsn, connstring
    vSurname = rs2(“sn”)
‘disitingueshedName auslesen
rs3.Open strSQLdn, connstring
    vdn = rs3(“distinguishedName”)   
    rs1.close
    rs2.Close
    rs3.Close
‘Nachname und Vorname zusammmen stellen
vName = vSurname & “, ” & vGivenname
‘Auslesen des Distinguished Name, Wert muss angepasst werden (39 Zeichen)
vdn = Right(vdn, 39)
‘Auslesen er OU, Wert muss angepasst werden (3 Zeichen)
vou = Left(vdn, 3)
‘Computername in Grossbuchstaben setzen
vComputerCase = UCase(strComputer)
‘Benutzername in Grossbuchstaben setzen
vUserCase = UCase(strUser)
‘Applikation ind Grossbuchstaben setzen
vAppCase = UCase(vApp)
‘Datum und Uhrzeit zusammenstellen
vDatum = Date() & ” ” & Time()
‘Verbindung zur Datenbank erstellen, Datenbank muss Vorhanden sein (Wenn vorhanden SQL-DB benutzen und Treiber anpassen)
Set db = CreateObject(“ADODB.Connection”)
db.Open(“DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\\Server01\appstream\Statistik\AppUse.mdb “)
‘In die Datenbank schreiben, Tabelle mit entsprechenden Spalten muss vorhanden sein.
sql = “INSERT INTO AppUse (Name, DST, Login, Computer, Datum, Applikation, Lizenztyp, Bewilligungspflichtig) VALUES (‘” & vName & “‘,'” & vou & “‘,'” & vUserCase & “‘,'” & vComputerCase & “‘,'” & vDatum & “‘,'” & vAppCase & “‘,'” & Lizenz & “‘,'” & vBewilligung & “‘)”
db.Execute sql

Das script läßt sich wunderbar weiteren Bedürfnissen anpassen.

Tags: , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: