Archiv

Archiv für die Kategorie ‘Sonstiges’

Standortabhängiges Anmeldescript

28. September 2009 Daniel Keine Kommentare

Den aktuellen Standort eines Benutzers zu ermitteln, definiert durch die Active Directory Sites, funktioniert folgender VBS Code:

On Error Resume Next
Set wshShell = WScript.CreateObject( "WScript.Shell" )
strUserDomain = wshShell.ExpandEnvironmentStrings( "%USERDOMAIN%" )

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("SELECT ClientSiteName FROM Win32_NTDomain WHERE DomainName = '"& strUserDomain &"'",,48)

For Each objItem in colItems
  ' Hier wird der erkannte Sitename der Anmeldedomäne ausgegeben.
  strSiteName = objItem.ClientSiteName
next

select case strSiteName
	case "Berlin"
             ' Tu irgendwas
	case "München"
             ' Tu irgendwas anderes
end select

Getestet unter Windows XP, Windows 2003, Vista und Windows 7.

Der nervende Edelstein

21. September 2009 Daniel Keine Kommentare

Ich freunde mich gerade mit Ruby on Rails an, da war es naheliegend sich eine schöne IDE dafür zu suchen die bereits Testserver und alles enthält so das man sich nicht mit der Installation des selbigen herumschlagen muss.

Meine Wahl fiel dabei auf Aptana RadRails, ein wirklich nettes Produkt.

Das einzige Problem was ich bisher hatte, und das auch nur auf dem Laptop hier im Büro, war das grundlose verweigern jeder Art von Plugin-Installation via GEM.

Jeder Versuch wurde mit

ERROR: While executing gem ... (Errno::ENOENT)
No such file or directory - U:/

quitiert. Das Laufwerk U:/ ist mein Homedrive im Netzwerk.

Die Lösungsvorschläge aus dem Netz, die Umgebungsvariablen “GEM_HOME” und “GEM_PATH” zu setzen hatten leider keinen positiven Effekt.

Ein kleiner Eintrag in der gem Datei unter c:\ruby\bin\gem bringt die Erlösung:

#!C:/Ruby/bin/ruby.exe
#--
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
# All rights reserved.
# See LICENSE.txt for permissions.
#++
ENV['HOME'] = "C:/ruby"
require 'rubygems'
require 'rubygems/gem_runner'
require 'rubygems/exceptions'
required_version = Gem::Requirement.new "> 1.8.3"
unless required_version.satisfied_by? Gem.ruby_version then
  abort "Expected Ruby Version #{required_version}, was #{Gem.ruby_version}"
end
args = ARGV.clone
begin
  Gem::GemRunner.new.run args
rescue Gem::SystemExitException => e
  exit e.exit_code
end

Vielleicht gibts noch eine bessere Lösung, so funktioniert es bei mir aber auf alle Fälle ohne herumdoktorn an den Umgebunsvariablen.

Problem mit Unicode Zeichen in Javascript Alertbox

12. August 2009 Daniel Keine Kommentare

Wenn man man mal in die Verlegenheit kommt und versucht über Javascript eine z.B. Russische Fehlermeldung auszugeben gibt es folgendes Problem: Der Browser spielt nicht mit :(

<script language="javascript">
alert('Журналистка CNN Хала Горани беседует с Мэтью Чансом - он был знаком с Натальей');
</script>

Das Ergebnis, trotz korrekter UTF-8 Einstellung des Browsers und der Webseite, überzeugt leider nicht.

Internet_Explorer_Unicode_Javascript_Alert_Fehler

Die Lösung: Der Text muss vorher für Javascript vorbereitet werden, pures Unicode scheint da wohl nicht zu funktionieren.

<script language="javascript">
alert('\u0416\u0443\u0440\u043D\u0430\u043B\u0438\u0441\u0442\u043A\u0430 CNN \u0425\u0430\u043B\u0430 \u0413\u043E\u0440\u0430\u043D\u0438 \u0431\u0435\u0441\u0435\u0434\u0443\u0435\u0442 \u0441 \u041C\u044D\u0442\u044C\u044E \u0427\u0430\u043D\u0441\u043E\u043C - \u043E\u043D \u0431\u044B\u043B \u0437\u043D\u0430\u043A\u043E\u043C \u0441 \u041D\u0430\u0442\u0430\u043B\u044C\u0435\u0439');
</script>

Schon besser finde ich ;)

Internet_Explorer_Unicode_Javascript_Alert_Ok

Einen praktischen Konverter gibt es hier: http://rishida.net/tools/conversion/

 /yay

p.s. das Russisch ist von einer zufälligen Webseite, und Google sagt ich beleidige mit dem Satz niemanden. Wenn doch tuts mir leid ;)

KategorienSonstiges Tags: , , ,

LastLogon Lookup

5. August 2009 Daniel Keine Kommentare

Ein Problem bei einer Windows 2000 Domäne, d.h. einer Domäne die sich nicht im einheitlichen Modus befinden, ist das nicht alle Eigenschaften von Objekten innerhalb der Domäne zwischen den Domänencontrollern repliziert werden.

Dies Betrifft unter anderem auch die letzte Anmeldezeit eines Benutzerkontos.

Dieser Wert ist allerdings ziemlich nützlich um z.B. Benutzerleichen zu identifizieren.

Mir ist kein Windows Boardmittel bekannt mit dem man diese Werte aus einer Domäne über alle Domänencontroller hinweg auslesen kann, deswegen habe ich mir ein kleines Tool geschrieben.

Programmaufruf

LastLogon Lookup.exe > Datei.cvs

Ausgabe

distinguishedName;sAMAccountName;LogonCount;LastLogon;DomainController

Das ganze wird dann über alle DCs für alle Benutzer ausgelesen.

Der Benutzeraccount unter dem das Progamm läuft muss mindestens entsprechende Werte aus dem AD lesen können (wär auch komisch sonst), eine Schreibberechtigung ist natürlich nicht notwendig. Das Ergebnis ist einfach mit Access/Excel/Stift und Zettel o.Ä. auszuwerten.

Geschrieben in VB.NET, wenn lieb gefragt wird schick ich bestimmt auch den Quellcode zu ;)

Download: LastLogon Lookup.zip

World of Warcraft in einer VM

16. Mai 2009 Daniel Keine Kommentare

WoW in einer VM

Endlich hinbekommen. :)

WoW Version: 3.1.1

FPS: 8-20

Jetzt brauch ich irgendwann nur noch viel zeit und einen Account dem eine Sperrung nichts ausmacht ^^

Mein Inventory arbeitet gegen mich…

19. März 2009 Daniel Keine Kommentare

In 2 Wochen haben wir eine Prüfung durch Microsoft zu erwarten und momentan bin ich dabei unseren Installationspool zu bereinigen. Wäre alles gar nicht so schwer wenn meine Inventarisierungslösung (Centennial Discovery 2007) mich nicht zur Weißglut treiben würde.

Die Datenbank ist bei ~2000 Clients so aufgebläht das sich darin arbeiten eher schwierig gestaltet und die Softwareerkennung (Vor allem Office und Office Pro) nicht unter aller Sau wär.

Wenn jemand ein gutes Produkt hat was oben genannte Punkte beherrscht und trotzdem eine Offline Datenbank zur Recherche und Auswertung bietet wäre toll den Namen davon zu erfahren, denn die Supportverträge für mein Produkt habe ich erstmal nicht verlängert ;D