Die .NET-Laufzeitumgebung wird benötigt. Diese mußte 2003 / 2004 noch gesondert installiert werden. Inzwischen ist sie bei Windows-Installationen standardmäßig mit dabei.
Bei allen Programmen handelt es sich um systemnahe Werkzeuge, zu starten von der Kommandozeile, Kurzinfo per /?. Zur Installation genügt es, die Dateien in ein Verzeichnis zu kopieren. Die XML-Dateien dienen als Readme.txt und können mit Notepad o.ä. geöffnet werden. Beispiele zur Bearbeitung der Konfigurationsdateien finden Sie unter Xml lernen . Die Lizenzbestimmungen sind im Impressum zu finden.
Nutzer mit dem InternetExplorer verwenden die rechte Maustaste zum Download einer Exe-Datei. Die linke Maustaste startet unter gewissen Umständen das Programm, anstatt einen Download zu beginnen.
Ein erstes Tool (derzeit nicht veröffentlicht) kann genutzt werden, um für eine Domain (non-www + www) ein neues Letsencrypt-Zertifikat erstmalig anzufordern und dieses im CertificateStore "Webhosting" zu speichern. Dieses Tool kann auch im Dauermodus laufen (Ausführung einmal pro Tag) und überprüft, ob Zertifikate erneuert werden müssen. Falls ja, wird das erledigt und das Zertifikat in "Webhosting" abgelegt.
sd-ACME-Servermanager prüft alle Bindungen einer Webserver-Anwendung, ob diese von einem vorgegebenen Aussteller sind.
Falls dies auf eine Bindung zutrifft und falls das Zertifikat nur noch maximal -days - Tage gültig ist, wird Webhosting durchsucht, ob es ein neueres Zertifikat mit demselben CommonName von demselben Aussteller gibt. Falls ja, wird das neue Zertifikat für diese Bindung genutzt.
Weitere Parameter ermöglichen die Versendung einer Informationsmail mit Daten darüber, welche Bindungen erneuert wurden und welche Zertifikate kritisch (Laufzeit bereits geringer als Wert des -days - Parameters, aber kein neueres Zertifikat gefunden) sind.
Nur wenn -update true als Parameter übergeben wurde, wird tatsächlich etwas geändert.
Beispiel für den Aufruf mit allen Parametern:
sd-acme-servermanager.exe -site "Server-Daten" -issuer "Let's Encrypt" -days 30 -mail-smtp www.server-daten.de -mail-port 587 -mail-from "noreply@sql-und-xml.de" -mail-to "info@sql-und-xml.de" -mail-ssl true -mail-user "mail" -mail-pwd "topSecret" -update true
Das Ersteinrichten einer neuen Domain mit einem Zertifikat wird also manuell erledigt: Http-Bindung einrichten, Zertifikat holen, https-Bindung einrichten. Ab dann wird das automatisch verwaltet.
Die eigentliche Verschlüsselung erfolgt mit einer symmetrischen AES-Verschlüsselung und einem Key/IV-Paar, das neu erzeugt wird. Dieses Schlüsselpaar wird mit dem RSA-Key verschlüsselt.
Der öffentliche RSA-Schlüssel kann einer anderen Person ohne Sicherheitsrisiko übermittelt werden. Diese kann mit dem Schlüssel und dem Tool eine große Datei verschlüsseln und - falls gewünscht - diese in mehrere Portionen aufteilen.
Der Empfänger der verschlüsselten Datei und des zusätzlich zu übermittelnden verschlüsselten AES-Schlüssels kann diese mit seinem privaten Schlüssel entschlüsseln (alle Dateien und das Programm in dasselbe Verzeichnis ablegen).
Das Programm enthält selbst keine Schlüssel, sondern arbeitet nur auf den vom Nutzer angegebenen Daten.
Ein Start ohne Parameter zeigt die drei Parameter -k / -e / -d (key / encrypt / decrypt) und Beispiele für deren Verwendung an.
Derzeit 0.9, falls noch Kleinkram dazu kommt.
Das Tool nutzt BackLink-Check (1.0) (+http://www.sql-und-xml.de/freeware-tools/) als UserAgent. Es beachtet das robots exclusion protocol und kann mit UserAgent: BackLink-Check sowie Disallow: / ausgeschlossen werden. Ein Sleep-Aufruf blockiert zwischen zwei Get-Befehlen für 2 Sekunden, so daß das Tool keine übermäßige Serverbelastung erzeugt. Näheres zur robots.txt ist in den robots-FAQ zu finden.
Anmerkung: Das Tool verwendet derzeit die API-Funktion SetNamedSecurityInfoEx und schien zunächst zu funktionieren. Inzwischen hat sich herausgestellt, daß diese Funktion nur in gewissen Fällen den gewünschten Effekt hat, so daß das Programm derzeit noch nicht das leistet, was eigentlich wünschenswert wäre.
Version 1.2: Unterstützung von Username und Passwort, so daß bsp. Virendefinitionen, die geschützt sind, geholt werden können. Ferner wurden die Errorlevel ergänzt. Bei http-Fehlern wird der http-Statuscode als Errorlevel gesetzt.
Version 1.3: Beim Speichern wird eine zusätzliche Datei 'Dateiname.last' mit Datum/Uhrzeit erzeugt. Bei einem späteren Aufruf sendet das Programm diesen Wert als IfModifiedSince-Header mit. Liegt dem Webserver keine neuere Version vor, so wird ein Http-Statuscode 304 zurückgegeben.
Version 1.4 (NET.2.0 erforderlich): Falls der Webserver die Datei mit GZIP komprimiert sendet, wird sie automatisch dekomprimiert. Dieses Feature nutzen manche Webserver inzwischen bsp. für Html-Seiten, um Bandbreite zu sparen.
Version 1.5: Wird anstelle des Dateinamens -h angegeben, so dient das Programm als Header-Viewer. Es gibt nur die Httpheader in der Konsole aus.
Version 1.6: Mit -t60 als letztem Parameter kann ein Timeout von 60 Sekunden für den Download gesetzt werden.
Ohne Änderung der Exe-Datei kann durch Anlegen einer Konfigurationsdatei download.exe.config im gleichen Verzeichnis ein Proxy genutzt werden:
<configuration> <system.net> <defaultProxy> <proxy usesystemdefault="true" proxyaddress="http://192.168.178.1" bypassonlocal="true" /> </defaultProxy> </system.net> </configuration>Das nutzt einen Proxy, der unter der Adresse http://192.168.178.1 erreichbar ist.
Version 4.0: Offline wurde schon lange eine Version genutzt, die http + https unterstützt. Diese Version ist nun online (4.0). Fehlerhafte Zertifikate werden ignoriert, es wird ein Hinweis ausgegeben. Damit läßt sich das Tool auch nutzen, um bsp. von Websites mit selbst signierten Zertifikaten Dateien herunterzuladen.
1.1: -in/-out kann denselben Namen bezeichnen, so daß eine Datei auf sich selbst konvertiert wird. Zunächst wird auf -out.$$$ konvertiert, dann wird -out.$$$ nach -out kopiert und schließlich -out.$$$ gelöscht. Ein Parameter -out"Datei.txt" überschreibt also "Datei.txt.$$$".
Neu in 1.0.1: Eine Konfigurationsänderung in der .Xml-Datei wird ohne Dienst-Neustart übernommen.
1.0.2: Datum und Uhrzeit des Ereignis-Eintrages auch als Parameter für die Programmausführung.
1.1: Als Source ist zusätzlich "*" möglich. Damit können alle Einträge eines EventLog bsp. auf den @EntryType = "'ERROR'" geprüft werden, ohne daß man für jeden Source eine eigene Zeile definieren muß.
1.2: Ergänzend zu %USER% gibt es %USERD% (Domänenname) und %USERN% (Nutzername) sowie %USER% = %USERD%\%USERN%. Damit kann bsp. dem Nutzer mit 'net send %USERN%' eine Nachricht geschickt werden.
Ein Hinweis am Rande, da derzeit in der Dokumentation (1.2) ein Vermerk fehlt: Die Standard-Mailparameter 'std-Mail-to' usw. werden durch 'Mail-to' usw. überschrieben.
1.2.1: Diese Version beseitigt einen Bug, der beim Ausführen eines Betriebssystembefehls auftreten kann, falls der Nutzername nicht belegt ist.
2.0: Diese Version setzt .NET.2.0 voraus. Nur diese NET-Version unterstützt die Verwendung von Nutzername und Passwort zur Authentifizierung gegenüber dem SMTP-Server: std-User='Mustermann', std-Pwd='top-secret'.
2.1: Negative / ausschließende Filter sind möglich: Eine Definition
<add EventLog="Application" source="*"> <add source='MSSQLSERVER' CategoryId='4' /> </add>erzeugt für alle Application-Einträge eine Mail - mit Ausnahme derer für den MSSQLSERVER mit KategorieId 4.
2.2: Wenn ein Programm eine EventId vom Datentyp Long (64Bit) einträgt, dürften die früheren Versionen einen Bug enthalten haben, der in 2.2 beseitigt ist.
2.2.1: Bisher konnten Bereiche in der Form '1, 5-8, 13' definiert werden. Das wird falsch, falls eine negative EventId zurückgegeben wird. Deshalb neu ab 2.2.1: Bereiche durch Leerzeichen. Nutzer mit einer älteren Version müssen beim Wechsel ihre Xml-Konfigurationsdatei anpassen.
2.2.1.1: Ein Bug entfernt - das Attribut log-path wurde fehlerhaft verarbeitet.
2.2.2: Den Startparameter /nomailinfo hinzugefügt. Dieser sorgt dafür, daß bei /nomail keine Zusatzinformationen mehr ausgegeben werden. Der Parameter kann auch der Dienstdefinition hinzugefügt werden (unter 'Dienste und Anwendungen').
2.3: Ein Nutzer berichtete vom Problem, daß zu einem Eintrag mehrere Mails verschickt wurden. Die Umstellung der seit 2003 genutzten, eher unorthodoxen 'Erkennungsmethode' für den neuesten Eintrag, die damals aufgrund von Fehlern der 'offiziellen Variante' eingeführt wurde, auf diese offizielle Variante beseitigte den Fehler bei diesem Nutzer.
2.3.1: Bei bestimmten Konstellationen (Programme von Drittanbietern) könnte die Programmausführung stoppen. Einige ergänzende Fehlerbehandlungen und Protokollierungen eingefügt.
2.3.2: War tatsächlich ein Bug.
2.4: Man kann ein Betreff / Subject relativ frei definieren. Ansonsten wird der Standard-Betreff 'evt-Watch: %MACHINENAME% %ENTRYTYPE%' genutzt. Bei der Gelegenheit wurde %MACHINENAME% gleich noch als möglicher Parameter für Befehle hinzugefügt.
2.5: Den Parameter %MESSAGE% ergänzt. Damit lassen sich die Inhalte über ein simples, per
cscript Scriptname "%MACHINENAME%" "%ENTRYTYPE%" usw.VBScript
Dim conn, sql Set conn = WScript.CreateObject("Adodb.Connection") conn.Open "Provider=Microsoft.Jet.Oledb.4.0;Data Source=E:\temp\beispiel.mdb" sql = "Insert Into evtDaten(Spalte1, Spalte2, Spalte3) Values(" & _ "'" & WScript.Arguments(0) & "', '" & _ WScript.Arguments(1) & "', '" & _ WScript.Arguments(2) & ")" 'WScript.Echo sql conn.Execute sql conn.Closein eine Datenbank speichern. Bei der per ' auskommentierten drittletzten Zeile kann man ' entfernen, um interaktiv zu testen, ob der Sql-Code korrekt ist. Bei der Message werden Zeilenumbrüche durch \n ersetzt. Man muß lediglich bei der Message eventuelle ' maskieren (per Replace(WScript.Arguments(..), "'", "''")).
2.6: Upps - vor lauter Arbeit ganz vergessen, daß es schon seit längerer Zeit eine Version 2.6 gibt: Zwei Parameter auf Vorschlag eines Nutzers ergänzt:
num-of-events: Kann mit einer Ganzzahl größer 0 belegt werden. Falls mit 5 belegt, wird nur jede fünfte Mail verschickt
time-between-two-mails: Kann mit einer Ganzzahl größer 0 belegt werden. Falls mit 60 belegt, liegt zwischen zwei Versendungen zu dieser add-Zeile mindestens 60 Sekunden.
Beide Parameter können dazu dienen, die Zahl der Mails zu reduzieren, falls ein auslösendes Ereignis in einem kurzen Zeitraum sehr häufig auftritt. Beide Parameter gelten auf der Ebene eines einzelnen add - Elements.
Das Problem war seinerzeit, daß gewisse Events manchmal extrem häufig auftraten, so daß das Mailkonto überflutet wurde. Eine Benachrichtigung wurde benötigt, aber 500 in einer Minute waren zu viel.
2.7: Eigentlich schon seit längerer Zeit eingefügt: Der SMTP-Server kann in der Form 127.0.0.1:587 definiert werden. Dann wird der Ausdruck geparst und das hinter dem Doppelpunkt als Port genutzt.
Da das Download.exe Username und Passwort unterstützt, kann man sich in einem Batch zunächst eine aktuelle Log-Datei vom eigenen Web-Server holen und diese nach robots-Aktivitäten durchsuchen.
Neu in Version 1.1: Ausgabe der Zahl der Fundstellen. Damit kann überprüft werden, wie oft bsp. ein UserAgent oder ein robot im Protokoll erscheint.
Ferner muß für diese Site unter Internet-Optionen - Sicherheit - Sicherheitseinstellungen erlaubt werden, daß ActiveX-Steuerelemente ausgeführt werden dürfen, die für Scripting sicher sind. Das als sicher markierte ActiveX ist die MSXML3 von Microsoft, die Sie bereits zum Lesen der Xml-Version verwenden. Welcher Code ausgeführt wird, steht in der XSL-Datei. Alternativ können Sie beide Dateien in ein lokales Verzeichnis kopieren und dort die .Xml-Datei öffnen.
Die Version 1.0 (29.03.2004) wurde gegenüber der älteren Version 0.6 um diverse Features ergänzt: Als Quelle kann eine Datei oder Url dienen, die RegEx-Optionen IgnoreCase, MultiLine, RightToLeft, CultureInvariant und ExplicitCapture können festgelegt werden. Beim Speichern werden alle aktuellen Werte in die Xml-Datei geschrieben, so daß beim nächsten Aufruf weitergearbeitet werden kann. Ferner sind die Fundstellen unterstrichen markiert, beim Klick auf eine Zelle wird der Einzelausdruck rot markiert. Schließlich wurde eine vollständige Unicode-Unterstützung implementiert. Die Textboxen unterstützen das RTF-Format, der Font kann durch Nutzer verändert werden und ist standardmäßig auf Arial Unicode MS festgelegt.
Für den Zugriff auf externe Urls wird der Useragent RegEx-Trainer (1.0) (+http://www.sql-und-xml.de/freeware-tools/) verwendet. Das Programm enthält keine Dokumentation zu RegEx-Ausdrücken. Hierfür kann entweder das NET-Framework - SDK oder das seit Oktober 2004 veröffentlichte RegEx-Tutorial dieser Domain genutzt werden.
<a href='sdtel://+49(0)30 420 200 60'>Telefon von sql-und-xml/server-daten</a> Telefon von sql-und-xml/server-datenBeim Klick auf den Link meldet sich das Telefon kurz, wird dann der Hörer abgenommen, dann wählt der Computer die Nummer. Analog kann in einer Excel-Zelle ein Hyperlink hinterlegt und anschließend per Mausklick telefoniert werden. Oder in Word wird ein Hyperlink mit dem sdtel-Ausdruck eingebunden.
Verwendung: Die beiden in der ZIP-Datei enthaltenen Dateien in ein Verzeichnis entpacken.
sd-telephone.exe
Dies setzt einige Registrierungseinträge, damit Browser und Programme wie Word/Excel, die Hyperlinks folgen, das Protokoll sdtel kennen. Dieser Schritt muß mit -k als Parameter wiederholt werden, falls die beiden Programmdateien an eine andere Stelle verschoben werden. Mit -u können die Registrierungseinträge entfernt werden.
Anschließend listet das Programm die auf dem PC gefundenen Adapter auf. Hierbei handelt es sich um Kommunikationsschnittstellen, Modems, Netzwerkanschlüsse - und bsp. um den USB-Anschluß zum Telefon. Einfach die eigene Nummer eintragen und der Reihe nach durchprobieren, wo das Telefon angesprochen werden kann. Am Ende speichern, das generiert eine kleine Xml-Datei im Verzeichnis und hinterlegt den Namen des korrekten Adapters. Diese Datei wird bei jedem Aufruf einmal gelesen.
Das oben erwähnte ISDN-Telefon erzeugte bsp. den Eintrag
Line 0 on HUB DeviceAllerdings ist unbekannt, warum diese Bezeichnung gewählt wurde.
Interaktiver Aufruf: sd-telephone -t "030 420 200 60"
Dies wählt die angegebene Nummer.
Eine analoge Befehlsfolge wird vom Browser oder Excel beim Klick auf den Link generiert.
Server-Daten - Kunden können damit ihre Adressen zentral in ihrer Web-Datenbank verwalten und müssen keine Telefonbücher mehr für ISDN-Telefone pflegen.
Neu in 1.0.2: Zwei Felder für die Ländervorwahl und für die regionale Vorwahl. Wenn die Telefonnummer im internationalen Format (bsp. +4930 42020060 oder auch +49(0)30 420 200 60) übergeben wird und das Feld für die Ländervorwahl den Wert '+49' hat, dann wird dieser Vorspann entfernt und die eventuell fehlende '0' ergänzt.
Beginnt die Nummer mit einem '+' und einer anderen Fortsetzung (etwa +41 für die Schweiz), so wird '00' als internationale Vorwahl ergänzt.
Ein neuer Parameter -v (verbose) gibt vor dem Wählen die Originalnummer und die eventuell anhand der Länderdaten transformierte Nummer aus.
1.0.2.1: Ein Bug entfernt, mit -k -v läßt sich der -v - Parameter in die Registrierung schreiben. Die sichtbare DosBox bleibt bei -v stehen.
1.1: Ein neuer Startparameter -callto wurde hinzugefügt. Wird das Programm einmal als Admin mit diesem Parameter gestartet, dann wird der normalerweise Skype zugewiesene callto-Handler auf sd-telephone geändert. Damit können Links der Form
<a href='callto://+49(0)30 420 200 60'>Telefon von sql-und-xml/server-daten</a> Telefon von sql-und-xml/server-datenebenfalls korrekt genutzt werden. Solche Links werden inzwischen von diversen Webseiten für Telefonnummern generiert. Anstelle von Skype wird so das ISDN-Telefon angesprochen.
Vorsicht: Skype wird dann beim Klick auf solche Links nicht mehr gestartet. Um den Url-Handler wieder auf Skype zurückzusetzen, muß Skype wahrscheinlich repariert werden. Technisch ist das nur ein Eintrag in der Registrierung unter
HKEY_LOCAL_MACHINE\Software\Classes\callto\shell\open\commandden man sich vor dem Ausführen von sd-telephone.exe -callto auch manuell sichern und wieder zurückspielen bzw. eintippen kann.
Wenn Ihnen diese Programme nützen, können Sie diese Seite gerne verlinken. Fügen Sie den folgenden Html-Code in den Quellcode Ihrer Site ein oder passen Sie die Darstellung Ihren Wünschen an:
<a href="https://www.sql-und-xml.de/freeware-tools/"> Freeware-Tools in NET</a>Anregungen, Fragen und Hinweise zu Bugs bitte an tools @ sql-und-xml.de