Fehlemeldung _winapiconstant

  • Hi,

    ich bin gerade etwas erschüttert, wenn ich mein Script ausführe bekomme ich diese Meldung:

    [autoit]

    >"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Users\a-b.wagener\Desktop\Connect V. 1.1\COOConnect.au3" /UserParams +>14:47:31 Starting AutoIt3Wrapper v.2.1.4.4 SciTE v.3.3.7.0 ; Keyboard:00000407 OS:WIN_81/ CPU:X64 OS:X64 Environment(Language:0407 Keyboard:00000407 OS:WIN_81/ CPU:X64 OS:X64)>Running AU3Check (3.3.10.2) from:C:\Program Files (x86)\AutoIt3"C:\Users\a-b.wagener\Desktop\Connect V. 1.1\AD.au3"(4128,68) : warning: $__WINAPICONSTANT_FORMAT_MESSAGE_FROM_SYSTEM: possibly used before declaration. _WinAPI_FormatMessage($__WINAPICONSTANT_FORMAT_MESSAGE_FROM_SYSTEM, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^"C:\Users\a-b.wagener\Desktop\Connect V. 1.1\AD.au3"(4128,68) : error: $__WINAPICONSTANT_FORMAT_MESSAGE_FROM_SYSTEM: undeclared global variable. _WinAPI_FormatMessage($__WINAPICONSTANT_FORMAT_MESSAGE_FROM_SYSTEM, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^"C:\Users\a-b.wagener\Desktop\Connect V. 1.1\AD.au3"(985,55) : error: _ArrayCreate(): undefined function. $oAD_Group.GetInfoEx(_ArrayCreate("primaryGroupToken") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^C:\Users\a-b.wagener\Desktop\Connect V. 1.1\COOConnect.au3 - 2 error(s), 1 warning(s)!>14:47:32 AU3Check ended. Press F4 to jump to next error.rc:2+>14:47:32 AutoIt3Wrapper Finished..>Exit code: 2 Time: 0.639

    [/autoit]


    Das hat immer funktioniert.
    kann mir jemand sagen was ich da deklarieren muss?

    Einmal editiert, zuletzt von Camulus (12. Februar 2014 um 15:24)

  • Bitte poste mal dein Skript. Ohne können dir wir ja schlecht helfen ;)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • das ist recht groß....
    ich glaub die bereiche um die es geht sind:

    Spoiler anzeigen
    [autoit]

    #include <AD.au3>
    Func _GetUserAD()
    ;~ Benutzeraten aus Abfragen, wichtig für "Passwort läuft ab" AnzeigenGlobal $UserAccountControl, $samAccountName,$FirstName, $LastName, $title, $PasswordLastChanged, $IsAccountLocked, $DaysLeft,$msg,$icon ,$AnzeigeDatPwdExpires, $CounterLocal $Found = 0$AnmeldeUser = @UserName
    ;~ $LogonServer = "dc.compass.local";~ $LogonServer = @LogonDNSDomain$LogonServer = @LogonDomain
    $serverName = $LogonServer$baseStr = "DC="& @LogonDomain&",DC=local"
    ;~ $filterStr = "(&(objectCategory=Person) (objectClass=user)"$filterStr = "(&(objectCategory=Person)(objectClass=user)(sAMAccountName=" & @UserName & "))"$ado = ObjCreate("ADODB.Connection") ; erstellt eine Instanz des Objektes ADODB.Connection$ado.Provider = "ADSDSOObject"
    $ado.Open ("ADS-Search" )
    $adoCmd = ObjCreate("ADODB.Command")$adoCmd.ActiveConnection = $ado$adoCmd.Properties("Page Size") = 1000$adoCmd.Properties("Cache Results") = 1$adoCmd.CommandText = "<LDAP://" & $serverName & "/" & $baseStr & ">;" & $filterStr & ";ADsPath;subtree"
    _WriteLogData("Benutzereinträge für " & @UserName & " werden gesucht, auf Server " & StringReplace($LogonServer,"",""))_WriteLogData("Benutzereinträge für " & @UserName & " werden gesucht, auf Server " & $LogonServer)_WriteLogData("Funktionsaufruf lautet : " & $adoCmd & " ")
    $objectList = $adoCmd.Execute
    GUICtrlSetData($lbl_info, @CRLF & @CRLF & "Ein Moment bitte," & @CRLF & @CRLF & "Ihre Benutzereinträge werden gesucht.")
    $Counter = 1
    While Not $objectList.EOF()
    $user = ObjGet($objectList.Fields("ADsPath").value)
    $samAccountName = $User.samAccountName
    If stringlower($samAccountName) = StringLower($AnmeldeUser) Then
    $UserAccountControl = $user.UserAccountControl $FirstName = $User.FirstName $LastName = $User.LastName $title = $User.title $PasswordLastChanged = $User.PasswordLastChanged ;pwdLastSet $IsAccountLocked = $User.IsAccountLocked

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

    _WriteLogData("Benutzereintrag für " & $FirstName & " " & $LastName & " wurde gefunden. Accountcontrol = " & $UserAccountControl) $DaysLeft = _DatumBerechnen($PasswordLastChanged)

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

    If $DaysLeft <= 10 Then
    Switch $DaysLeft Case 1 GUICtrlSetBkColor($lbl_info, 0xf20000) MsgBox (16, "Achtung","Ihr Passwort läuft heute ab" & @CRLF & @CRLF & "Bitte ändern Sie das Passwort umgehend!") Case 2 GUICtrlSetBkColor($lbl_info, 0xFF9900) MsgBox (48, "Achtung","Ihr Passwort läuft morgen ab" & @CRLF & @CRLF & "Bitte ändern Sie das Passwort!") Case Else GUICtrlSetBkColor($lbl_info, 0xFFFF00) MsgBox(64,"Achtung","Ihr Passwort läuft in " & $DaysLeft & " Tagen, am " & $AnzeigeDatPwdExpires & ", ab." & @CRLF & @CRLF & "Bitte ändern Sie das Passwort bei der nächsten Gelegenheit!") EndSwitch
    GUICtrlSetBkColor($lbl_info, 0xD7E4F2) EndIf EndIf $objectList.MoveNext() $Counter += 1

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

    Wend

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

    If $DaysLeft > 10 Then GUICtrlSetBkColor($lbl_info, 0xDAF2D7) GUICtrlSetData($lbl_info, @CRLF & "Information!"& @CRLF & @CRLF & "Ihr Passwort ist noch " & $DaysLeft &" Tage gültig, " & @CRLF & "es läuft am " & $AnzeigeDatPwdExpires & " ab." & @CRLF & "Es ist nicht erforderlich das Passwort zu ändern.") Sleep(5000)
    EndIf GUICtrlSetData($lbl_info, @CRLF & @CRLF & @CRLF &"Suche nach Benutzerdaten abgeschlossen.") Sleep(500) GUICtrlSetBkColor($lbl_info, 0xD7E4F2) GUICtrlSetData($lbl_info, @CRLF & @CRLF & @CRLF &"Verbindung der Netzlaufwerke wird vorbereitet.")
    $UserAccountControl=""$samAccountName=""$FirstName=""$LastName=""$title=""$PasswordLastChanged=""$IsAccountLocked=""$DaysLeft=""$msg=""$icon=""$AnzeigeDatPwdExpires=""$Counter=""EndFunc

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