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

Beiträge von thbrueck

  • @ComSpec Problem

    • thbrueck
    • 21. Oktober 2010 um 10:50

    Vor lauter Bäumen sieht man den Wald nicht mehr...

    Ja, ich muss tatsächlich das Script für 64- Bit als auch für 32- Bit Maschinen extra compilieren. Thanks Milla! :rock:

    Der_Doc

    dsmod.exe ist kein Standardbefehl in Windows, sondern kommt erst durch das "Remote Server Administration Tool" (früher Adminpak.msi) auf die Client- Maschine. Man muss hierbei tatsächlich die Rechner- Architektur (32/64 Bit) beachten, was ich auch innerhalb des Scriptes berücksichtigt hatte. Dass ich jedoch auch das Script selbst für die unterschiedlichen Plattformen compilieren muss, hatte ich nicht berücksichtigt...

    Gruß,

    thbrueck

  • @ComSpec Problem

    • thbrueck
    • 20. Oktober 2010 um 13:43

    Hallo liebe AutoIT'ler,

    ich greife per Script auf das Active Directory einer Domain zu. Der Einfachheit halber verwende ich die dazu passenden Befehle der Windows Support Tools. Diese binde ich wie folgt (Beispiel) ein:

    [autoit]


    $button = "Test"
    $location = "Ort"
    $var1 = @ComSpec
    $var2 = " /k " ; alternativ " /c "
    $var3 = 'dsmod.exe computer CN=' & @ComputerName & ',OU=' & $button & ',OU=DE,OU=EMEA,OU=UserComputers,DC=domain,DC=home -desc "####inactive#####" -loc ' & $location & ' -disabled no -c'
    $var = $var1 & $var2 & $var3
    MsgBox(0,"var:", $var) ; zur Überprüfung der Syntax
    $val = RunWait($var)
    MsgBox(0,"RunWait:", $val) ; zur Überprüfung des Rückgabewertes

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

    Nun ist es so, dass dieses Script problemlos auf einem Windows XP- Client läuft, während auf einem Windows 7 64 Bit Client zwar die Konsole noch geöffnet wird, aber der Befehl nicht ausgeführt wird. Starte ich den Befehl manuell in einer Konsole oder per Batch- File funktioniert es. Nur eben nicht, wenn das AutoIt- Script ausgeführt wird. Woran kann das liegen ?

    Benutzerkontensteuerung (UAC) und Windows- Firewall wurden abgeschaltet!

    Eventuell interessant ist, dass das Script die Konsole mit folgendem Titel öffnet:

    Administrator: C:\Windows\System32\cmd.exe

    während das Batch- File diese Überschrift des Konsolenfensters liefert:

    C:\Windows\System32\cmd.exe

    Wenn jemand einen Lösungsansatz hätte, wäre ich dankbar... :?:

    Gruß,

    thbrueck

  • FTP Upload einzelner Dateien

    • thbrueck
    • 21. Januar 2009 um 13:42

    Hallo,

    da mein FTP- Server Uploads offensichtlich nur im "Passive- Mode" entgegennimmt, muss man die Funktion .FTP.au3 entsprechend anpassen:

    [autoit]

    $l_Flags = 1

    [/autoit]

    Achtung, das Flag taucht an 2 Stellen auf!

    Nach der Änderung funktioniert der FTP- Upload hervorragend...

    Gruß,

    TB

  • FTP Upload einzelner Dateien

    • thbrueck
    • 20. Januar 2009 um 13:09
    Zitat von mehrsolala

    Hat bei mir alles fehlerfrei funktioniert überprüf mal deine Zugangsdaten und -berechtigungen.


    @mehrsolala

    Da ja auf dem FTP- Server das Verzeichnis korrekt erstellt wird und auch die Datei hochgeladen wird sowie mit dem richtigen Namen dort anschließend zu finden ist, kann ich mir kaum vorstellen, dass die Zugangsdaten oder Berechtigungen nicht stimmen. Das Problem besteht ja lediglich darin, dass die Datei leer ist, also 0 Bytes groß und hierbei

    [autoit]


    _FtpPutFile($Hand, 'C:\send.txt', '/Psychware/' & $name)
    if @error then msgbox(0,"Error","PutFile 3", 3)

    [/autoit]


    auch den "Error" zurückliefert...?

    Gruß,

    TB

  • FTP Upload einzelner Dateien

    • thbrueck
    • 20. Januar 2009 um 10:25
    Zitat von mehrsolala

    Das was Oscar gepostet hat stimmt schon du hast es bloß falsch angewendet.

    Post mal den ganzen Teil deines Scripts wo du den Dateinamen festlegst und die Datei hochlädst :!:

    [autoit]


    ; FTP- Upload
    #include <.FTP.au3>
    #include <Array.au3>
    $server = 'Servername'
    $username = 'Username'
    $pass = 'Passwort'
    $Hand = _FTPOpen('Server')
    _FTPConnect($Hand, $server, $username, $pass)
    if @error then msgbox(0,"Error","Connect", 3)
    _FTPMakeDir($Hand, 'Psychware')
    if @error then msgbox(0,"Error","MakeDir", 3)
    $name = @UserName & "send.txt"
    _FtpPutFile($Hand, 'C:\send.txt', '/Psychware/' & $name)
    if @error then msgbox(0,"Error","PutFile 3", 3)
    $FIRSTFILEINFO= _FTPFileFindFirst($Hand,"*")
    if @error then
    msgbox(0,"Error","_FileFindFirst", 3)
    Else
    _ArrayDisplay($FIRSTFILEINFO)
    EndIf
    $SECONDFILEINFO= _FTPFileFindNext($Hand)
    if @error then
    msgbox(0,"Error","_FTPFileFindNext", 3)
    Else
    _ArrayDisplay($SECONDFILEINFO)
    EndIf
    $THIRDFILEINFO= _FTPFileFindNext($Hand)
    if @error then
    msgbox(0,"Error","_FTPFileFindNext", 3)
    Else
    _ArrayDisplay($THIRDFILEINFO)
    EndIf
    _FTPFileFindClose($Hand)
    _FTPGetFolderContents($Hand,"/Psychware/",@DesktopDir&"\ftp udf test\",1)
    _FTPClose($Hand)
    Msgbox(0,"FTP Upload","...has been finished", 3)

    [/autoit]


    OK, ich hoffe, jemand findet den Fehler :S


    Gruß,

    TB

  • FTP Upload einzelner Dateien

    • thbrueck
    • 19. Januar 2009 um 15:12

    Hallo,

    zunächst mal danke, dass man versucht, mir zu helfen.

    Oscar - habe die Zeile geändert:

    Code
    $name = @UserName & "send.txt"

    Sieht jetzt so aus. Leider bleibt die Datei nach dem FTP- Upload nach wie vor 0 Bytes groß. Es muss also was anderes sein ? ?(

    Gruß,

    TB

  • FTP Upload einzelner Dateien

    • thbrueck
    • 16. Januar 2009 um 17:45

    Hallo,

    ich verwende das engl. FTP- Script (.FTP.au3) und habe die .FTP_Example.au3 dafür herangezogen. Mein Code, um den es speziell geht ist folgender:

    Code
    $name = @UserName & "c:\send.txt" 
    _FtpPutFile($Hand, 'C:\send.txt', '/Psychware/' & $name) ;Upload to sub directory with different file name 
    if @error then msgbox(0,"Error","PutFile 3")

    Mir ging es darum, eine kleine Log- Datei namens send.txt upzuloaden und zwar von verschiedenen Usern. Damit sich die Dateien einerseits nicht in die Quere kommen und andererseits dem entsprechenden User zuzuordnen sind, habe ich den Dateinamen mit dem Usernamen gekoppelt. Der FTP- Upload funktioniert, das Verzeichnis wird auch angelegt, wenn es noch nicht existiert und auch die Datei wird geschrieben. Leider ist die Datei im Anschluss 0 Bytes groß (also ohne Inhalt) und auch der PutFile 3- Error wird in der MessageBox angezeigt.

    Mir ist absolut unklar, was da falsch ist :wacko: Kennt jemand eine Lösung bzw. sieht jemand meinen Fehler ?

    Gruß,

    TB

  • INetSendMail

    • thbrueck
    • 8. Mai 2007 um 10:34

    Many thanxs, Bernd - das bringt mich schon weiter. Werde deine "neue" INetSmptMail" Funktion in mein Script einbauen und testen. Ich denke, die Autoren von AutoIt sollten deine Funktion in den Standardumfang von AutoIt einbinden...

    Greetz!
    TB

  • INetSendMail

    • thbrueck
    • 11. April 2007 um 15:54

    Meine AutoIt Version ist 3.2.2.0 und dürfte aktuell sein.

    Inzwischen konnte ich die Fehlermeldung nicht abschalten, aber immerhin auf eine halbwegs dokumentierte reduzieren:

    Zitat


    @ERROR = 5x - Cannot open SMTP session. x indicates the index number of last command issued to the SMTP server.

    Der Wert von $err ist 50 ! Anscheinend kann ich mich nicht am SMTP Server authentifizieren ?

    Funktioniert das über den Parameter $s_ehlo und wenn ja, wie ?

    Greetz!
    TB

  • INetSendMail

    • thbrueck
    • 11. April 2007 um 13:48

    Nein, funktioniert nicht! Mein Fehler war ja nur, hier im Forum die Bezeichnung falsch zu schreiben. INetSendMail anstatt INetSmtpMail... der Code war nie anders!

    Greetz!
    TB

  • INetSendMail

    • thbrueck
    • 11. April 2007 um 12:58

    Sorry mein Fehler,

    ...ist das 2. Script - also INetSmtpMail

    [autoit]


    #include <INet.au3>

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

    $s_SmtpServer = "mx.freenet.de"
    $s_FromName = @Username
    $s_FromAddress = "johndoe@freenet.de"
    $s_ToAddress = "janedoe@freenet.de"
    $s_Subject = "My Test UDF"
    Dim $as_Body[2]
    $as_Body[0] = "Testing the new email udf"
    $as_Body[1] = "Second Line"
    $Response = _INetSmtpMail ($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body)
    $err = @error
    If $Response = 1 Then
    MsgBox(0, "Success!", "Mail sent")
    Else
    MsgBox(0, "Error!", "Mail failed with error code " & $err)
    EndIf

    [/autoit]

    Das ist quasi bis auf "John" und "Jane Doe" der original verwendete Code...

    Greetz!
    TB

  • INetSendMail

    • thbrueck
    • 11. April 2007 um 11:27

    Ich habe massive Probleme mit der Funktion INetSendMail

    Sogar wenn ich die vorgefertigte Beispiel-AutoIt Funktion aus der AutoIt Hilfe verwende, bekomme ich folgende Fehlermeldung(Natürlich habe ich gültige Werte für den SMTP- Server und Email eingetragen):

    Zitat

    $Response=^ERROR Error: Unknown function name

    Greetz!
    TB

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™