1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Camulus

Beiträge von Camulus

  • TrayCreateItem Häkchen

    • Camulus
    • 9. Juli 2012 um 10:45

    Hi,

    ich habe ein kleines "TrayMenü" erstellt.

    Allerdings alles mit TrayCreateItem.

    Wenn ich die Items anklicke tun sie auch genau das was sie sollen aber dann haben sie ein Häkchen.
    Bekomm ich das Häkchen irgendwie wieder weg?

  • FileGetVersion (*.au3 File)

    • Camulus
    • 6. Juli 2012 um 16:21

    Danke,

    es ist auch ei zweites das upgedatet werden soll. ;)

  • FileGetVersion (*.au3 File)

    • Camulus
    • 6. Juli 2012 um 15:17

    Hi,

    kann ich einem au3 File irgendwie eine Versionsnummer verpassen?
    Ich hab einen ähnlichen Updater wie heir beschrieben: https://autoit.de/index.php?page=Thread&threadID=32163

    Aber Versionsnummer hab ich nur in einer exe und ich würde gerne ein au3 File Updaten können.

  • Active Directory Benutzerdaten abfragen

    • Camulus
    • 6. Juli 2012 um 10:14

    Ahhh dann hab ich das falsch verstanden.
    Inetressant wäre es höchstens den Aussendienstlern eine Meldung auszugeben wie: "VPN Verbindung kann nicht aufgebaut werden weil Passwort abgelaufen."

  • Active Directory Benutzerdaten abfragen

    • Camulus
    • 6. Juli 2012 um 08:55
    Zitat von water

    Vista müsste auch schon gehen.
    Wenn ein User sich nicht anmelden kann, dann kann _AD_Open folgende Info zurückgeben:

    ; 525 - user not found
    ; 52e - invalid credentials
    ; 530 - not permitted to logon at this time
    ; 532 - password expired
    ; 533 - account disabled
    ; 701 - account expired
    ; 773 - user must reset password

    Wenn Du das brauchen kannst, dann könnte man das und Dein bisheriges Skript in eine kleine FUnktion einpacken.

    Alles anzeigen

    Hi (Water),

    wie würde dass denn funktionieren? Muss ich dann nur

    [autoit]

    Func _AD_GetLastADSIError()

    [/autoit]

    aufrufen und mir was zurückgeben lassen?
    Eigentlich kann es doch garnicht funktionieren oder? Die VPN Einwahl scheitert doch wenn der User gesperrt ist o.ä. und ohne VPN EInwahl gibt es keine AD Abfrage.

  • VPN Einwahluser Speicherort

    • Camulus
    • 4. Juli 2012 um 15:31

    Hi,

    ich hab hier ein kleines Problem.

    Eine Tochter des Unternehmens hier hat eine Menge Aussendienstmitarbeiter. Die wählen sich per VPN ein. Allerdings gibt es hier ein historisch gewachsenes Problem dass dazu führt dass diese User sich nicht mit Ihrem Domänenaccount einwählen können sondern sich mit einem User einer anderen Domäe anmelden müssen. Die Domänen vetrauen sich natürlich untereinander.

    Das Problem ist jetzt das diese User das EInwahlpasswort mal bekommen haben und abgespeichert. Also dieses Häkchen gesetzt User und Passwort merken.

    Weiss jemand wo Windows sich das merkt und ob man das irgendwie über Autout nutzen kann?


    Es gibt von dem Einwahltool zwei Versionen, das eine ruft einfach Rasdial VPN-Verbindung auf und nimmt den angemeldetetn User zur VPN Einwahl was auch prima funktioniert.

    Das zweite ruft rasphone auf mit den selben Einstellungen, dass geht natürlich nicht weil der angemelete User ja nicht der VPN EInwahl User ist. Das läuft dann einmal vor die Wand und in dem "nochmal versuchen Fenster" ist ja dann der richtige User gespeichert.

    Das will ich natürlich gerne vereinheilichen, und z.b. sagen wenn der USer aus der und der Domäne kommt nimm den angemeldeten User ansonsten lies die Daten da aus und nimm die.

  • Wie bau ich am besten die Schleife ein

    • Camulus
    • 4. Juli 2012 um 15:24

    Danke!

    Funktioniert perfekt! :thumbup:

  • Wie bau ich am besten die Schleife ein

    • Camulus
    • 3. Juli 2012 um 13:36

    Hallo,


    ich steh mal wieder völlig aufm Schlauch, oder seh den Wald vor lauter Bäumen nicht.

    Ich habe ein Script das nach AD Gruppenzugehörigkeit Laufwerke mappt. Falls das jetzt aus irgendeinem Grund nicht funktioniert soll es insgesamt dreimal versucht werden.

    Wenns dann immer noch nicht geklappt hat soll halt ne entsprechende Meldung ausgegeben werden.

    So soeht das bei mir aus:

    Schnipsel:

    [autoit]


    If Not @error Then
    DriveMapDel("G:")
    _WriteLogData("Laufwerk G:\ getrennt.")
    DriveMapDel("H:")
    _WriteLogData("Laufwerk H:\ getrennt.")
    DriveMapAdd("G:", \\domäne.local\dfs\Abteilung)
    ;~ DriveMapAdd("G:", "\\domäne.local\dfs\Abteilung",0,@LogonDomain & "\"& @UserName)

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

    If @error Then
    $Error = @error
    $Laufwerk = "G:\"
    _ErrorLog($Error, $Laufwerk)
    Else
    $Error = ""
    $Laufwerk = ""
    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk G:\ erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk G:\ verbunden.")
    ElseIf WinActive ("VPN- Status") Then
    ControlSetText("VPN- Status","",11, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk G:\ erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk G:\ aus Childform verbunden.")
    EndIf

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

    EndIf

    [/autoit]


    Ich habs mit einer For Next Schleife versucht aber das klappt nicht wie ich will. Warscheinlich ist es wieder ganz einfach und ich stell mich nur zu blöd. :S

  • Variablen mit funktion übergeben

    • Camulus
    • 2. Juli 2012 um 16:16

    Hi,

    ich brauch mal eine Erklärung für so Begriffsstutzige wie mich.
    Ich habe zwei exe Dateien die ein Logfile befüllen sollen. Erstellt und befüllt wird das Logfile so:

    [autoit]

    #Include <File.au3>

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

    ;Muss wieder raus
    $FileName = @ScriptDir & "\Log\Logon_" & @YEAR & @MON & @MDAY & "_" & @HOUR & @MIN & @SEC & ".log"
    ;....

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

    Func _WriteLogData($Line)

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

    Local $FileCreateOK, $LinePrefix

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

    $LinePrefix = @YEAR & "." & @MON & "." & @MDAY & "/" & @HOUR & ":"& @MIN & ":" & @SEC & " | " & $Line

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

    if not FileExists($FileName) Then

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

    $FileCreateOK = _FileCreate($FileName)

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

    EndIf

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

    $LogFileID = FileOpen($FileName,1)

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

    FileWriteLine($LogFileID,$LinePrefix)

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

    FileClose($LogFileID)

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

    EndFunc

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

    Wenn ich jetzt die zweite exe ins LogFile schreiben lassen will muss die ja wissen dass es schon ein Logfile gibt.
    Mien Idee war jetzt eine eigene Funktion für die zweite exe die dann das Logfile der ersten befüllt.

    So in der Art

    [autoit]

    #Include <File.au3>

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

    Func _WriteMappingLogData($Line)

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

    $LogFileID = FileOpen($FileName,1)

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

    FileWriteLine($LogFileID,$LinePrefix)

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

    FileClose($LogFileID)

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

    EndFunc

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


    Aber wie gebe ich der zwieten Funktion den schon vorhandenen LogFile- Namen der ersten mit?

    Oder wo steht beschrieben wie ich variablen einem Funktionsaufruf mitgebe?

    Ist verständlich was ich will? ?( :D

  • GUICtrlSetData aus einer anderen exe?

    • Camulus
    • 25. Juni 2012 um 14:17

    :pinch: da hätte ich auch drauf kommen können :huh:

    Danke! :thumbup:

  • GUICtrlSetData aus einer anderen exe?

    • Camulus
    • 25. Juni 2012 um 14:14

    Hi,

    ich hab wieder mal so eine Spezial Frage. Ich habe eine GUI mit der unsere User Ihre VPN verbindung herstellen, Laufwerke verbinden usw.
    Das laufwerke verbinden hab ich in eine seperate exe ausgelagert. Wegen Updatefähigkeit.

    Kann ich die GUI aus der Ursprungsexe irgendwie über die zweite steuern? Also in meinem Fall Statusmeldungen in ein Labelfeld schreiben?

  • @error übergeben

    • Camulus
    • 25. Juni 2012 um 11:47

    Danke!

  • @error übergeben

    • Camulus
    • 25. Juni 2012 um 10:41

    Hi,

    ich stell mich mal wieder zu blöd.

    Ich möchte immer noch Laufwerke verbinden.
    Wenn das nicht klappt will ich einen entsprechenden Eintrag ins Log FIle schreiben.
    DriveMapAdd setzt ja den entsprechenden Wert in @error, aber wie ich den Wert dann an die funktion übergebe die das Log schriebt ist mir nicht klar.
    Ich weiss wohl dass es mit Return geht, aber wie ist mir nicht klar.

    Hier ein Schnipsel:

    [autoit]


    _ArraySearch($aUser, "CN=G-AbteilungXY" , 0, 0, 0, 1)
    If Not @error Then
    DriveMapDel("W:")

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

    DriveMapAdd("W:", "\\filsever\dfs\Benutzer\XY\")
    If @error Then
    MsgBox(0,"Fehler beim Mapping", "Fehler :" & @error); Messagebox ist nur zum testen, anstatt der Messagebox würde ich gerne _ErrorLog aufrufen mit dem entsprechenden Wert aus @error.

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

    EndIf
    EndIf

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

    Func _ErrorLog()

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

    If @error = 1 Then
    _WriteLogData("Netzlaufwerke NICHT verbunden - Undefinierter / anderer Fehler. @extended enthält den Rückgabewert der Windows API.")
    ElseIf @error = 2 Then
    _WriteLogData("Netzlaufwerke NICHT verbunden - Der Zugriff auf die Remote-Freigabe wurde verweigert")
    ElseIf @error = 3 Then
    _WriteLogData("Netzlaufwerke NICHT verbunden - Das Gerät ist bereits zugewiesen")
    ElseIf @error = 4 Then
    _WriteLogData("Netzlaufwerke NICHT verbunden - Ungültiger Gerätename")
    ElseIf @error = 5 Then
    _WriteLogData("Netzlaufwerke NICHT verbunden - Ungültige Remote-Freigabe")
    ElseIf @error = 6 Then
    _WriteLogData("Netzlaufwerke NICHT verbunden - Ungültiges Passwort")
    EndIf

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

    EndFunc

    [/autoit]
  • exe tut nicht was das Script tut

    • Camulus
    • 18. Juni 2012 um 13:46

    o.k...
    zumindest weiss ich jetzt dass der String falsch ist.
    Danke!

  • exe tut nicht was das Script tut

    • Camulus
    • 18. Juni 2012 um 13:25
    Zitat von Awesome

    [ gelöst ] 7za.exe ansprechen


    Was soll mir das sagen?
    Das entpacken als solches funktioniert ja. Nur wenn alles kompiliert ist und ich die exe ausführe gehts nicht.

  • exe tut nicht was das Script tut

    • Camulus
    • 18. Juni 2012 um 13:02

    ne das muss so, hab ich mich auch drüber gewundert aber steht so in der Hilfe. Funktioniert ja auch wenn man es direkt aus dem Sript ausführt Nur nach dem Kompilieren nicht mehr.

  • exe tut nicht was das Script tut

    • Camulus
    • 18. Juni 2012 um 12:50

    Hi,

    ich versuche gerade dieses einfache Script zu kompilieren:

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=CRM_Installer.exe
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.2.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    FileInstall("7za.exe", @ScriptDir & "\7za.exe", 1)
    FileInstall("CRM2011_x86.zip", @ScriptDir & "\CRM2011_x86.zip", 1)

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

    DirCreate(@ScriptDir & "\CRM2011_x86")
    Sleep(1000)

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

    RunWait(@ScriptDir & "\7za x " & @ScriptDir & "\CRM2011_x86.zip" & " " &"-aoa -o"& @ScriptDir & "\CRM2011_x86");, @SW_HIDE)

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

    ;~ ShellExecuteWait(@ScriptDir & "\CRM2011_x86\_setup.cmd","",@ScriptDir,"open",@SW_HIDE)
    MsgBox(0,"","nehmen wir an das CRM wäre installiert")

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

    ;~ FileDelete(@ScriptDir & "\7za.exe")
    ;~ FileDelete(@ScriptDir & "\CRM2011_x86.zip")
    ;~ DirRemove(@ScriptDir & "\CRM2011_x86",1)

    [/autoit]

    Alles ja nicht sooo kompliziert.
    Wenn ich das alles mit F5 teste gehts.
    Wenn ich das Script kompiliere und in einem anderen Ordner die exe ausführe gehts nicht. Dieser Teil:

    [autoit]

    RunWait(@ScriptDir & "\7za x " & @ScriptDir &
    "\CRM2011_x86.zip" & " " &"-aoa -o"& @ScriptDir &
    "\CRM2011_x86");, @SW_HIDE)

    [/autoit]

    wird scheinbar überspringen. Das DOS Fenster im Hintergrund blitzt zwar kurz auf, aber entpackt wird nix.
    Der Rest funktioniert.

    Den selben Code habe ich in einem anderen Tool, also hier nur den Dateinamen geändert und da gehts auch.

    Irgendjemand ne Idee?

  • Verzeichnis in exe einbinden

    • Camulus
    • 18. Juni 2012 um 12:46

    Danke.

    Kann man immer brauchen :rock:

  • Verzeichnis in exe einbinden

    • Camulus
    • 18. Juni 2012 um 10:14

    Das war Plan B :D
    Ich dachte ich hätte vielleicht noch ne andere Möglichkeit einfach übersehen oder nicht gewusst.
    Aber dann wirds gezipt.

    Danke!

  • Verzeichnis in exe einbinden

    • Camulus
    • 18. Juni 2012 um 09:31

    Hi,

    gibts irgendeine Möglichkeit ein ganzes Verzeichnis in eine exe einzubinden?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™