NetInformations.hta

Problem :

Man sucht verschiedenste Informationen über einen Benutzer / Gruppe oder einen Computer zu ermitteln.
Es stehen einige Bordmittel für Windows zur Verfügung, wer sich mit der Kommandozeile auskennt weiß das,
für alle anderen gibt diese GUI die die Abfragen etwas erleichtert.

Lösung :

Eine kleine GUI für die MS Tools :

- ping
- nbtstat
- qwinsta
- net group
- net user

Download : NetInformations.hta

Bilder :


Letztes Update am 26.03.2010
Kategorien: HTA
Tags für diesen Artikel:

Inputbox an bestimmter Position anzeigen

Problem
Man möchte eine Inputbox an eine bestimmte Position am Bildschirm anzeigen lassen um z.B. eine andere Anwendung nicht zu verdecken.

Lösung

InputBox ( "title", "Prompt" [, "Default" [, "password char" [, Width, Height [, Left, Top [, TimeOut]]]]] )

Parameter

title = Der Titel der InputBox
prompt = Ein Beschreibungstext für den Nutzer, damit er weiß, was er eingeben soll.
password char [optional] = Das Zeichen, mit dem alle eingegebenen Zeichen maskiert werden. Wenn du willst, dass das echte Zeichen angezeigt werden soll, dann übergebe einen leeren String ("") (Standardwert) oder ein Leerzeichen als erstes Zeichen. Wenn du einen mehrere Zeichen langen String angibst, wird nur das erste Zeichen zum Maskieren genutzt. Die weiteren Zeichen haben eine besondere Bedutung. Siehe dazu die Bemerkungen.
width [optional] = Die Breite des Fensters. Wenn die Breite definiert wird, muss auch die Höhe angegeben werden. Gib -1 an, um die Standardbreite zu verwenden.
height [optional] =Die Höhe des Fensters. Wenn die Höhe definiert wird, muss auch die Breite angegeben werden. Gib -1 an, um die Standardhöhe zu verwenden
left [optional] = Horizontale Position der InputBox. Standardmäßig wird die Box zentriert. Wenn angegeben, muss auch die vertikale Position bestimmt werden.
top [optional] = Vertikale Position der InputBox. Standardmäßig wird die Box zentriert. Wenn angegeben, muss auch die horizontale Position bestimmt werden.
timeout [optional] = Wie viele Sekunden soll gewartet werden, bis die InputBox automatisch über den Cancel-Button verlassen wird.

Quelle autoit.de: InputBox - Referenz

Fehlerbehandlung in VBS/WSH

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

Sprache des Installierten Betriebssystem ermitteln

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

BIOS mittels WMI per Skript auslesen

Problem
Man möchte gerne BIOS-Version, Hersteller, Seriennummer und Physikalische Speicherbelegung aus dem BIOS auslesen ohne den Server neu zu starten.

Lösung
Folgendes VBS-Skript ließt die wichtigsten Informationen aus dem BIOS aus:


strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery ("Select * from Win32_BIOS")
For each objBIOS in colBIOS
msg = "BIOS-Informationen" & vbcrlf
msg = msg & "Manufacturer: " & objBIOS.Manufacturer & vbcrlf
msg = msg & "Name: " & objBIOS.Name & vbCRLF
msg = msg & "Serial Number: " & objBIOS.SerialNumber & vbCRLF
msg = msg & "SMBIOS Version: " & objBIOS.SMBIOSBIOSVersion & vbCRLF
msg = msg & "Status: " & objBIOS.Status & vbCRLF & vbcrlf
Next

msg = msg & "physikalische Speicherplätze" & vbCRLF
anzahl = 0

Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory",,48)
For Each objItem in colItems
    anzahl = anzahl + 1
    msg = msg & "Bank " & anzahl & " = Größe: " & objItem.Capacity/1024/1024 & " MB" & vbcrlf
Next
msgbox msg
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)