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. Dietmar

Beiträge von Dietmar

  • ODBC Datasourcen löschen, die einen bestimmten Treiber verwenden.

    • Dietmar
    • 11. Oktober 2011 um 09:10
    [autoit]

    If StringInStr($s_dsn_driver,$s_dsn_driver_choice)

    [/autoit]


    klar du wolltest ja anhand eines Treibers filtern :)

    evtl. mal testen mit

    [autoit]

    If StringInStr($s_dsn_driver,$s_dsn_driver_choice) Or $s_dsn_driver = "" Then $s_dsn_label &= $s_dsn_name & "|"

    [/autoit]

    Also mal Zeile 32 tauschen und vorsichtig testen. :whistling:

    Gruß Dietmar

  • ODBC Datasourcen löschen, die einen bestimmten Treiber verwenden.

    • Dietmar
    • 11. Oktober 2011 um 08:59
    Zitat

    Das einzige was nicht geht, ist, dass wenn der ODBC Treiber schon weg ist,

    Wie weg, deinstalliert oder der Key existiert nicht mehr?

  • ODBC Datasourcen löschen, die einen bestimmten Treiber verwenden.

    • Dietmar
    • 10. Oktober 2011 um 23:40
    [autoit]

    #RequireAdmin

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

    Dim $s_dsn_label
    Dim $s_dsn_driver_choice = "\sqlsrv32.dll" ; mssql
    ;~ Dim $s_dsn_driver_choice = "\msorcl32.dll" ; oracle

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

    Dim $s_Reg_Path = "HKEY_LOCAL_MACHINE"
    ;~ Dim $s_Reg_Path = "HKEY_CURRENT_USER"

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

    If @OSArch = "X86" Then
    $s_Reg_Key = $s_Reg_Path & "\SOFTWARE\"
    Else
    $s_Reg_Key = $s_Reg_Path & "\SOFTWARE\Wow6432Node\"
    EndIf

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

    _Read_DSN_Combo($s_dsn_driver_choice)
    If $s_dsn_label <> "" Then
    _Del_My_DSN($s_dsn_label)
    Else
    MsgBox(0,"","keine DSNs ermittelt.")
    EndIf

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

    ; Funktionen

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

    Func _Read_DSN_Combo($s_dsn_driver_choice) ; DSNs aus Registry ermitteln
    $s_dsn_label = ""
    For $i= 1 to 50
    If @error <> 0 then ExitLoop
    $s_dsn_name = RegEnumVal($s_Reg_Key & "ODBC\ODBC.INI\ODBC Data Sources", $i)
    $s_dsn_driver = RegRead($s_Reg_Key & "ODBC\ODBC.INI\" & $s_dsn_name,"Driver")
    If StringInStr($s_dsn_driver,$s_dsn_driver_choice) Then $s_dsn_label &= $s_dsn_name & "|"
    Next
    $s_dsn_label = StringTrimRight($s_dsn_label,1)
    Return $s_dsn_label
    EndFunc

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

    Func _Del_My_DSN($s_dsn_label)
    $a_DSN_Names = StringSplit($s_dsn_label,"|")
    If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(4145,"Achtung","Möchten sie folgende DSNs löschen?" & @CRLF & @CRLF & $s_dsn_label)
    Select
    Case $iMsgBoxAnswer = 1 ;OK
    For $i_dsn_cnt = 1 To UBound($a_DSN_Names,1) -1
    MsgBox(0,"",$a_DSN_Names[$i_dsn_cnt] & " wird gelöscht.")
    RegDelete($s_Reg_Key & "ODBC\ODBC.INI\" & $a_DSN_Names[$i_dsn_cnt])
    RegDelete($s_Reg_Key & "ODBC\ODBC.INI\ODBC Data Sources", $a_DSN_Names[$i_dsn_cnt])
    Next
    Case Else
    MsgBox(0,"","Es wurde nichts gelöscht.")
    Exit
    EndSelect
    EndFunc

    [/autoit]

    so mal etwas entschlackt dann kannst Du Dir es anpassen wie du es brauchst.

    Gruß Dietmar

  • Variable in Body einer E-Mail einfügen

    • Dietmar
    • 6. Oktober 2011 um 11:44
    [autoit]

    _FileReadToArray($f_log_file,$as_Body)
    $Response = _INetSmtpMail($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body,"EHLO " & @computername, -1)

    [/autoit]

    ich verschicke so Mails an unseren Exchange 2010 ohne Outlook, wozu auch ne Mail öffnen wenn es so geht.
    $as_body ist übrigens ein Array, nachdem es zuvor aus einer textdatei eingelesen wurde.

    benötigt wird noch

    [autoit]

    #include <INet.au3> ; für Mailversand ohne Client

    [/autoit]

    Gruß Dietmar

  • Hilfe für iPhone Seite

    • Dietmar
    • 6. Oktober 2011 um 09:57
    Zitat

    Hilfe für iPhone Seite


    ? Vorder- oder Rückseite ?

    SCNR aber bei Apple juckt es mir immer wieder in den Fingern :)

    Edit BugFix:
    [Link entfernt!]
    Auch im OffTopic finde ich es mehr als unangebracht sinnlos zu posten, ohne einen Beitrag zum Thema zu leisten. Und völlig dahingestellt, wie man selbst zu Apple-Produkten steht: Der Mann war ein Visionär und hat etwas Bleibendes geleistet. Wer von uns wird das am Ende seines Lebens von sich behaupten können?
    Für diesen Beitrag bekommst du, Dietmar, von mir ein :thumbdown:

  • Access Zugriff

    • Dietmar
    • 5. Oktober 2011 um 15:24

    nee, bevorzugt versuche ich dem Threadstarter zu helfen. :D

  • AutoIT-Script hört nach beenden der RDP-Sitzung auf zu arbeiten?

    • Dietmar
    • 5. Oktober 2011 um 09:14
    Zitat

    man muss die Automatische anmeldung für den Admin konfigurieren.


    Aua, dann aber wenn möglich nen zus.. lokalen Admin einrichten.
    Da würde ich aber vnc oder ESX-Konsole in Verbindung mit esx bevorzugen, dann steht die Kiste nicht physiklaisch offen rum.
    An die Konsole mus man sich ja schliesslich auch anmelden. Das andere klingt schon sehr einladend :S

    Gruß Dietmar

  • Access Zugriff

    • Dietmar
    • 5. Oktober 2011 um 09:11

    Ich denke nicht das Du mich meinst, da ich nix von Installieren geschrieben habe. (außer die Officekomponente, die oftmals eh da ist)
    Du willst was in der Access DB ändern, und zwar Verbindungsangaben zu einem anderen Server, der hostet was? Auch Access?
    Falls es nicht Access ist und Du Dich via ODBC weiterverbindest würden ja die Angaben auch in der >registry stehen und dann könntest Du diese dort patchen.

  • Access Zugriff

    • Dietmar
    • 4. Oktober 2011 um 18:01

    Normalerweise macht man das mit dem Tabellenverknüpungsmanger, kann man bei Office hinzuinstallieren.

    Wenn Du allerdings den ODBC Namen beibehälst und nur den Server änderst könnte eine Eingriff in der <registry> reichen.
    Für SQL
    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DB-62221
    und dort der Key Server ändern. Innerhalb von Access wird er ja vermutlich an SQL Datenbanken gehen,
    die wiederum via odbc erreichbar sind und in der Accessabfrage eingewoben sind.
    Access DB haben ja eigentlich keinen Server, das sind ja nur dumme Datendateien,
    von daher bin ich mir nicht sicher ob ich Dich richtig verstanden habe.

    Falls nicht sollte das Erste (Tabellenverknüpungsmanger) totzdem passen. :)

    Gruß Dietmar

  • msiexec Aufruf zu gutmütig

    • Dietmar
    • 4. Oktober 2011 um 17:22

    Hallo ich habe ein kleines Problem, welches ich zwar für mein Script umsetzen könnte.
    Allerdings denke ich das, das Problem am Ursprung zu erschlagen sinnvoller wäre.

    Man stelle sich vor ich installier ein Programm via

    Zitat

    msiexec /i program.msi transforms=1031.mst /passive alluser=1

    Nun sind neue wichtige Bestandteile hinzugekommenm, das Vorhandensein prüft normalerweise die Setup.exe und wirft ggf. die Installroutine dafür an.

    MSIEXEC, also nicht mit Maus installiert, schwert sich aber nicht darum, es wird nur das angegebene Produkt installiert aber nicht MS Visual C++ 2010 und Framework4.

    Gruß Dietmar

  • AutoIT-Script hört nach beenden der RDP-Sitzung auf zu arbeiten?

    • Dietmar
    • 4. Oktober 2011 um 17:09

    "am PC und server start "

    und sind es nun 2 Rechner, sicher das es klappt imho brauchte das Script damals eh Adminrechte von daher
    meine ich das schon mal probiert zu haben, hatte mich dann für vnc entschieden, da dort die Sitzung normal offen bleibt.

  • AutoIT-Script hört nach beenden der RDP-Sitzung auf zu arbeiten?

    • Dietmar
    • 4. Oktober 2011 um 16:20

    Ist doch logisch das es aufhört, da MS dann Maus/Tastatur blockiert wenn der Desktop getrennt/gesperrt ist.
    Installier Dir vnc und nutze das oder lass es auf nem ESX Server o.ä. in der Konsole laufen.

    Ich gehe mal davon aus das Du Dich nur trennst wenn Du Dich abmeldest ist es noch logischer. :)

    Aber mit RDP wird es ziemlich sicher nicht klappen und wenn dann vermutlich auch nur bis zum nächsten ServicePack :)

  • Vom User festgelegtes Passwort in INI Datei speichern und beim Öffnen abfragen

    • Dietmar
    • 29. September 2011 um 20:24

    Benutze doch bitte die AutoIt Tags damit der Quelltext bunt wird, ist so besser lesbar

    Und nen bissel Ordnung schadet auch nix :)

    [autoit]

    #RequireAdmin
    #include <File.au3>
    #include <String.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <WindowsConstants.au3>

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

    $f_prog_dir = "C:\Program Files\MBDevelopment\Save Password\" ;ggf. mittels regread den Pfad ermitteln, es muss ja nicht überall so passen

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

    If FileExists($f_prog_dir & "User\passwort.ini") then
    Call("check")
    Else
    Call("createpw")
    EndIf

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

    ;~ check() ;wird das noch benötigt?

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

    Exit

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

    ;~ #Funktionen--------------------------------------------------

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

    Func createpw()
    $Form1 = GUICreate("Form1", 280, 83, 192, 124)
    $Input1 = GUICtrlCreateInput("Input1", 8, 8, 257, 21)
    $Button1 = GUICtrlCreateButton("Button1", 8, 48, 257, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $Input1Read = GUICtrlRead( $Input1 )
    If $Input1Read="" Then
    MsgBox(0,"Save Password","Kein Passwort eingetragen!")
    Else
    Global $Save_Ort = FileSaveDialog( "Benutzerdaten speichern", $f_prog_dir & "User\", "Alle Dateien (*.*)", 0, "passwort.ini")
    FileClose( $Save_Ort )
    IniWrite( $Save_Ort,$Input1Read ,"" , $Input1Read)
    GUISetState(@SW_hide)
    Call("check")
    EndIf

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

    EndSwitch
    WEnd
    EndFunc

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

    Func check()
    $pass = InputBox ("Save Password BETA 1", "Bitte trage hier dein Passwort ein!","","*",250,130)
    If IniRead (@ScriptDir &"\passwort.ini","Passwort","key01","") = $pass Then
    SoundPlay($f_prog_dir & "start.mp3")
    MsgBox(0,"Save Password", "Sie haben sich erfolgreich als " & @UserName & " eingeloggt!")
    SoundPlay($f_prog_dir & "Media\standart.mp3")
    Else
    $msgbox=MsgBox (1,"Save Password BETA 1" , "Falsche Antwort!" & @CRLF & "Nochmal versuchen?")
    If $msgbox=2 Then
    Exit
    EndIf
    EndIf
    EndFunc

    [/autoit]
  • Dateinamen anpassen

    • Dietmar
    • 29. September 2011 um 11:04
    Zitat

    Die Software bietet auch die Möglichkeit, bestehende Dateinamen zu ergänzen. Genau das hatte ich gesucht

    Wenn es Dir um so etwas geht, dachte zwar schon es gelesen zu haben, aber dafür nutze ich den TotalCommander. :)
    Und das darin versteckte Mehrfachumbenennungstool. Früher STRG+T heute STRG+M , damit geht dahingehend .... alles :D

    Gruß Dietmar

    Dateien

    MehrfachumbenennTool.PNG 168,09 kB – 0 Downloads
  • Benutzerwechsel in Win mit Autoit möglich ?

    • Dietmar
    • 29. September 2011 um 10:13

    Halt gewisse Scripte Befehle mit RunAs ausführen lassen.
    Oder alles als admin machen und dann die SID des USers ermitteln und in dessen Registry mit dem Admin schreiben

  • Vom User festgelegtes Passwort in INI Datei speichern und beim Öffnen abfragen

    • Dietmar
    • 28. September 2011 um 00:33

    und dazu evtl. noch crypt damit man das pw nicht im Kalrtext in der ini hat

  • Dateinamen anpassen

    • Dietmar
    • 27. September 2011 um 10:03

    Ich nutze godfather zum taggen und verschieben und mache dann manuell einen Ordner für CD1 /CD2

    N
    -New Order
    --1987 - Substance
    ---CD1
    ----01 - New Order - Ceremony (12- Version with Gillian Gilbert).mp3

    Man beachte den manuellen Eintrag CD1 , den man bei Bedarf hinzufügen kann, der Rest ist ja dynamisch(1.Buchstabe Interpret\Interpret)
    Jedenfalls, wenn man sich daran gewöhnt hat, ist Godfather ein Tool was ich nicht mehr missen möchte.

    Gruß Dietmar

    Dateien

    godfather.PNG 205,22 kB – 0 Downloads
  • DLL-und OCX registrieren?

    • Dietmar
    • 23. September 2011 um 17:15

    2,3,8,10 brauche meines Erachtens nicht "zusätzlich" registriert werden.
    comdlg32 comctl32 wird von fast alles gebraucht,
    das ist mitunter also schon registriert oder der Suchpfad in/zu sys32 reicht aus

  • CMD-Befehle in AutoIT...

    • Dietmar
    • 22. September 2011 um 15:42

    Mach es alles in AutoIt du wirst sehen, es geht alles und oftmals komfortabler als mit Dos (batch)
    Wenn Du Pfade usw. dynamisch brauchst dann löse es zuzm Beispiel über eine Ini Datei.

    So kannst Du schnell gewisse Parameter ändern und musst nicht im Quellcode rumbasteln.
    Und zuverlässlig ist es auch und zwar genauso wie ein DOS Script wenn man alle Eventualitäten berücksichtigt.

    Die Kunst ist es ja nicht einen gewissen Ablauf abzubilden sondern auf alle möglilchen Fehlerquellen passend zu reagieren. :)
    Und auch da bist Du bei AutoIt wesentlich flexibler.
    Also einfach mal die Altlasten vergessen und sich mit was "Neuem" anfreunden.

    Gruß Dietmar

  • CMD-Befehle in AutoIT...

    • Dietmar
    • 22. September 2011 um 13:21

    @progandy
    Das ist sicher eine gute Idee weil regedit durchaus bei aktivierten UAC nicht funktioniert
    oder die Exe nicht von allen Usern genutzt werden darf/kann. (Domäne / GPO etc.)

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™