account nicht existent

  • Hallo zusammen,

    Ich habe ein kleines Problem. Und zwar erfüllt das Script verschiedene Funktionen. Schlussendlich werden die Daten in ein Log File geschrieben. Nun beim ersten Teil des Scripts sucht es nach dem Account "Install" auf dem Computer und gibt dann im Logfile aus, dass es ihn gibt. Aber wenn ich den Install jetzt lösche, dann soll er im Script ausgeben, dass es ihn nicht gibt. Und dort hab ich das Problem. Er gibt nichts aus, bzw. bringt eine Fehlermeldung. Nur weiss ich nicht, woran das liegen könnte. Bisher hab ichs nur geschafft, dass er in einem neuen Logfile ausgibt, dass es den Install-Account nicht gibt. Hier das script:
    [spoiler]

    [autoit]

    #include <File.au3>
    #include <array.au3>
    #Include <date.au3>

    [/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Anfang von Skript mit der Suche von Install.
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $Output=""
    $user = ""

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $objWMIService=ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount WHERE name = 'Install' ", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If IsObj($colItems) then
    For $objItem In $colItems
    $user = $objItem.Name
    $pcname = $objItem.Domain
    Next
    Endif

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If $user = "Install" Then
    $Install_exist = "Ja"
    Else
    $Install_exist = "Nein"
    EndIf

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Ende von Skript mit der Suche von Install.
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Beginn von Skript mit Norman Antivirus.
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Überprüfen der Aktualität von Norman
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $File_older_1week = 0
    $path = "P:\Norman5\DISTRIB\DOWNLOAD"
    $dateityp = "*.ZIP"
    $FileList = _FileListToArray($path, $dateityp, 1)
    $newest_file = 0
    $aktuelles_datum = _DateToDayValue (@YEAR, @MON, @MDAY)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Dim $fileliste_datum[UBound($FileList)][2]

    [/autoit][autoit][/autoit][autoit]

    For $i = 1 To UBound($FileList) - 1
    $date = FileGetTime($path &"\"& $FileList[$i], 0, 0)
    $fileliste_datum[$i][0] = $FileList[$i]
    $fileliste_datum[$i][1] = _DateToDayValue($date[0], $date[1], $date[2])

    If $fileliste_datum[$i][1] > $newest_file Then
    $newest_file = $fileliste_datum[$i][1]
    $newest_filename = $fileliste_datum[$i][0]
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Next

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    if $aktuelles_datum - $newest_file > 7 Then
    $File_older_1week = "Nein"
    Else
    $File_older_1week = "Ja"
    EndIf

    [/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Überprüfen, ob der Dienst "Norman Virus Control on-access component" am laufen ist.
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $wbemFlagReturnImmediately=0x10
    $wbemFlagForwardOnly=0x20
    $colItems2=""
    $Output=""
    $objWMIService=ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems2=$objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName='Norman Virus Control on-access component'", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If isobj($colItems2) Then
    For $objItems2 In $ColItems2
    Next
    Endif

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If $objItems2.State = "Running" Then
    $norman1 = "Ja"
    Else
    $norman1 = "Nein"
    endif

    [/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Überprüfen, ob der Dienst "Norman NJeeves" am laufen ist.
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $wbemFlagReturnImmediately=0x10
    $wbemFlagForwardOnly=0x20
    $colItems3=""
    $Output=""
    $objWMIService=ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems3=$objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName='Norman NJeeves'", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If isobj($colItems3) Then
    For $objItems3 In $ColItems3
    Next
    Endif

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If $objItems3.State = "Running" Then
    $norman2 = "Ja"
    Else
    $norman2 = "Nein"
    endif

    [/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Überprüfen, ob der Dienst "Norman ZANDA" am laufen ist.
    #ce ----------------------------------------------------------------------------
    $wbemFlagReturnImmediately=0x10
    $wbemFlagForwardOnly=0x20
    $colItems4=""
    $Output=""
    $objWMIService=ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems4=$objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName='Norman ZANDA'", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If isobj($colItems4) Then
    For $objItems4 In $ColItems4
    Next
    Endif

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If $objItems4.State = "Running" Then
    $norman3 = "Ja"
    Else
    $norman3 = "Nein"
    endif

    [/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Überprüfen, ob der Dienst "Norman eLogger service 6" am laufen ist.
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit]

    ;Variablen Deklaration
    $wbemFlagReturnImmediately=0x10
    $wbemFlagForwardOnly=0x20
    $colItems5=""
    $Output=""
    $objWMIService=ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems5=$objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName='Norman eLogger service 6'", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If isobj($colItems5) Then
    For $objItems5 In $ColItems5
    Next
    Endif

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If $objItems5.State = "Running" Then
    $norman4 = "Ja"
    Else
    $norman4 = "Nein"
    endif

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------
    Erstellung des Logfiles
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    FileDelete("I:\AutoIT-Logs\log_" & $pcname & ".log")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $Output = $Output & @CRLF & @CRLF
    $Output = $Output & "Install Account vorhanden? " & $Install_exist & @CRLF
    $Output = $Output & "Ist Norman aktuell? " & $File_older_1week & @CRLF
    $Output = $Output & "Läuft der Dienst Norman Virus Control on-access component? " & $norman1 & @CRLF
    $Output = $Output & "Läuft der Dienst Norman NJeeves? " & $norman2 & @CRLF
    $Output = $Output & "Läuft der Dienst Norman ZANDA? " & $norman3 & @CRLF
    $Output = $Output & "Läuft der Dienst Norman eLogger service 6? " & $norman4 & @CRLF

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $mainlog = "I:\AutoIT-Logs\"
    _FileWriteLog($mainlog & "log_" & $pcname & ".log", $Output)

    [/autoit]

    2 Mal editiert, zuletzt von Smitz (17. Juni 2008 um 10:39)

  • Bitte SPOILER verwenden.

    Gruß, Crazy-A.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • kann es sein das die Win32_UserAccount nur nach einem Neustart aktualisiert wird?
    Ansonsten kannst du ja auch mal nach den Ordnern im Documents & Settings ordner schauen oder wie hast du das eigentlich alles vor?
    User anlegen mit adminrechten --> runasset --> user löschen?
    Ha lol :D

    Überlesen; es kommt ne fehlermeldung? Is ja eigentlich klar denn diese Tabelle die du abfragst gibt es doch nicht mehr ...
    Versuch mal:

    Spoiler anzeigen
    [autoit]

    If IsObj($colItems) then
    For $objItem In $colItems
    $user = $objItem.Name
    $pcname = $objItem.Domain
    Next
    Else
    MsgBox(0, "Fehler", "Hier ist der Fehler denn es gibt kein Objekt")
    Endif

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • FireFlyer Danke für deine Hilfe..Habs vorhin gerade herausgefunden. Ich mach ne abfrage mit dem user "Install". Wenn der gelöscht ist, kann er klar nichts ausgeben..dumm von mir xD