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. aIT-newUSER

Beiträge von aIT-newUSER

  • Commandline Ausgabe in txt Datei schreiben

    • aIT-newUSER
    • 14. Februar 2014 um 10:25
  • Dienst (Service) Monitoring Tool

    • aIT-newUSER
    • 9. August 2012 um 16:04

    Hallo Gleichgesinnte,

    ich möchte eine GUI schreiben, welche mir den Windows Update-Dienst überwacht.

    Spoiler anzeigen

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 476, 96, 192, 124)
    $input= GUICtrlCreateLabel("", 96, 32, 105, 21)
    $Label1 = GUICtrlCreateLabel("Windows Update", 16, 32, 66, 17)
    $Start = GUICtrlCreateButton("Start", 216, 32, 97, 25, $WS_GROUP)
    $Stop = GUICtrlCreateButton("Stop", 328, 32, 113, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###


    Func _RetrieveServiceState($s_Machine, $s_ServiceName)
    Local Const $wbemFlagReturnImmediately = 0x10
    Local Const $wbemFlagForwardOnly = 0x20
    Local $colItems = "", $objItem
    Local $objWMIService = ObjGet("winmgmts:\\" & $s_Machine & "\root\CIMV2")
    If @error Then
    MsgBox(16, "_RetrieveServiceState", "ObjGet Error: winmgmts")
    Return
    EndIf
    $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_Service WHERE Name = '" & $s_ServiceName & "'", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If @error Then
    MsgBox(16, "_RetrieveServiceState", "ExecQuery Error: SELECT * FROM Win32_Service")
    Return
    EndIf
    If IsObj($colItems) Then
    For $objItem In $colItems
    Return $objItem.State
    Next
    EndIf
    EndFunc ;==>_RetrieveServiceState

    Do
    $service = "wuauserv"
    $input= GUICtrlCreateLabel(" " & _RetrieveServiceState(@ComputerName, $service), 96, 32, 105, 21)
    EndIf
    sleep (3000)
    until 1 = 2


    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit


    Case $Start
    RunWait("net.exe start wuauserv")
    $Input = GUICtrlCreateLabel(" " & _RetrieveServiceState(@ComputerName, $service), 96, 32, 105, 21)

    Case $Stop
    RunWait("net.exe stop wuauserv")
    $Input = GUICtrlCreateLabel(" " & _RetrieveServiceState(@ComputerName, $service), 96, 32, 105, 21)


    EndSwitch
    WEnd


    - Im "$input= GUICtrlCreateLabel("", 96, 32, 105, 21)" Feld soll immer der aktuelle Status stehen, also ob er gestoppt ist oder gestartet.
    - Über die Buttons start und stop möchte ich den Dienst starten und stoppen können, jedoch soll sich der status in "$input= GUICtrlCreateLabel("", 96, 32, 105, 21)" dann auch ändern.

    Wenn ich eine Do - Until oder eine While-Schleife einfüge wird mir zwar der aktuelle status angezeigt, jedoch funktionieren die start-stop-buttons nicht mehr.
    Lasse ich die schleifen weg, funktionieren die buttons, allerdings hat der status dann keinen einfluss wenn ich über cmd den dienst starte oder stoppe dann kriegt der status das nicht mit da keine schleife vorhanden ist :(

    Weis hier jemand weiter ? bitte um hilfe -> D A N K E ...

  • Registry durchsuchen nach einem Schlüssel

    • aIT-newUSER
    • 17. Juli 2012 um 15:22

    Hallo,

    kann hier mir jemand weiterhelfen und mir sagen wir ich die MsgBox-Ausgabe unterbinden kann und das Ergebnis des Strings einfach in eine Variable schreiben kann ?
    Variable anstelle der Msgbox. Komme hier gerade einfach nicht weiter, bitte um hilfe ... thx @ all

    Code
    MsgBox(0, '', _RegSearch('HKEY_LOCAL_MACHINE', 'v3.3.4.0'))
    
    
    Func _RegSearch($sRegPath, $sSearch)
        Local $sKey, $sVal, $sVar, $ret, $i = 0, $j = 0
        While True
            $i += 1
            $sKey = RegEnumKey($sRegPath, $i)
            If @error Then ExitLoop
            $ret = _RegSearch($sRegPath & '\' & $sKey, $sSearch)
            If $ret <> '' Then ExitLoop
            $j = 0
            While True
                $j += 1
                $sVal = RegEnumVal($sRegPath & '\' & $sKey, $j)
                If @error Then ExitLoop
                $sVar = RegRead($sRegPath & '\' & $sKey, $sVal)
                If $sVar == $sSearch Then Return $sRegPath & '\' & $sKey
            WEnd
        WEnd
        Return $ret 
    EndFunc
    Alles anzeigen
  • Filecopy 2 Clipboard

    • aIT-newUSER
    • 14. März 2012 um 13:54

    Na das Problem ist an deinem Beispiel, dass nur eine MSGbox erscheint, aber die Datei nicht kopiert wird ...

  • Filecopy 2 Clipboard

    • aIT-newUSER
    • 14. März 2012 um 13:35

    Hallo Leute,

    ich habe mal wieder ein Problem, an dem ich nicht weiterkomme, vielleicht hat von euch jemand die Erläuchtung :)

    Folgendes:
    In Windows Betriebssystemen ist die Option "Rechter Mausklick auf eine Datei > Kopieren" gegeben, und anschließend kann ich mir den passenden Ablageordner suchen, und dann mit "Rechter Mausklick > Einfügen" die Datei ablegen.

    Kann ich das auch irgendwie mit Autoit hinbekommen ?

    - Bei Filecopy muss ich ja zwingend eine "Destination" angeben
    - Und _ClipPutFile klappt auch irgendwie nicht.

    Beispiel:
    Ich möchte vom Pfad "C:\TEMP" die Datei "Installlog.txt" in die Zwischenablage kopieren, mehr soll vorerst nichts geschehen.
    Dann gehe ich z.B. mit der Maus auf den Desktop und sage "Rechte Maustaste > Einfügen" und dann soll die Datei "Installlog.txt" auf den Desktop kopiert werden.

    Kann mir hierbei jemand weiterhelfen ? Besten Dank schonmal im voraus.

    BR

  • TrayTip mit mehr als 255 Zeichen

    • aIT-newUSER
    • 5. Januar 2012 um 16:13

    Hallo @ all,

    ist es möglich einen TrayTip auch mit mehr als 255 Zeichen zu erstellen ?

    Oder kann man einen ToolTip auch an der rechten unteren Ecke ausrichten ?

    Schöne Grüße

  • Probleme mit FileCopy und UseX64=n

    • aIT-newUSER
    • 17. November 2011 um 11:18

    Hi,

    wiso muss ich 2 Scripte erstellen ? Der Pfad ist bei einem x64-System auch nicht anders :O !

    @WindowsDir & "\System32\winevt\Logs\Internet Explorer.evtx"


  • Probleme mit FileCopy und UseX64=n

    • aIT-newUSER
    • 17. November 2011 um 10:45

    Hallo Gleichgesinnte,

    heute ist mir ein seltsames Phänomen aufgefallen, ich weis nur nicht ist es ein Bug oder mache ich irgendwas falsch.

    Folgendes Script auf einem x64-System mit der Option "UseX64=n" funktioniert nicht und das File wird nicht kopiert ...

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    DirCreate(@TempDir & "\LOGS\EventLogs")
    FileCopy(@WindowsDir & "\System32\winevt\Logs\Internet Explorer.evtx", @TempDir & "\LOGS\EventLogs")

    [/autoit]


    Wenn ich hingegen die Option "UseX64=y" setzte, wird das File kopiert ...

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_UseX64=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    DirCreate(@TempDir & "\LOGS\EventLogs")
    FileCopy(@WindowsDir & "\System32\winevt\Logs\Internet Explorer.evtx", @TempDir & "\LOGS\EventLogs")

    [/autoit]

    Hat jemand erfahrungen damit ? Das Sript soll sowohl auf x86 und x64-Systemen laufen und das File kopieren.
    Bitte um HIIIIILFE. Danke im voraus

  • DOS-Abfrage -> Ordnerinhalt auflisten und in txt-Datei schreiben (Variablen Problem)

    • aIT-newUSER
    • 26. August 2011 um 08:40

    Vielen vielen DANK, es funktioniert :) :) :)

  • DOS-Abfrage -> Ordnerinhalt auflisten und in txt-Datei schreiben (Variablen Problem)

    • aIT-newUSER
    • 25. August 2011 um 11:14

    Ein anderes Beispiel, scheinbar hat @COMSPEC ein Problem mit Leerzeichen im Namen,
    siehe folgendes Beispiel:


    $Path = ('C:\Neuer Ordner')
    RunWait(@COMSPEC & " /c Dir " & $Path & " > test.txt", "", @SW_HIDE)


    Hier wird der Ordnerinhalt leider auch nicht aufgelistet :(


  • DOS-Abfrage -> Ordnerinhalt auflisten und in txt-Datei schreiben (Variablen Problem)

    • aIT-newUSER
    • 25. August 2011 um 10:35

    Das volle Scrit ist folgendes:


    $Path1 = "HKLM\Software"
    If @OSArch = "X86" Then
    $Path2 = "\7-Zip\"
    Else
    $Path2 = "\Wow6432Node\7-Zip\"
    EndIf
    $RootPath = $Path1 & $Path2
    $Path = RegRead($RootPath, "Path")


    RunWait(@COMSPEC & " /c Dir " & $Path & " > test.txt", "", @SW_HIDE)

  • DOS-Abfrage -> Ordnerinhalt auflisten und in txt-Datei schreiben (Variablen Problem)

    • aIT-newUSER
    • 25. August 2011 um 10:24

    Es geht nur um die Variable $Path

    z.B.
    $Path = "c:\Test"
    RunWait(@COMSPEC & " /c Dir " & $Path & " > test.txt", "", @SW_HIDE)


  • DOS-Abfrage -> Ordnerinhalt auflisten und in txt-Datei schreiben (Variablen Problem)

    • aIT-newUSER
    • 25. August 2011 um 10:05

    Hallo,

    eine kleine Frage an euch alle, da ich iwie nicht mehr weiterkomme und alle Beispiele die ich bei Google finden kann, behandeln das Problem nicht :(

    Ich möchte folgenden Befehl ausführen:
    RunWait(@COMSPEC & " /c Dir " & $Path & " > test.txt", "", @SW_HIDE)



    Leider wird mir die Variable "$Path" nicht ausgewertet. Diese Variable wird mit RegRead aus der Registry ausgelesen

    Wenn ich z.B. folgenden Befehl ausführe klappt das ganze und es wird die txt-Datei beschrieben:
    RunWait(@COMSPEC & " /c Dir " & @WindowsDir & " > test.txt", "", @SW_HIDE)



    Kann mir jemand sagen, wie ich diese Abfrage hinbekommen kann ?
    Danke schon mal im voraus.


  • Textdatei nach bestimmten Wert durchsuchen mit immer variabler Endung ...

    • aIT-newUSER
    • 21. Juli 2011 um 15:49

    @TheLuBu -> Danke :) genau das wollte bei mir nicht funktionieren :)

  • Textdatei nach bestimmten Wert durchsuchen mit immer variabler Endung ...

    • aIT-newUSER
    • 21. Juli 2011 um 15:01

    Hi,

    ja kann ich, als Anlage habe ich Dir das Ergebnis einer Abfrage angehängt. Die Abfrage wurde in eine Textdatei gespeichert.
    Nun möchte ich eine Abfrage der Textdatei machen, welche mir nur den Wert "Updater$ak000009" in eine Variable speichert.

    Aber ich kriege es irgendwie nicht hin :O !

    Dateien

    1.jpg 32,89 kB – 0 Downloads
  • Textdatei nach bestimmten Wert durchsuchen mit immer variabler Endung ...

    • aIT-newUSER
    • 21. Juli 2011 um 14:36

    Hi, danke für den Tipp, aber kannst Du mir das noch ein bisschen näher erläutern, wie ich das Commando "StringTrimLeft" genau in einer Abfrage einbauen kann :O ?
    Danke im voraus.

  • Textdatei nach bestimmten Wert durchsuchen mit immer variabler Endung ...

    • aIT-newUSER
    • 21. Juli 2011 um 14:03

    Hallo Gleichgesinnte,

    ich mache eine DOS-Abfrage und lasse diese in eine Textdatei schreiben - funktioniert auch soweit !

    Nun möchte ich diese erzeugte Textdatei auslesen
    Es ist so, dass in dieser Textdatei mehrere Informationen abgelegt sind, z.B:

    --- copy & paste ---
    Available profiles:

    Protection

    Updater

    Updater$ma000007

    Monitoring

    --- copy & paste ---

    Ich möchte nun den Wert "Updater$ma000007" auslesen und in einer Variable speichern. Das Problem dabei ist, dass der Endwert "ma000007" nicht immer gleich ist, er kann auch mal "ma000005" oder "ma000002" oder irgendeine Zahl beinhalten. Weis wer Rat, wie ich diese Abfrage hinbekommen kann und die Textdatei auslesen kann :O ?

  • array variable has incorrect number of subscripts or subscript dimension range exceeded

    • aIT-newUSER
    • 29. Juni 2011 um 13:13

    Hallo,

    scheinbar gibt es ein kleines Problem mit der Zip.au3 in Verbindung mit einem Command-Line Parameter.
    Ziel ist dass das Script erkennt ob per commandline ein parameter mitgegeben wurde z.B: /path=c:\testfolder
    Wenn das Script ohne commandline-parameter gestartet wurde, funktioniert es, wenn ich jedoch das script über eine batchdatei mit parameter aufrufe, erhalte ich
    folgende Fehlermeldung: array variable has incorrect number of subscripts or subscript dimension range exceeded.
    Weis jemand rat, ich weis nicht warum es in Verbindung mit der Zip.au3 fehlschlägt ??

    Mein Script (mit Fehlermeldung):

    #include <Process.au3>
    #include <Array.au3>
    #include "Zip.au3"

    ;**************** Start Auswahl Datei-Speicherort ****************
    $DSort = FileSelectFolder("Speicherort auswählen ...", "", 4, "")
    If $DSort <> "" Then
    DirCreate("LOGS")
    Else
    MsgBox(0, "Collect", "Abbrechen wurde gewählt" & @CRLF & "" & @CRLF & "Script wird beendet")
    Exit
    EndIf
    $FileNameKC = "\Collect_" & @ComputerName & "_" & @MDAY & "_" & @MON & "_" & @YEAR

    ; checking for command-line parameters
    If $CmdLine[0] = 0 Then
    MAIN()
    Exit
    Endif

    If StringInStr($CmdLine[1],"/path=",0) Then
    ;ConsoleWrite($CmdLine[1])
    $CmdL=StringSplit($CmdLine[1],"=")
    If StringLen($CmdL[2])>0 Then
    MsgBox(0, "", $CmdL[2])
    Else
    HELPME()
    Endif
    Else
    HELPME()
    Endif

    func MAIN()

    ;**************** Archiv erstellen und Dateien packen ****************
    $Archiv = $DSort & $FileNameKC & ".zip" ; Ort und Name des Archives
    $Archivfile = @TempDir & "\LOGS" ; Datei, Ordner welche ins Archiv sollen

    $Zip = _Zip_Create($Archiv)
    _Zip_AddFile($Zip,$Archivfile)

    Exit
    EndFunc

    func HELPME()
    MsgBox(0, "tool.exe", "available parameters: /path=YOURPATH")
    Exit
    EndFunc


    Mein Script (ohne Fehlermeldung)

    ; checking for command-line parameters
    If $CmdLine[0] = 0 Then
    MAIN()
    Exit
    Endif

    If StringInStr($CmdLine[1],"/path=",0) Then
    ;ConsoleWrite($CmdLine[1])
    $CmdL=StringSplit($CmdLine[1],"=")
    If StringLen($CmdL[2])>0 Then
    MsgBox(0, "", $CmdL[2])
    Else
    HELPME()
    Endif
    Else
    HELPME()
    Endif

    func MAIN()
    MsgBox(0, "MAIN", "ok, its working - no paramaters given")
    Exit
    EndFunc

    func HELPME()
    MsgBox(0, "tool.exe", "available parameters: /path=YOURPATH")
    Exit
    EndFunc

  • Split String Frage

    • aIT-newUSER
    • 22. Juni 2011 um 15:40

    Du bist ja schneller als die Polizei erlaubt :)

    1000 Dank :) :) :)

  • Split String Frage

    • aIT-newUSER
    • 22. Juni 2011 um 15:32

    Hallo,

    ich habe eine Frage hinsichtlich SplitString.

    Ich habe eine Zeichenfolge (Zahlen-Buchstabenkombination) z.B. "HU-20110525-0024" und ich möchte die ersten 7 Zeichen (HU-2011) entfernen und das Minuszeichen zwischen den Zahlen (-) auch, dass
    die Zeichenfolge als Endergebnis "05250024" in einer MsgBox angezeigt wird.

    Leider bringen mich die ganzen Befehle "StringReplace" oder "StringRegExp" nicht weiter :(

    Weiß jemand rat ?

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™