Page 1 of 1

Logonscript mit Eintrag in Ereignisanzeige

Posted: 24. Jun 2010, 09:10
by mirco.bronner
Hallo,
haben ein .vbs-Script geschrieben welches die Inventory der Clients macht und einen Eintrag in die Ereignisanzeige produziert.
Dadurch ist sichtbar, ob das Script gelaufen oder mit welchem Fehler abgebrochen.
Da eine Gruppenrichtlinie den Zugriff auf UNC-Pfade verweigert, haben wir die Freigabe \\empirumserver\Empinv$ mit Q verbunden. Diese wird später wieder getrennt.

Die Richtlinie unter Computerkonfiguration einstellen.

Hier gehts los:

'***********************************
'* File: Empirum_Inventory.vbs *
'* Autor: M.Bronner *
'* Datum: 09.06.2010 *
'***********************************
option Explicit
'On Error Resume Next
Dim wsh, nwo
Dim COMPUTERNAME, BENUTZERNAME, BENUTZERDOMAIN, GRUPPE(), PUSER
ReDim GRUPPE(15)
Dim MELDUNG, MELDESTRING, ZEIT
Dim EVENT_STATUS, LW_BUCHSTABE, LW_Resource
Dim INV_EXE, INV_KONF, INV_OUT, INV_OUT2, INV_OUT3, INV_PARAMS
Dim EMPIRUMSERVER

'Instanzen der verwendeten Objekte erstellen
Set wsh = Wscript.CreateObject("Wscript.Shell")
Set nwo = CreateObject("WScript.Network")

COMPUTERNAME = nwo.ComputerName
ZEIT = Now
ZEIT = Replace(ZEIT, " ", "_")
ZEIT = Replace(ZEIT, ":", "")
melden "ZEIT: " & ZEIT
BENUTZERNAME = nwo.Username
BENUTZERDOMAIN = nwo.UserDomain
EMPIRUMSERVER = "mirax" 'Name des Empirumservers
LW_BUCHSTABE = "Q:"
LW_RESOURCE = "\\" & EMPIRUMSERVER & "\EmpInv$\"
INV_EXE = "\\" & EMPIRUMSERVER & "\configurator$\packages\matrix42\inventory\12.0.2\windows\system\empirum\empinventory.exe"
INV_KONF = "\\" & EMPIRUMSERVER & "\configurator$\user\empinvscan_windows.xml"
INV_OUT3 = LW_Buchstabe & "\" & BENUTZERDOMAIN & "_" & COMPUTERNAME & "_" & ZEIT & ".xml"
INV_PARAMS = "/E /V2 /M /T /ZIP"
melden "INV_EXE: " & INV_EXE
melden "INV_KONF: " & INV_KONF
melden "INV_OUT3: " & INV_OUT3
melden "INV_PARAMS: " & INV_PARAMS

EVENT_STATUS = 4
'nwo.MapNetworkDrive LW_BUCHSTABE, LW_RESOURCE
nwo.MapNetworkDrive "Q:", "\\mirax\EmpInv$"

'###################################################################
'######################## EMPIRUM Inventory ########################
'###################################################################
melden "==> Einlesen der Benutzerdaten:"
melden " Computer: " & COMPUTERNAME
melden " Benutzer: " & BENUTZERNAME
melden " Domain: " & BENUTZERDOMAIN
melden " EmpirumServer: " & EMPIRUMSERVER
melden " Scipt: Empirum_Inventory.vbs"
Inventory()
melden "==========================================="
melden ""
melden " -> " & chr(169) & " by M.Bronner"
MELDEN_EVENTLOG()
'MsgBox MELDUNG



'###################################
sub Inventory()
'###################################
'On Error Resume Next
'msgbox "Empitum Inventarisierung",1
melden "---------------------------------"
melden INV_EXE & " /C:" & INV_KONF & " /O:" & INV_OUT3 & " " & INV_PARAMS
melden "---------------------------------"
wsh.run INV_EXE & " /C:" & INV_KONF & " /O:" & INV_OUT3 & " " & INV_PARAMS,,true
melden "Fehlernummer: " & Err
melden "==========================================="
Select Case Err
Case "70"
melden "==> Zugriff auf (" & EMPIRUMSERVER & ") verweigert"
Event_Status = 1
Case "500"
melden "==> Variable ist undefiniert"
Event_Status = 1
Case "-2147023693"
melden "==> Server (" & EMPIRUMSERVER & ") wurde nicht gefunden"
Event_Status = 1
Case "-2147024894"
melden "==> Datei wurde nicht gefunden"
melden "" & INV_EXE
melden " oder "
melden "" & INV_KONF
Event_Status = 1
Case "0"
melden "==> Inventory erfolgreich ausgeführt"
Event_Status = 0
End Select
End Sub
'###################################

'###################################
Sub MELDEN(MELDESTRING)
'###################################
MELDUNG = MELDUNG & vbCRLF & MELDESTRING
End Sub
'###################################

'###################################
Sub MELDEN_EVENTLOG()
'###################################
wsh.LogEvent EVENT_STATUS, MELDUNG
'Werte von EVENT_STATUS, die mit der Methode object.LogEvent benutzt wird:
'0 SUCCESS
'1 ERROR
'2 WARNING
'4 INFORMATION
End Sub
'###################################
nwo.removenetworkdrive LW_BUCHSTABE, true, true
Wscript.Quit



Gruß
Mirco

Re: Logonscript mit Eintrag in Ereignisanzeige

Posted: 24. Jun 2010, 09:43
by Hendrik_Ambrosius
Tolle Idee! :-)

Re: Logonscript mit Eintrag in Ereignisanzeige

Posted: 01. Jul 2010, 08:54
by mirco.bronner
Danke!