ABOUT
IN4OUT Logo
IN4OUT it solutions ist ein Dienstleistungsunternehmen
im Bereich der Informationstechnologie.
 
In diesem Blog berichten IN4OUT-Mitarbeiter über Erlebnisse und Abenteuer rund um Informatik-Probleme und -Lösungen, Web-Design und -Entwicklung, Microsoft Produkte, Social Computing sowie alles andere, was die Gedanken bewegt.

  Feed abonnieren

VPN-Verbindungen auf einen anderen PC übertragen

by Martin Wildi 30. April 2010 16:22

Jedes Mal, wenn ich mein Arbeits-PC neu aufsetze (ok, sooft passiert das nicht, aber es nervt trotzdem), muss ich all meine VPN-Verbindungen zu meinen Kunden wieder einrichten. Nun wurde ich über den Umweg eines Windows XP-TechNet-Beitrages endlich fündig:
Unter Windows 7, Vista und XP sind sämtliche VPN-Verbindungen in einer Datei gespeichert:

rasphone.pbk

Diese befindet sich normalerweise an folgendem Ort:
Windows 7 und Vista:
C:\ProgramData\Microsoft\Network\Connections\Pbk
oder
C:\Users\%username%\AppData\Roaming\Microsoft\Network\Connections\Pbk\_hiddenPbk

Windows XP:
C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Network\Connections\Pbk
oder (wenn die Verbindung nur für die eigene Verwendung gespeichert wurde):
C:\Dokumente und Einstellungen\%username%\Anwendungsdaten\Microsoft\Network\Connections\Pbk

Die Dateien können unter Windows XP, Vista und 7 problemlos untereinander ausgetauscht / kopiert werden. Unter XP werden die Anderungen nach einem Refresh der Netzwerkverbindungen sichtbar, unter Vista und 7 wird ein Neustart benötigt (ohne Neustart werden unter Umständen nicht alle Anderungen angezeigt).



Tablet PCs: Handschrift nicht möglich

by Simon Glumpler 29. April 2010 08:46

Vor kurzen bemerkten wir, dass bei unserem Tablet PC die Funktion Handschrift nicht mehr vorhanden war. Man konnte zwar den Stift noch für Eingaben mit der Bildschirmtastatur gebrauchen, doch die Funktion mit Handschrift zu arbeiten war nicht mehr verfügbar. Eine Woche zuvor war jedoch noch alles in Ordnung gewesen.

Ich suchte im Internet nach Vorschlägen, die Funktion wieder einzuschalten doch wurde einfach nicht fündig. Deshalb entschied ich mich ein bisschen selbst auszuprobieren. Und prompt stiess ich auf folgende Fehlermeldung:

"Handwriting personalization not available for this input language".

Die betrifft in diesem Falle also das deutsche Tastaturlayout. Könnte eine plausible Erklärung sein, denn schliesslich hatte ich das Layout gerade erst von "Englisch (USA)" auf "Deutsch (Schweiz)" gewechselt. Und tatsächlich: Wird das Tastaturlayout gewechselt, muss laut Microsoft zusätzlich die Handschrifterkennung der entsprechenden Sprache installiert werden, möchte man diese Funktion nutzen.

Ansonsten stösst man auf oben genannte Warnung. Um nun die Handschrifterkennung nutzen zu können, muss man nach dem Wechsel des Tastaturlayouts das zum Layout passende Multilingual User Interface (kurz: MUI) installieren, in dem die Handschrifterkennung mitgeliefert ist. Die MUI sind als optionale Updates verfügbar.

Nach der Installation kann einfach über "Start -> Alle Programme -> Zubehör -> Tablet PC -> Anpassen der Handschrifterkennung" die Sprache für die Handschrifterkennung angepasst und zukünftig ohne Probleme genutzt werden.



HP Farblaserdrucker über ThinPrint-Port druckt nur schwarzweiss

by Martin Wildi 18. Februar 2010 15:41

Ein HP Farblaserdrucker ist über einen ThinPrint LPD Port verbunden und als Treiber kommt der HP Universal Treiber zum Einsatz. Nun erkennt dieser den Drucker aber nicht als Farbdrucker, hier ein Screenshot der Drucker-Eigenschaften:

Alle Versuche, dem Treiber manuell Farbdrucke beizubringen, scheitern. Wenn man den Treiber die Druckerkonfiguration abfragen lässt (Register Geräteeinstellungen - Automatische Konfiguration), gibt's nur diese Fehlermeldung:

Was darauf hinweist, dass mit der Kommunikation irgend etwas nicht stimmt. Wenn man nun den Drucker temporär über einen normalen TCP/IP-Port kommunizieren lässt, kann man die Konfiguration abfragen:

Anschliessend kann der Port wieder umgestellt werden, unter Eigenschaften ist die richtige Konfiguration nun sichtbar:



3D-Filme oder Das Ende der Piraterie

by Nicole Strebel 4. Januar 2010 08:14

Nach seinem Bombenerfolg "Titantic", im Jahre 1997, hat es sich James Cameron zur Aufgabe gemacht, das Kino und die Filme zu revolutionieren. Zehn Jahre lang hat der Regisseur an seinem neusten Streifen gearbeitet - "Avatar". Obwohl mich die aufdringliche Werbung zum Film langsam zu nerven begonnen hatte, entschied ich mich den Film anschauen zu gehen. Weniger wegen dem Film und der Story, aber mehr wegen der neuen 3D-Technik. Als "Ice Age 3" ins Kino kam, hab ich ihn auch in 3D geschaut. Es war eigentlich ganz gut, aber richtig vom Hocker gehauen hats mich noch nicht.
Von "Avatar" hatte ich bis dahin schon faszinierendes gelesen und gehört : "Gestochen scharfe Bilder!", "Ein nie dagewesendes 3D-Erlebnis!", "Man spielt praktisch im Film mit!". So bin ich letzten Sonntag, also mit hohen Erwartungen und gespannt ins Kino gegangen. Ich wurde nicht enttäuscht. Der Film war der Wahnsinn! Die Story zwar vorausschaubar, aber die Bilder und das 3D-Erlebnis war echt der Hammer. Man hat richtig gemerkt, dass der Film voll und ganz aufs 3D ausgelegt ist. Ohne dass, wär der Film nur halb so gut und daher auch halb so erfolgreich gewesen, behaupte ich jetzt einmal. ;-)
Wieder zuhause hab ich mit Freunden noch lange über den Film und die Technik gesprochen. Dabei sind mehr oder weniger nur Halbwahrheiten herausgekommen und deshalb hab ich mich entschlossen ein bisschen genauer zu recherchieren, wie denn diese 3D-Technik genau funktioniert.

In jenem Kino wurden uns zu Beginn des Filmes spezielle Brillen ausgehändigt. Die Brillen funktionieren mit sogenannter Stereoskopie-Technik oder auch Raumbildprojektion genannt. Mit alter Technik wie dem Analglyphen-Verfahren (Rot-Grün-Brille) hat diese Technik nichts mehr am Hut. Der Film kommt digital von dem sogenannten DCP (Digital Cinema Package) in verschlüsselter Form. Im Unterscheid zu den "normalen" 2D-Filmen, werden beim neuen 3D-Verfahren 48 statt 24 Bilder pro Sekunde gesendet - Für jedes Auge also 24. Diese Bilder, für jedes Auge unterschiedlich, können mit Hilfe der Spezial-Brille und deren unterschiedlichen Polaroid-Gläsern, als räumliches Bild, farbgetreu wahrgenommen werden.

Viele Kinobetreiber freuen sich  über den Anklang, den die neuen Filme so mit sich bringen. In den USA stürmen dank der neuen Technologie, so viele Leute ins Kino, wie schon seit 20 Jahren nicht mehr. Deshalb wird hinter vorgehaltener Hand gemunkelt, dass 3D auch die Antwort  auf die Film-Piraterie ist. Jeffrey Katzenberg ("Shrek", "Madagaskar")  meint, dass mit den 3D-Filmen wieder die geteilte Erfahrung mit den Mitzuschauern wichtig wird. Es gibt halt momentan noch keine vernünftige Methode zu Hause 3D zu schauen. Katzenberg formuliert auch, dass über 90% aller Raubkopien mit sogenannten Minikameras, direkt im Kino, aufgenommen werden. Versucht man dies mit einem 3D-Film "kann man die Bilder auch gleich wegschmeissen", wie Katzenberg zu sagen pflegt.

Allerdings sei dies nur ein geschäftlicher Aspekt der Filmindustrie, meint Katzenberg. Ihm gehe es in erster Linie darum das Potenzial das 3D in Kombination mit guter Erzähltechnik hat, vollends auszuschöpfen. Ich teile meine Meinung voll und ganz mit Katzenberg. Auch mir ist es wichtig im Kino gute und spannende Filme zu sehen. "Avatar" hat mir gezeigt, dass trotz flacher Story 3D-Filme echt cool sind und einen trotzdem mitreissen können.



WCF und Multiple Host Header oder "This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. "

by Nicole Strebel 28. Dezember 2009 13:17

Liebe Silverlight - Gemeinde

Nach einer kleinen Ewigkeit melde ich mich bei euch mit einem Problem zurück, in der Hoffnung, Hilfe oder Lösungen zu bekommen.
Das Problem hat sich im Zusammenhang von Silverlight-Applikationen auf Webseiten mit "mutliplen Host Headern" gezeigt. Wird zum kommunzieren von Client- und Server-Seite ein WCF Service benutzt, bekommt man unweigerlich die Fehlermeldung:

Wie schon erwähnt, tritt das Problem nur bei "multiplen Host Headern" auf.  Vereinfacht gesagt, werden "multiple Host Header" benötigt, wenn man über verschiedene URL's auf die gleiche Webseite gelangen will. Auf dem unteren Bild sieht man zwei solche Host Header.

Mit mehreren Host Headern wird unser hübscher WCF Service ein bisschen verwirrt und weiss nicht mehr wo er sich denn jetzt befindet. Und weil er das nicht weiss, findet er sich sozusagen selber nicht.
Nach kurzem googlen, hat sich herausgestellt dass man im "Web.config" - File nur ganz einfach folgendes eingeben muss, damit's funktioniert:

<serviceHostingEnvironment>
      <
baseAddressPrefixFilters
>
         
<add prefix="http://*****.in4out.ch"
/>
    
</baseAddressPrefixFilters
>
</
serviceHostingEnvironment>

Jetzt funktioniert der WCF Service allerdings nur noch auf der URL http://*****.in4out.ch, dafür aber nicht mehr auf http://*****.in4out-ag.local.
Es gibt auch keine Möglichkeit zwei solcher "baseAddressPrefixFilters" zu setzen, denn dann weiss der Webservice wieder nicht wo er sich befindet.

Nach weiterem googlen stiess ich dabei auf folgendes: CreateServiceHost
Dabei lautet die Definition von Microsoft:
"Erstellt eine Instanz der Dienstklasse, die über die angegebenen Basisadressen verfügt."

Nach dem Durchstöbern zahlreicher Foren, bin ich auf das Untenstehende gekommen.

1. Man mache eine neue Klasse im App-Code-Ordner und nenne diese "CustomHostFactory"
2. Man kopiere folgenden Code rein:

    Imports
Microsoft.VisualBasic
   
Imports System.ServiceModel.Activation
   
Imports System.ServiceModel
   
Imports System.IO
   
   
Public Class CustomHostFactory
            
Inherits ServiceHostFactory
               
Protected Overloads Overrides Function CreateServiceHost(ByVal serviceType As Type, ByVal baseAddresses As Uri()) As ServiceHost
                    
Dim host As ServiceHost
                     host =
New ServiceHost(serviceType, baseAddresses(0))
                     
Return host
               
End Function
    End
Class

3. Man setze im "svc"- File das "Factory"- Property:

    <%@ ServiceHost Language="VB" Debug="false" Service="i4BambiService" CodeBehind="~/App_Code/i4Bambi/i4BambiService.vb" Factory="CustomHostFactory"%>

Nun weiter zur Erklärung...

Meistens wird die Funktion "CreateServiceHost" automatisch mit dem Aufrufen des WCF als Teil der Dienstaktivierung aufgerufen, sodass die Methode nicht manuell gesetzt werden muss.
Um aber steuern zu können, welchen Host Header der Webservice nun nehmen soll, benötige ich die Methode hier. Man werfe doch nun bitte einen Blick auf den Parameter "baseAddresses" in dieser Methode.

In diesen Parameter werden alle verschiedene Host Header geschrieben. In meinem Fall also: http://*****.in4out.ch und  http://*****.in4out-ag.local.
Mit dem Integer in der Klammer (hier also "0") wird angeben welcher Host Header aus dem Array denn gewählt werden soll.
Wenn man nun noch mals folgendes betrachtet:

ist es in diesem Fall nun der erste Host Header, nämlich: http://*****.in4out-ag.local

Ich kann nun zwar im Code-Behind steuern, welchen Host Header ich denn gerne haben möchte, allerdings kann ich hier keine Abfragen machen und so den Integer auch nicht dynamisch werden lassen. Wie es scheint, wird nur jedesmal nach dem Compilieren der Host Header neu gesetzt. Ich kann auch den Pfad zum Webservice nicht dynamisch machen.

So und jetzt kommt ihr zum Zug. Habt ihr vielleicht eine Idee für mich, oder hab ich einfach was grundlegendes falsch verstanden? Ich bitte um eure Mithilfe.
Noch ne kurze Zusammenfassung: Ich suche nach einem Weg, wie mein Webservice bei beliebig vielen Host Headern funktionieren kann, ohne dass ich manuell etwas ändern oder absolute Pfade vergeben muss.
Ich danke euch schon mal im Vorraus.



Symantec Backup Exec kann abgelaufene IMG-Ordner nicht löschen

by Martin Wildi 27. November 2009 09:28

Wenn Symantec Backup Exec ein Backup to Disk mit GRT-Technologie macht, können die alten Backup To Disk-Medien nicht gelöscht werden, es bleibt immer die Datei "ese.dll" übrig. Diese Datei wird durch den Prozess "WMIPRVSE.EXE" blockiert. Gemäss Symantec Document ID: 317211 muss der Dienst "Windows Management Instrumentation / Windows-Verwaltungsinstrumentation" beendet werden, damit die Dateien gelöscht werden können.

Um dies zu automatisieren, starte ich nun jeweils vor dem Backup folgende Befehle:

net stop MSExchangeMGMT
net stop winmgmt
net start winmgmt
net start MSExchangeMGMT

Nachdem diese Befehle verarbeitet sind, kann Backup Exec die alten Backup To Disk-Medien problemlos löschen.



Symantec Backup Exec kann *.cch*-Dateien nicht sichern

by Martin Wildi 26. November 2009 09:57

Symantec Backup Exec kann die *.cch.*-Dateien des .NET-Frameworks nicht sichern. Diese Dateien müssen gemäss KB815168 nicht gesichert werden.

Diese Dateien heissen z.B. C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\enterprisesec.config.cch.[zahlenkombination].[zahlenkombination]

Um diese Dateien möglichst effizient auszuschliessen, sind Platzhalter nötig, denn die Zahlenkombination ändert ständig. Untenstehend sind die notwendigen Ausschlüsse aufgelistet, meine Erfahrung zeigte, dass dies pro BackupExec-Version anders ist.

 Version Ausschlusskonfiguration 
12.5 C:\Windows\Microsoft.NET\Framework\**\**.cch.** /EXCLUDE
11d \\*\**\**.cch.** /EXCLUDE
10d \\*\*\**\*cch.* /SUBDIR /EXCLUDE
9.1 \\*\*\**\*.cch.* /SUBDIR /EXCLUDE

 

 

 

 



Windows SBS 2003 Setup auf einem HP ProLiant ML350 G6 stürzt mit Bluescreen ab

by Martin Wildi 19. Oktober 2009 09:08

Das Windows Small Business Server 2003 Setup stürzt während der Geräteinstallation mit folgendem Bluescreen ab:

"IRQL_NOT_LESS_OR_EQUAL"
*** STOP: 0x0000000A (0x00000010,0x00000002,0x00000000,0x805527BC)

Dieses Verhalten ist laut HP auf zwei Optionen im BIOS zurückzuführen, welche standardmässig aktiviert sind, aber von SBS 2003 (ohne SP) nicht unterstützt werden. Die Optionen finden sich im BIOS unter

System Options -> Processor Options

und heissen 

Intel Hyper threading -> disablen
Core Disabling -> auf "One Core" setzen

Einstellungen speichern, Server neu starten und SBS 2003 installieren.

Sobald der SBS 2003 auf den aktuellsten Stand gebracht wurde (mit allen SP's etc) können die Optionen wieder aktiviert werden.



Windows Installationsschlüssel über das Netzwerk auslesen

by Martin Wildi 30. September 2009 14:29

Mit folgendem Code kann der Installationsschlüssel von Windows (Server- und Clientbetriebssystemen) ausgelesen werden:

' Find Product Activation Key on Remote Machine
' Got this from a posting by 'Alatar1' at
www.theeldergeek.com
'
' I just added the inputbox - Rob

If Wscript.Arguments.Count = 0 Then
strComputer = inputbox("Enter a computer name to query the Windows " _
& " product key from","Enter computer name")
if strComputer = "" then wscript.quit
Else
strCOmputer = Wscript.Arguments.Item(0)

End If

Dim Digits (24)
Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F":
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K":
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R":
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X":
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4":
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9"

Dim HexBuf (100), HexDigitalPID (15)
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\default:StdRegProv")

objReg.GetBinaryValue &H80000002, "SOFTWARE\Microsoft\Windows NT" _
& "\CurrentVersion\", "DigitalProductId", HexBuf

' Extract Relevant Section of Digital Product ID
StartOffset = 52 : EndOffset =67
For i = StartOffset to EndOffset
HexDigitalPID (i-StartOffset) = HexBuf(i)
next

' Convert Encoded Product ID to Activation Key
dLen = 29 : sLen = 15
KEYSTRING =""
for i=dLen-1 to 0 step -1
if ((i + 1) mod 6) = 0 then
KEYSTRING = KEYSTRING & "-"
else
HN = 0
For N = (sLen -1) to 0 step -1
Value = ( (HN *2^8 ) Or HexDigitalPID (N))
HexDigitalPID (N) = Value \ 24
HN = (Value mod 24)
next
KEYSTRING = KEYSTRING & Digits(HN)
end if
next
KEYSTRING2 = StrReverse (KEYSTRING)
WScript.Echo KEYSTRING2

Das ganze muss in ein *.vbs-File gespeichert und ausgeführt werden.



Software mittels GPO verteilen: Fehlermeldung "No package in the software installation data in the Active Directory meets this criteria"

by Martin Wildi 23. September 2009 14:45

Wir verteilen u.a. Adobe Acrobat Reader via GPO-Richtlinien. Neulich wollte ich die neuste Version deployen. Ich fügte das vorbereitete msi-Paket zur bestehenden GPO hinzu, da erhielt ich diese Fehlermeldung:


"No package in the software installation data in the Active Directory meets this criteria."

Nach kurzer Recherche fand ich den Hinweis, dass die GPO defekt sein könnte. Also erstellte ich eine neue GPO und fügte das Packet hinzu und siehe da - es klappte.

Da der GPO-Editor nun das neue Packet nicht automatisch als Update der alten Version erkennt, muss ihm dies explizit mitgeteilt werden: