Problem :
Es soll überprüft werden ob eine Aufgabe eines VBS/WSH Skriptes erfolgreich durchgeführt wurde.
Normalerweise stopt die Ausführen an jedem Fehler , ohne das dieser auswertbar bist.
In einigen Fälle wird aber ein Rückgabewert erforderlich diesen erreicht man indem man am Anfang
des Skriptes die Zeile
On Error Resume Next
einfügt. Der Status des Vorgangs kann dann mit
if err.number<>0 then
wscript.echo err.number, err.description
err.Clear
end if
überprüft werden. Wenn die Fehlerbehandlung wieder von VBS/WSH erledigt werden soll kann man das mit der Zeile
On Error Goto 0
erreichen
Problem :
Man muss herausfinden auf welcher Sprache das Betriebssystem läuft
Lösung :
Diese Funktion ermittelt die gewünschte Information über WMI
Benötigte Deklarationen :
Dim ObjWMI : Set ObjWMI = GetObject("winmgmts:\\.\root\CIMV2")
PUBLIC LANGID
PUBLIC LANGLE
Funktion :
Function GetLanguageID()
DIM colItems : Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem")
For Each objItem in colitems
LANGID = objItem.Locale
Next
Select Case LANGID
Case "0409" : LANGLE = "EN" : MsgBox "Language : English (American)"'
Case "0407" : LANGLE = "DE" : MsgBox "Language : Deutsch (Germany)"
Case "040c" : LANGLE = "FR" : MsgBox "Language : French (Standard)"
Case "0c0a" : LANGLE = "ES" : MsgBox "Language : Spain (Modern Sort)"
Case "040a" : LANGLE = "ES" : MsgBox "Language : Spain (Traditional Sort)"
Case "0410" : LANGLE = "IT" : MsgBox "Language : Italian (Standard)"
End Select
End Function
Kann beliebig mit den Codes von MS erweitert werden :
Language IDs Microsoft
Problem :
Der Internet Explorer 7 zeigt keine Registerkarten mehr an , die komplette Leiste für die Registerkarten fehlt.
Auch der Punkt "öffnen in neuer Registerkarte" ist ausgegraut.
Lösung:
Um dieses Feature zu nutzen müssen folgende Dateien
xmllite.dll und
ieui.dll im Ordner
%windir%\system32 existieren und sauber registriert sein. Eine neu registrierung der Komponenten kann mit dem Befehl
regsvr32.exe durchgeführt werden.
regsvr32 %windir%\system32\xmllite.dll
regsvr32 %windir%\system32\ieui.dll
Wenn diese Dateien nicht existieren hilft auch eine Installation des xmllite Updates von Microsoft.
Link :
XML Lite Update Microsoft
Sollte diese Vorgehensweise nicht zum Erfolg führen , kann man hier noch andere Fehlerquellen ausschließen.
Link :
http://msmvps.com/blogs/spywaresucks/archive/2006/10/24/203178.aspx
Ist zwar eine einfach Funktion aber dennoch wenn man sie hat muß man sie nicht immer selber Tippen
Function GetDate()
'------------------ Ermittelt das aktuelle Datum
Dim Monat : Monat = Month(now)
Dim Tag : Tag = Day(Now)
Dim Jahr : Jahr = Year(now)
If Monat < 10 then
Monat = "0" & Monat
End If
If Tag < 10 Then
Tag = "0" & Tag
End If
GetDate = Tag & "." & Monat & "." & Jahr
End Function
Problem :
Bei internen (Intranet) Anwendungen werden die ActiveX Steuerelemente geblockt
Lösung :
1.) Eine Datei anlegen mit der Endung
.vbs z.B.
set_activex.vbs
2.) Den unten aufgeführten Code in diese Datei kopieren
3.) Das Skript mit in das Loginscript aufnehmen z.B.
start /B cscript.exe //NOLOGO [PFAD zum Skript]\set_activex.vbs
Nachdem das Skript beim Login durchgelaufen ist stehen alle ActiveX Berechtigungen auf Aktiviert
Option Explicit
' --------------------------------------------------------------------------------------------
' - Setz die sicherheit für die ActiveX Steuerelemente für die lokale Zone auf erlauben
' -
' - Source : Christopher Pope
' --------------------------------------------------------------------------------------------
Dim ObjWsh : Set ObjWsh = CreateObject("WScript.Shell")
DIm I
Dim RegZone : RegZone = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1\"
Dim PopUpReg : PopUpReg = "HKCU\Software\Microsoft\Internet Explorer\New Windows\PopupMgr"
' -------- ActiveX Keys deklarieren
Dim RegArray(9)
RegArray(0) = "1001"
RegArray(1) = "1004"
RegArray(2) = "1200"
RegArray(3) = "1201"
RegArray(4) = "1405"
RegArray(5) = "2201"
RegArray(6) = "2000"
RegArray(7) = "1208"
RegArray(8) = "1209"
RegArray(9) = "120A"
On Error Resume Next
For I = 0 to Ubound(RegArray)
Call Set_AX_Allow(RegArray(I))
Next
'-------- PopUp Blocker deaktivieren
If ObjWsh.RegRead(PopUpReg) = "yes" Then
ObjWsh.RegWrite PopUpReg,"no","REG_SZ"
End If
WScript.Quit (1)
Function Set_AX_Allow(ID)
If ObjWsh.RegRead(RegZone & ID) <> 0 then
ObjWsh.RegWrite RegZone & ID,0,"REG_DWORD"
End If
End Function
Sollte Ubuntu die verbaute Grafikkarte (ATI oder Nvidia) nicht erkennen bietet sich dieses Tool an um die Treiber zu installieren.
Link :
http://albertomilone.com/nvidia_scripts1.html
Nachdem der Treiber installiert ist kann es vorkommen das die maximale Auflösung des Monitors 640x480 beträgt , das passiert meist bei Nvidia Karten (hatte noch nie eine ATI
) dann kann man natürlich
NACH der Installation der Treiber den Bildschirm mit der folgenden Anleitung einrichten.
1.) ein Terminal öffnen
2.) sudo nvidia-xconfig eintippen und ausführen
3.) Monitor einstellen
4.) xorg.conf speichern
5.) Glücklich über die richtige Auflösung sein
Führt dieser Weg nicht zum Erfolg sollte die xorg.conf manuell verändert werden.
1.) Terminal öffnen
2.) sudo cp /etc/X11/xorg.conf /etc/X11/xorg.backup eintippen und ausführen (erstellt ein Backup der vorhanden Datei)
3.) sudo pico /etc/X11/xorg.conf eintippen und ausführen
4.) Den Monitor manuell in die Configdatei einpflegen --> http://wiki.ubuntuusers.de/XServer - Anleitung zum manuellen Verändern
Wenn es dann immer noch nicht funktionieren sollte macht es sinn die Installierten Treiber & geladenen Module zu überprüfen