ausschau halten. Für ein Passwort Reset (zum Beispiel wenn „Passwort speichern“ aktiv aber neues Passwort) den „Password“ Datensatz in [account] löschen. Um den kompletten Account mit allen Daten zu löschen entweder [server] komplett oder [account] löschen.
Falschen Produkt Key in Office 2007 eingegeben? Nachträglich doch einen anderen Key nutzen? Aktivierung funktioniert nicht richtig oder nimmt den Key nicht an? Ein Reset des Produkt Keys in Office 2007 ist total easy.
Schließt alle Office Programme.
Öffnet die Registry („regedit.exe“) und sucht dort nach [plain] 64bit: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Registration 32bit: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Registration [/plain]
Öffnet den darin enthaltenen Schlüssel, der entweder so aussehen dürfte: {91120000-00CA-0000-0000-0000000FF1CE} oder so: {90120000-0030-0000-0000-0000000FF1CE}
Löscht die darin enthaltenen Einträge DigitalProductID und ProductID
Fertig. Beim nächsten Start eines Office Programms muss ein neuer Lizenzschlüssel eingegeben werden. Es soll auch relativ einfach sein Office 2007 ohne Produkt Schlüssel zu aktivieren. Das habe ich aber nicht getestet und werde es hier auch nicht beschreiben. Siehe hier.
Update:
Download
Ich habe euch sogar 2 einfache .reg Dateien erstellt, die genau das tun: diese 2 Keys löschen. Einmal für 64bit und einmal für 32bit. Doppelklick während alle Office Programme geschlossen sind, fertig! delete-office2007-activation-64bit [.reg] delete-office2007-activation-32bit [.reg] (Rechtsklick -> [Link/Ziel] speichern unter…)
Regelmäßige Backups sind Pflicht überall im IT Bereich. Das Smartphone übernimmt immer mehr Aufgaben in unserem Alltag und enthält immer mehr wichtige Daten. Die Sicherung der Smartphone Daten sollte regelmäßig erfolgen.
Zum Beispiel mit JS Backup. Die Android App ist besonders einfach zu bedienen und sichert manuell oder regelmäßig das komplette System inklusive Anwendungen, Bilder, Videos und Musik. Also eigentlich alles, was man braucht.
Gesichert werden viele Komponenten des Systems wie zum Beispiel Kontakte, SMS/MMS, Systemeinstellungen, Kalendereinträge; und mehr. Dabei kann JS Backup die Daten nicht nur lokal speichern sondern wahlweise auch direkt in der Dropbox, Google Drive oder SugarSync. Dabei werden die Daten als lesbare csv Dateien in einer .zip gespeichert, sind also auch ohne die App einseh- und lesbar. Für die Sicherung von Bildern, Videos und Musik muss eine aktive WLAN Verbindung bestehen; die Sicherung des Systems erfolgt immer und zwar recht flink.
Auch die Anwendungen können selektiv für ein extra Backup ausgewählt werden. Aus irgendeinem Grund sind die Sicherungen der Anwendungen und des Rests nicht in einem Rutsch möglich. Irgendwie soll es auch möglich sein, die gesicherten Daten und Anwendungseinstellungen im Browser über einen Backup Server zu betrachten und zu verwalten, das habe ich noch nicht so recht geschafft. Die Wiederherstellung erfolgt so einfach und schnell wie die Backups.
Fazit: diese App ist einfach, übersichtlich und sichert ohne Root Rechte praktisch das komplette System, sowohl lokal als auch in der Cloud. Daumen hoch für diese kostenlose Android Perle.
In Zeiten von NSA Vollüberwachung, BND Zusammenarbeit, „full take“s und weit mehr unfassbarem Bockmist etlicher Geheimdienste und Regierungen, muss man sich über Datenschutz und Verschlüsselung langsam mehr Gedanken machen. Ich danke jedem Entwickler, der den Nutzern dabei hilft, diese zwei wichtigen Ziele zu erreichen.
Also preise ich hier mal die Chrome Erweiterung BlockPRISM deutscher Studenten des Hasso Plattner Instituts und eines Studenten der Stanford University an. Diese Erweiterung verpasst dem Facebook Chat eine PGP Verschlüsselung und macht sie somit unlesbar für alle Fremden „Zuschauer“.
Dazu müssen beide Chatpartner das Plugin installieren, sich damit bei Facebook anmelden und ein komplexes Passwort eingeben, mit dem die Verschlüsselung erfolgen soll. An dieser Stelle ist ein wirklich komplexes Passwort sinnvoll. Wichtig aber: merkt euch das Passwort! Ihr müsst an allen Geräten, auf denen ihr die Chats verschlüsseln wollt, das gleiche Passwort eingeben.
Und schon läuft die Verschlüsselung unsichtbar im Hintergrund. Ist das Plugin installiert und aktiv sieht man nur den normalen Text. Deaktiviert man aber die Erweiterung, sieht man nur unlesbaren Text.
Das rockt und ist ziemlich sicher. Nun kann man also auch privatere Informationen über den Chat austauschen, ohne sich Gedanken machen zu müssen.
Als Hobby-Webentwickler und fanatischer Batch Scripter musste das Thema Batch HTML Reports ja irgendwann mal kommen. Heißt: Batch führt irgendwelche Aktionen aus und visualisiert das Ergebnis in einer schönen HTML Datei.
Eigentlich straight forward: in der Batch Datei wird ein
echo
mit HTML Code in eine .html Datei umgeleitet, fertig. Naja, ganz so einfach ist es leider nicht. Hier ein Beispiel:
Befehl würde an eckigen Klammern und Slashes abstürzen, daher muss jeglicher HTML Code in Anführungsstrichen eingebettet werden. Leider schreibt Batch diese Anführungszeichen mit in das Dokument. Nun gibt es sicherlich einige Lösungsansätze:
1. (nicht empfohlen) Alle Sonderzeichen escapen und Anführungszeichen weglassen:
echo ^<html^>^<body^> > t.html
echo Ein Test >> t.html
echo ^<span^>Fehlerlevel: %errorlevel%^<^/span^> >> t.html
echo ^<^/body^>^<^/html^> >> t.html
Alle Sonderzeichen, die den Batch
echo
Befehl in die Knie zwingen würden, werden mit dem Escapezeichen ^ neutralisiert. Funktioniert, but… seriously? Ich hoffe aber niemand denkt ernsthaft darüber nach diese Technik zu verwenden…
2. (nicht empfohlen) HTML Code nicht über das Batch sondern über eine externe Komponente schreiben: Wenn Batch ungern HTML schreibt könnte man auch ein externes Programm oder Script aufrufen und den gewünschten HTML String irgendwie übergeben. Klingt aber schon im Ansatz irgendwie uncool.
3. HTML mit Anführungszeichen schreiben und diese dann rausfiltern: Also so mache ich das zumindest! Der HTML Code wird wie im Beispiel oben geschrieben und danach nutze ich mein Zeichen-suchen-und-ersetzen-vbs-Script aus dem letzten Artikel und filtere die Anführungszeichen raus. Batch:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
Const ForWriting = 2
' Parameter einlesen
inputFile = WScript.Arguments(0)
outputFile = WScript.Arguments(1)
' Datei öffnen und Text einlesen und schließen
Set objFile = objFSO.OpenTextFile(inputFile, ForReading)
strText = objFile.ReadAll
objFile.Close
' Anführungszeichen rauslöschen
strNewText = Replace(strText, """", "")
' Neue Datei erstellen mit neuen Inhalten füllen
set resultFile = objFSO.CreateTextFile(outputFile, true)
resultFile.WriteLine strNewText
resultFile.Close
Resultat:
Ping Test HTML Report
Nun kann ich also HTML schreiben. Der Weg zum schönen HTML Bericht ist aber noch nicht geschafft. Ich empfehle einen gewissen Projekt-Aufbau um bessere HTML Berichte zu erstellen. Vorschlag:
vorlage.html – enthält bereits ein halbes HTML Gerüst
style.css – für das Design
script.bat – das Script
deleteChar.vbs – siehe oben, löscht die Anführungszeichen
temp.html – temporär für die Batch
report.html – fertiger Report nachdem deleteChar.vbs die temp.html bearbeitet hat
Batch:
Color 9f
@echo on
setlocal
REM Vorlage nach temp.html kopieren, damit der HTML Code nicht jedes Mal komplett
REM geschrieben werden muss. Vor allem wenn der <head> und der Aufbau größer ist.
REM Kann alles schon fertig in die vorlage.html geschrieben werden.
cmd /c echo d | xcopy "vorlage.html" "temp.html" /c /v /i /y
REM optionaler Timestamp
echo "<span id="timestamp">%date% %time%</span>" >> "temp.html"
REM Bericht füllen, Code from: http://stackoverflow.com/a/3870183/516047
for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 www.google.de') DO (
if "%%b" NEQ "" set ip=%%b
)
echo "<div class='computer'><span class='name'>www.google.de</span><span class='comment'>IP: %ip%</span></div>" >> temp.html
for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 www.microsoft.com') DO (
if "%%b" NEQ "" set ip=%%b
)
echo "<div class='computer'><span class='name'>www.microsoft.com</span><span class='comment'>IP: %ip%</span></div>" >> temp.html
for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 www.facebook.de') DO (
if "%%b" NEQ "" set ip=%%b
)
echo "<div class='computer'><span class='name'>www.facebook.de</span><span class='comment'>IP: %ip%</span></div>" >> temp.html
for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 www.hannes-schurig.de') DO (
if "%%b" NEQ "" set ip=%%b
)
echo "<div class='computer'><span class='name'>www.hannes-schurig.de</span><span class='comment'>IP: %ip%</span></div>" >> temp.html
for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 http://studium.hannes-schurig.de') DO (
if "%%b" NEQ "" set ip=%%b
)
echo "<div class='computer'><span class='name'>http://studium.hannes-schurig.de</span><span class='comment'>IP: %ip%</span></div>" >> temp.html
echo "</div><!--#wrapper--></body></html>" >> "temp.html"
REM Anführungszeichen aus der temp.html löschen und in report.html schreiben
cscript //nologo "deleteChar.vbs" "temp.html" "report.html"
REM temp.html löschen
if exist temp.html del /f /q temp.html
:end
endlocal
Hier ein weiteres Beispiel, wie ich mit einigen zusätzlichen Programmierungen (Download gibts auf Anfrage) die Konnektivität von Arbeitsrechnern überprüfe und anzeigen lasse:
Ziel ist es in einer beliebigen Datei – der Inhalt sollte aber schon irgendeine Art von Text sein – scriptgesteuert Text oder Zeichen suchen und ersetzen zu können; und zwar ohne Installation von Tools wie grep/sed sondern nur mit dem Script. Eine pure Batch-Lösung halte ich für zu riskant, da Batch mit zu vielen Sonderzeichen Schwierigkeiten hat. Statt dessen greifen wir auf ein einfaches .vbs Script zurück.
Für Einsteiger: VBS (Visual Basic Script) Scripts sind Batch Scripts sehr ähnlich. Es ist praktisch nur Text in einer Datei mit der Dateiendung .vbs. Ausgeführt werden .vbs Scripts mit folgendem Code aus der CMD heraus, ggf. mit Parametern:
cscript //nologo script.vbs "parameter1"
VBS Scripts, im Vergleich zu Batch, laufen allerdings etwas stabiler, liefern notfalls Fehlermeldungen und bieten auch mehr Features. An dieser Stelle nutzen wir also diese Vorteile aus.
Hier der Code für ein einfaches .vbs Script zum Auslesen einer Datei, Suchen und Ersetzen 3 verschiedener Zeichen/Texte und Schreiben in eine andere Datei:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
Const ForWriting = 2
' Datei öffnen und Text einlesen und schließen
Set objFile = objFSO.OpenTextFile("test.html", ForReading)
strText = objFile.ReadAll
objFile.Close
' Änderungen am Inhalt
strNewText = Replace(strText, """", "'")
strNewText = Replace(strNewText, "lang='de'", "lang='en'")
strNewText = Replace(strNewText, "Hannes Schurig", "Max Mustermann")
' Neue Datei erstellen mit neuen Inhalten füllen
set resultFile = objFSO.CreateTextFile("test-neu.html", true)
resultFile.WriteLine strNewText
resultFile.Close
Relativ straight forward. Hier ein Beispielresultat:
Für eine bessere Handhabung lässt sich nun dieses Script optimieren. Die Eingabe- und Ausgabedatei könnte man parametirisieren. Wenn immer nur 1 Sache ersetzt werden soll, sich diese aber während der Scriptlaufzeit ändert oder erst währenddessen entschieden wird, könnte man auch diese Daten als Parameter übergeben.
Hier der Code für ein komplexeres .vbs Script:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
Const ForWriting = 2
' Parameter einlesen
inputFile = WScript.Arguments(0)
outputFile = WScript.Arguments(1)
searchText = WScript.Arguments(2)
replaceText = WScript.Arguments(3)
' Datei öffnen und Text einlesen und schließen
Set objFile = objFSO.OpenTextFile(inputFile, ForReading)
strText = objFile.ReadAll
objFile.Close
' Änderungen am Inhalt
strNewText = Replace(strText, searchText, replaceText)
' Neue Datei erstellen mit neuen Inhalten füllen
set resultFile = objFSO.CreateTextFile(outputFile, true)
resultFile.WriteLine strNewText
resultFile.Close
Hier das Resultat:
Eigentlich recht easy. In meinem nächsten Beitrag werden ich dieses Script nutzen um mit Batch dynamische HTML Reports zu erstellen. Wait for it!