Edit Comment
IT-Stuff, Tutorials, Software, Internet, Unterhaltung Willkommen auf IMA

Archive for the ‘IT’ Category

Es kann hier und da mal nützlich sein: per Fernzugriff von entfernten PCs Informationen bekommen, Aktionen durchführen oder Zugriff erhalten.
Na gut, Letzteres kann man mit den RDP Tools von Windows schon genug. Für den Rest habe ich eine brauchbare kleine Software Suite entdeckt:
Desktop Central – Free Windows Admin Tools 2

Die Suite muss nur auf dem Admin PC installiert werden und die Clients brauchen 1 Computereinstellung, die sich lokal oder auch per Gruppenrichtlinie konfigurieren lässt.
Lokal: Start -> Ausführen -> gpedit.msc

Computereinstellungen/Administrative Vorlagen/Netzwerk/Netzwerkverbindungen/Domänenprofil

“Windows-Firewall: Eingehende Remoteverwaltungsausnahme zulassen” aktivieren und ggf. den IP Bereich einschränken
via GPO:

Computereinstellungen/Richtlinien/Administrative Vorlagen/Netzwerk/Netzwerkverbindungen/Domänenprofil

“Windows-Firewall: Eingehende Remoteverwaltungsausnahme zulassen” aktivieren und ggf. den IP Bereich einschränken
remote administration desktop central gpo 460x407 Remote Administration mit Desktop Central   Free Windows Admin Tools 2

Danach kann der Admin mit der Suite auf folgende Features zurückgreifen:
remote administration desktop central start 460x373 Remote Administration mit Desktop Central   Free Windows Admin Tools 2

Screenshots:
remote administrations tools user 140x77 Remote Administration mit Desktop Central   Free Windows Admin Tools 2remote administrations tools festplatten 140x62 Remote Administration mit Desktop Central   Free Windows Admin Tools 2remote administrations tools prozesse 140x136 Remote Administration mit Desktop Central   Free Windows Admin Tools 2


.NET Framework 4.5 Batch Installationsscript

Heute in der Firma zusammengetippt, getestet, läuft bisher an 2 Test-PCs und wird in naher Zukunft verteilt.
Für alle, die es interessiert und natürlich für hilfreiches Feedback, was man verbessern könnte.

Mein .NET Framework 4.5 Deployment Batch Script:

Color 9f
@echo on
title Installiere .NET Framework 4.5...
setlocal

:: dotnet45-installer.bat
:: Installiert .NET Framework 4.5 silent mit Logging
:: Hannes Schurig	- 11.09.2012
:: Letzte Änderung	- Version 0.4 am 11.09.2012

set wd=\\server\dotNET_Framework\45
set log=\\server\dotNET_Framework\45\log.txt

:checkversion
REM prüfe ob .NET 4.5 schon installiert ist
for /f "tokens=1,2,3 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" /v "Version"^|findstr "Version"') do set netversion=%%c
if not %netversion:~0,3%==4.5 goto install
echo %date% %time:~0,5% - %computername% hat schon >> %log%
goto end

:install
%wd%\dotnetfx45_full_x86_x64.exe /passive /log "%wd%\logs\%computername%.txt" /norestart
set netinstallerrlvl=%errorlevel%
if not %netinstallerrlvl%==0 goto fehler

:checkinstallation
REM überprüfe ob die Installation erfolgreich war
for /f "tokens=1,2,3 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" /v "Version"^|findstr "Version"') do set newnetversion=%%c
if not %newnetversion:~0,3%==4.5 set netinstallerrlvl=99 & goto fehler
if %newnetversion:~0,3%==4.5 echo %date% %time:~0,5% - %computername% hat erfolgreich Version %netversion% installiert >> %log%
goto end

:fehler
REM Return Codes: http://msdn.microsoft.com/en-us/library/ee942965.aspx
if %netinstallerrlvl%==1602 echo echo %date% %time:~0,5% - %computername% FEHLER: Benutzer hat die Installation abgebrochen >> %log%
if %netinstallerrlvl%==1603 echo echo %date% %time:~0,5% - %computername% FEHLER: Ein fataler Installationsfehler ist aufgetreten >> %log%
if %netinstallerrlvl%==1641 echo echo %date% %time:~0,5% - %computername% HINWEIS: Installation erfolgreich aber Neustart notwendig >> %log%
if %netinstallerrlvl%==3010 echo echo %date% %time:~0,5% - %computername% HINWEIS: Installation erfolgreich aber Neustart notwendig >> %log%
if %netinstallerrlvl%==5100 echo echo %date% %time:~0,5% - %computername% FEHLER: Das System entspricht nicht den Anforderungen >> %log%
if %netinstallerrlvl%==99 echo echo %date% %time:~0,5% - %computername% FEHLER: Installationserrorlevel 0 aber erneute Registryprüfung gibt nicht Version 4.5 zurück. Ungewöhnlicher Fall, Überprüfung notwendig >> %log%
goto end

:end
endlocal

Ausgabe in der log.txt ist dann sowas:
11.09.2012 16:40 – IQB177 hat erfolgreich Version 4.5.50709 installiert

Ich benutze momentan noch den Parameter /passive, welcher zwar eine GUI anzeigt aber keine Nutzerinteraktion zulässt. Dadurch erfährt aber der Benutzer zumindest den aktuellen Status und Fortschritt der Installation. Vielleicht wechsel ich noch zu /q, wo keinerlei GUI zu sehen ist, absolut unsichtbar.

via: .NET Versionsnummern, .NET Framework 4 Deployment, .NET Framework 4 Allgemein


Was Google erschafft ist grundsätzlich erstmal einen Blick wert und weiß dann oft zu überzeugen. Also, werfen wir einen Blick auf das neue WebP Bildformat-Standard, entwickelt von Google. Vor wenigen Tagen wurde die neue Version 0.2 veröffentlicht.

Die Vorteile:

  • verlustfreie Kompression von Bildern im Web
  • 26% kleiner als PNG, 25-34% kleiner als JPG bei gleichem SSIM Index
  • verlustfreie Transparenz mit nur 22% mehr Bytes

Der neue Standard verspricht also nichts weiter als die Weiterentwicklung des Internets durch die Verbesserung der verwendeten Bilder. Bei gleicher Qualität sollen diese kleiner werden und somit die Geschwindigkeit des Seitenaufbaus auf Seiten des Nutzers erhöhen und eine Reduzierung von Traffic und damit auch Kosten auf Seiten des Webseitenbetreibers erreichen.

Wie werden WebP Bilder erstellt?

google webp image standard gimp 140x50 WebP   Googles Bildformat Konkurrent gegen JPG/PNGEinige Bildbearbeiter können bereits mit WebP umgehen: Pixelmator, ImageMagick, GIMP (Plugin), Leptonica, XnConvert, XnView, Irfan View, Picasa (ab 3.9), Photoshop (Plugin) und Weitere.
Oder auch: der WebP Codec für Windows ermöglichst durch die Installation das Betrachten von WebP Bildern mit jedem Programm und die WebP Tools für x86 oder x64 (inkl. header und library files) ermöglichen das Erstellen von WebP Bildern ohne spezielle Software.
Das Toolpaket enthält ein Programm cwebp.exe, welches gängige Bildformate in Webp umwandelt. Siehe Readme Datei für mehr Informationen.
google webp image standard converter 460x287 WebP   Googles Bildformat Konkurrent gegen JPG/PNG
Ich habe hier eine BMP Grafik in JPG (80% Qualität), PNG (Compression Stufe 6) und WebP (80% Qualität) umgewandelt. Das WebP Bild ist 30% kleiner als das JPG und 60% kleiner als das PNG.

Wie wird WebP verwendet?

Webseitenbetreiber können in Zukunft einfach WebP Bilder statt PNG/JPG in ihre Webseiten einbauen. Problem ist nur: die Unterstützung von WebP ist noch relativ klein. Google Chrome 9+ und Opera 11.10+ unterstützen direkt den neuen Standard, Firefox lässt sich mit einem Patch dazu bewegen. Für alle anderen Browser gibt es Javascript Lösungen aber das soll natürlich kein Zustand bleiben.
Ich als Webmaster hoffe, dass bald mehr und mehr Browser WebP integrieren und somit den Trend dieses Formats unterstützen.

Wie sieht das dann aus?

Nicht anders als sonst, wenn alles klappt.
Auch hier in meinem Blog möchte ich jetzt mal ein WebP Bild nutzen. Wer es sieht; herzlichen Glückwunsch, du nutzt einen modernen Browser icon wink WebP   Googles Bildformat Konkurrent gegen JPG/PNG
[Bild]
 WebP   Googles Bildformat Konkurrent gegen JPG/PNG
[/Bild]


Mal als Hinweis falls jemand auf diesen Windows Installer Fehler trifft:

There was an error creating a temporary file that is needed to complete this installation. Folder: [3]. System error code: [2]

Passierte mir beim Slipstreamen von Patches in eine AIP Installation von Acrobat X Pro direkt auf einem Netzlaufwerk.
acrobatx patch slipstream error1336 Windows Installer Fehler 1336 | System error code: 5 | Acrobat X Pro Deployment

Im Netz gibt es einige Lösungsansätze: Nutzer Temp Verzeichnis löschen (Start -> Ausführen -> %temp%), Papierkorb leeren, Deinstallieren und “Als Administrator” neu installieren usw.

Mag ja in einigen Fällen helfen aber bei mir gabs nur eine Lösung:
AIPs nicht direkt auf Netzlaufwerken erstellen und Patches slipstreamen! Das führt anscheinend nur zu Problemen. Lokal funktionierte alles einwandfrei.

Also:

:: Eigene Acrobat Anpassung mit dem Customization Wizard X erstellen
:: Acrobat X AIP mit eigener Veränderung .mst lokal installieren
msiexec /a "AcroPro.msi" /t "AcroPro.mst" TARGETDIR="C:\AcrobatXPro"
:: den aktuellsten Patch slipstreamen
msiexec /a "C:\AcrobatXPro\AcroPro.msi" /p "AcrobatUpd1013.msp"
:: aufs Netzlaufwerk kopieren und via GPO verteilen

und dann das Verzeichnis so auf das Netzlaufwerk kopieren, MSI in die GPO, MST in die Veränderung, fertsch.


Das Deployment von .msu Dateien kann, laut Google, auf verschiedene Wege vollbracht werden; viele davon sehen recht kompliziert aus. Wer einen WSUS hat versucht via Rechtsklick -> Updates importieren im Microsoft Update Katalog dieses Update zu finden. Soll das Update ohne WSUS verteilt werden, hier mein Vorschlag:

wusa.exe Update.MSU /quiet
erledigt genau diesen Job!

Ein fertiges Startscript wäre zum Beispiel:

@echo on
setlocal

set wd=\\server\pfad\System\Sonstiges\Druckerfix
set log=\\server\pfad\System\Sonstiges\Druckerfix\log.txt

echo %date% %time% %computername% - startet die Installation >> %log%
wusa.exe %wd%\Windows6.1-KB982728-x86.msu /quiet /norestart
echo %date% %time% %computername% - abgeschlossen mit Fehlercode %errorlevel% >> %log%

endlocal

Das Script installiert die MSU still und leise, notiert alles in der Log und startet den Client nicht neu. Das heißt zwar, dass in der Log immer der Fehlercode 3010 eingetragen wird (Neustart benötigt); die Mitarbeiter werden dafür nicht weiter belästigt. Der /norestart Switch ist natürlich optional.


Windows Update Fehler 0x8024402C

Mich beschäftigte heute kurz der Windows Update Fehler 8024402C unter Windows 7.
Er wird im Internet entweder an WSUS Problemen oder Netzwerkproblemen festgemacht. Ist der WSUS Server aktiv, sind die Netzwerkeinstellungen korrekt, kann man den WSUS von dem Rechner aus pingen?

Ich konnte den Fehler mit dem Löschen (vorher sichern!) des folgenden Registry Keys beheben:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate
Wenn ihr einen WSUS nutzt (oder andere Windows Update bezogene GPO Einstellungen) solltet ihr direkt danach ein gpupdate /force abfeuern.
Danach ein Neustart und der Fehler sollte erledigt sein.

Die Gruppenrichtlinie und der WSUS sorgten dafür, dass der Schlüssel (korrekt) neu erstellt wurde und damit war das Problem wohl behoben.

via


Ziel soll es sein mit Notepadd++ (in Windows) einfache Java Anwendungen schreiben und sie mit einem einfachen Tastendruck testen zu können. Das ganze soll schnell und einfach sein und damit ein ständiges “javac ba.class java bla” in der Konsole ersparen.

Anmerkung: es geht bei “einfachen Java Anwendungen” hauptsächlich erstmal um Konsolenprogramme, die in der Windows CMD oder der internet Console des Editors ausgeführt werden soll.

Notepad++ bietet für solche Zwecke die Erweiterung “NppExec”. Sollte die Erweiterung nicht installiert sein ist das schnell über Erweiterungen -> Plugin Manager -> Show Plugin Manager -> NppExec -> Install erledigt. NppExec führt beliebige Befehlszeilen per Tastenkombi aus, speichert diese in Profilen usw.
Ihr könnt F6 drücken oder per Erweiterungen -> NppExec -> Ausführen das Pupup öffnen, in das ihr eure Befehlszeilen eintragen könnt.

2 Möglichkeiten stehen zur Verfügung:

Ausführung innerhalb von Notepad++ in der eigenen Konsole:
F6 Code:
Quelle

NPP_SAVE
javac "$(FULL_CURRENT_PATH)"
java -classpath "$(CURRENT_DIRECTORY)" "$(NAME_PART)"

Das Dokument wird gespeichert, der komplette Pfad wird an den Compiler übergeben, kompiliert und danach mit der java.exe ausgeführt.
Achtung: Damit das funktioniert muss der Java SDK /bin/ Ordner in der Path Umgebungsvariable des Betriebssystems eingetragen sein. Das passiert normalerweise bei der Installation der SDK in Windows automatisch. Ich fand aber auch schon viele Rechner (u.A. 2 von meinen) wo das nicht so war. Testet es, indem ihr aus einem beliebigen Ordner heraus folgende cmd Befehle abfeuert:
notepad++ java internal console external cmd path 460x133 Java #0   Konsolenanwendungen mit Notepad++ schreiben und testen   internal vs external Console
Sollte gehen; if not, do this (Neustart oder Ab- und Anmelden danach).

Führt nun den oben stehenden F6 Code aus. Wenn alles funktioniert und in der Konsole des Editors euer Programm erscheint ist alles super.

Wenn auch nach dem Setzen der Umgebungsvariablen mit Neustart noch folgendes Problem in der Konsole auftritt:

javac "T:\Dropbox\Programmierung\Java\TextGUI.java"
CreateProcess() failed with error code 2:
Das System kann die angegebene Datei nicht finden.

… dann geht’s euch wie mir. Ich hab keine Ahnung warum Notepad++ bei mir die javac nicht findet.
Auch ein einfaches javac -version geht nicht. Die normale Windows CMD kann javac aus jedem Ordner heraus finden. Sowohl 32bit als auch 64bit SDK ist installiert, beide Pfade stehen in der Path.
notepad++ java internal console external cmd path problems Java #0   Konsolenanwendungen mit Notepad++ schreiben und testen   internal vs external Console

Keine Ahnung, egal, Workaround:

Erstellt eine Batch Datei (ich nenne sie “executor.bat”) irgendwo, folgender Inhalt:

if not [%1]==[] javac %1
if not [%2]==[] if not [%3]==[] start cmd.exe /c java -classpath %2 %3

Die Batch kann mit 1 oder 3 Parametern aufgerufen werden. Bei nur 1 Parameter wird die Java Datei nur kompiliert. Bei 3 Parametern wird sie von der Windows CMD ausgeführt (brauchen wir nur zur externalen Ausführung, siehe unten).

Hier noch den F6 Code:

NPP_SAVE
Pfad\zur\Batch\executor.bat "$(FULL_CURRENT_PATH)"
java -classpath "$(CURRENT_DIRECTORY)" "$(NAME_PART)"

Die Batch kompiliert und der interne Interpreter von Notepad++ führt die Anwendung in der internen Konsole aus.
notepad++ java kompilieren internal console nppexec 460x227 Java #0   Konsolenanwendungen mit Notepad++ schreiben und testen   internal vs external Console

Ausführung außerhalb von Notepad++ in der Windows CMD:
Auch hier brauchen wir die oben erstellte .bat Datei mit folgendem Inhalt:

if not [%1]==[] javac %1
if not [%2]==[] if not [%3]==[] start cmd.exe /c java -classpath %2 %3

…und folgendem F6 Code:

NPP_SAVE
t:\Dropbox\Programmierung\Java\executor.bat "$(FULL_CURRENT_PATH)" "$(CURRENT_DIRECTORY)" "$(NAME_PART)"

Jetzt müsste sich kurz ein Windows CMD Fenster öffnen und direkt wieder schließen. Denn wie wir wissen schließt sich ein Java Konsolenprogramm (wie auch die Windows Konsole) wenn alle Befehle abgearbeitet sind.
Also lassen wir es am Ende pausieren. Dazu nutzen wir eine Nutzereingabe, die das Konsolenfenster so lange aufhält bis dieser eine Taste drückt.

Ihr müsst zusätzlich java.io.IOException importieren, eurer main Funktion die throws IOException Erweiterung geben und an das Ende 2 Zeilen hängen.
Like that:

import java.io.IOException;
public class TextGUI {
	public static void main(String[] args) throws IOException {
		System.out.println("1234 1234 1234 1234\b9999");
		System.out.println("1234 1234 1234 1234\r9999");
		
		System.out.println("Press Enter to continue...");
		System.in.read();
	}
}

notepad++ java kompilieren run in external windows cmd console 460x234 Java #0   Konsolenanwendungen mit Notepad++ schreiben und testen   internal vs external Console

Okay, warum denn jetzt 2 verschiedene Wege? Reicht nicht die interne Konsole oder die externe CMD?
Vielleicht ist es jemanden aufgefallen: die Ausgaben unterscheiden sich trotz selbem Code voneinander.
Die interne Konsole der Editoren (Notepad++ wie auch andere Programme wie Eclipse) behandeln ASCII Steuerzeichen (\b \r \t \n) nämlich anders als die Windows CMD. Wer das wirklich verstehen will muss wohl sowas hier lesen.

Jedenfalls kann es helfen beide Wege zu testen bevor man ein solches Konsolenprogramm freigibt.


Translator

Categories

Admin

Sie möchten hier werben oder Sponsor auf längere Zeit werden? Ich garantiere Ihnen unschlagbare Preise bei meinen Besucherzahlen. Egal ob Banner, Textlinks oder andere Werbeformen. Informieren Sie sich bei mir unter werbung@hannes-schurig.de