Oder du splittest die Ini auf mehrere auf.
Beiträge von Moombas
-
-
Hallo Hipfzwirgel, schau mal hier: https://www.autoitscript.com/forum/topic/189553-writing-to-cmd/
oder
AutoIt#include <WinAPI.au3> _WinAPI_AttachConsole() $hConsole = _WinAPI_GetStdHandle(1) _WinAPI_WriteConsole($hConsole, "Hello Piotr12" & @CRLF) send("{ENTER}")Damit könntest du, wenn du das Programm versteckt startest, Fehler und Erfolge einfach in die CMD schreiben. Dann würde man vom Aufruf nichts sehen aber den Erfolg/Misserfolg Vielleicht keine Schöne Lösung, aber eine Möglichkeit.
Eine andere Möglichkeit wäre, das du eine Log-Datei schreibst und diese später auswertest (besser bei Massenpflege), wo es geklappt hat und wo nicht.
-
Stopp

Splittest deinen string auf in ein Array (Trenner ist das "/" ).
Ausgang:
das ist ein Hund\das ist eine Banane\das ist eine Katze\das ist ein Kakadu
Ergebnis:
$aArrayA[1] = das ist ein Hund
$aArrayA[2] = das ist eine Banane
$aArrayA[3] = das ist eine Katze
$aArrayA[4] = das ist ein Kakadu
Dann startest du mit dem ersten Teil ($aArrayA[1]) und splittest diesen (Trenner ist das " " )
Ausgang:
das ist ein Hund
Ergebnis:
$aArrayB[1] = das
$aArrayB[2] = ist
$aArrayB[3] = ein
$aArrayB[4] = Hund
Und dann prüfst du durch.
Keine Garantie auf Funktion und nur ein Beispiel:
Code
Alles anzeigenGlobal $String = 'das ist ein Hund\das ist eine Banane\das ist eine Katze\das ist ein Kakadu ' Global $aArray = StringSplit($String, '\') Global $i, $k, $ArrayB for $i = 1 to $aArrayA[0] $aArrayB = Stringsplit($aArrayA[$i], ' ') if $aArrayA[0] <= $i + 1 then For $k = 1 to $aArrayB[0] if StringinStr($aArrayA[$i + 1], $aArrayB[$k]) Then ;String $aArrayB[$k] in $aArrayA[$i] löschen EndIf Next endif Next -
BananaJoe $Date ist eine Variable, die er benutzt...
-
In dem du Tag, Monat und Jahr vorher getrennt betrachtest und dann zum $Date zusammen setzt. Mir bekannte Datumstrennzeichen sind "." "," "/" ":" "-"
z.B.: YYYYMMDD oder YYYY-MM-DD oder oder oder
Tipp: Packe das Jahr nach vorne und den Tag nach hinten, dann kannst du die Dateien besser sortieren.
Menno Bugfix ;P
-
Generell:
Trenne alle einzelnen Strings auf (Separator bzw. Delimiter ist dann "/") und speichere sie z.B. in einem array
Dann gehst du das array durch und prüfst ob die einzelnen Worte nochmal irgendwo im array vorkommen (StringInStr), und löscht dann ggf.
Danach kannst du den Rest wieder zusammen setzen und auch den "/" wieder hinzufügen.
-
Also meine persönliche Erfahrung sagt:
Hast du ein (Anti-)Virenprogramm erstmal installiert, bekommst du es schwer bis gar nicht mehr vernünftig runter. Überall können Reste sein, die auch mal gravierende Folgen haben können (keine Netzwerkverbindungen mehr, weil Blockereinstellungen noch vorhanden sind etc.). Das hatte ich bei McAfee und Avast!
Die Windoofvariante ist ausreichend so lange man nicht ständig auf ominösen Seiten surft.
In einem Schadensfall jedoch war bei mir die kostenpflichtige Variante besser, da hatte die kostenlose Variante nichts gefunden. Das ist aber schon 10-15 Jahre her, ich denke mittlerweile dürfte das auch kaum noch etwas aus machen.
Allgemein gilt häufig die Meinung (und die Teile ich auch), das Antivirenprogramme teilweise schlimmer sind als die Viren selber.
Viel wichtiger als ein Antivirenprogamm sind vernünftige Firewalleinstellungen und Regeln dadurch kannst du auch schon den größten Teil abfangen.
Und im Ernst: Wie schafft man es einen Virus aufs Smartphone zu bekommen? Mir sind aktuell keine Wege bekannt und die Antivirenprogramme für Smartphones sind Akku und Leistungsfresser ohne Ende und sehr häufig der Grund (zusammen mit den "tollen" Leistungstools wie CCleaner) warum Benutzer ihre Smartphones (unnötig) zur Reparatur einsenden.
-
@GeneralKaboom: Das ist richtig, jedes W10 Upddate aktiviert den Dienst wieder. und man sollte generell zwischendurch den Dienst mal starten und wieder beenden. Wenn man jedoch nicht von einem riesen Datenstrom "überrascht" werden will ist das durchaus eine Abhilfe die man wählen kann, denn damit kann man selber steuern wann man Updates laden möchte und wann nicht.
alpines: Das erste was ich gemacht habe bei Win10, war classicshell zu installieren um die W10 Menüs abzuschalten und wieder auf W7 Optik zu gehen. Die Menüführung bei W10 finde ich grausam. Achja und die Auslagerungsdatei habe ich auch abgeschaltet, aber das hing mit dem (genug) RAM und der SSD (so wenig Lese- & Schreibzugriffe wie möglich generieren und die Daten von der Festplatte zu lesen anstatt vom RAM ist langsamer) zusammen.
-
alpines: Wegen der Windows 10 Updates: Bei uns werden diese indirekt geblockt, in dem "einfach" der Windows Update-Server nicht mehr erreichbar gemacht wird (Proxy bzw. Firewalleinstellungen). Ich selber habe da leider wneig Ahnung aber evtl. ist ja ein Netzwerkexperte hier der sagen kann was man dafür blocken müsste.
Edit: Nach kurzem googlen: Es soll helfen den Dienst "Windows Update" zu deaktivieren. Habs aber noch nie getestet.
-
Keiner eine Idee?Ich überlege das ggf. als "System"-User zu machen, jedoch fehlen mir dazu Kenntnisse dies umzusetzen. Die Suchergebnisse die ich dazu gefunden habe fand ich bisher entweder verwirend und/oder es wurde dort wegen dessen Lizenzverletzung diskutiert, weshalb ich mich damit dann nicht weiter beschäftigt habe.Hat sich erledigt, es gab ein Problem mit der SID...
-
Die werden bei Remote gebraucht. Als ich es lokal probiert habe, habe ich diese natürlich mitsamt der IP entfernt.
Wie gesagt das auslesen klappt ja auch.
-
Tipp: Wenn du Anführungszeichen im String hast musst du ihn mit ' einfassen anstatt der ". Daher mache ich es generell nur noch mit ', dann braucht man darauf nicht zu achten

Und deine Dateien sind hier ja auch nur strings als ganz normal wie jede Variable einbinden :
Code$fileExe = 'bcu64.exe' $fileBin = 'pw03.bin' $Status = Run($fileExe & " /setvalue:"Password Minimum Length","4" /cspwdfile:' & $fileBin & ' /verbose', '', '', $STDOUT_CHILD) $fileBin = 'pw03.bin' $Status = Run($sSecHPPW & ' /setvalue:"Password Minimum Length","4" /cspwdfile:' & $fileBin & ' /verbose', '', '', $STDOUT_CHILD) -
Hallo zusammen,
ich möchte auf einem Remote-PC Registry-Keys ändern und mache dies so:
AutoIt
Alles anzeigen... $SID auslesen $SID = $aArray[1] logging("IP: " & $IP & " - " & $SID, 1) $Wert = 000000 logging("IP: " & $IP & ' - Setze "\HKEY_USERS\' & $SID & '\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver\Speed" auf "' & $Wert & '"', 2) Regwrite("\\" & $IP & '\HKEY_USERS\' & $SID & "\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver", "Speed" , "REG_DWORD", $Wert) if RegRead("\\" & $IP & '\HKEY_USERS\' & $SID & "\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver", "Speed") = $Wert Then logging('ok', 3) $cache = $cache + 1 Else logging('bad - ' & @error, 3) EndIf $Wert = 000000 logging("IP: " & $IP & ' - Setze "\HKEY_USERS\' & $SID & '\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver\Shuffle" auf "' & $Wert & '"', 2) Regwrite("\\" & $IP & '\HKEY_USERS\' & $SID & "\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver", "Shuffle" , "REG_DWORD", $Wert) if RegRead("\\" & $IP & '\HKEY_USERS\' & $SID & "\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver", "Shuffle") = $Wert Then logging('ok', 3) $cache = $cache + 1 Else logging('bad - ' & @error, 3) EndIf $Wert = 'FAAfUOBP0CDqOmkQotgIACswMJ0ZAC9DOlwAAAAAAAAAAAAAAAAAAAAAAAAAUAAxAAAAAABRT1FvEABjdXN0b20AADoACAAEAO++Ak/zbFFPUW8qAAAAWiMAAAAAAQAAAAAAAAAAAAAAAAAAAGMAdQBzAHQAbwBtAAAAFgBEADEAAAAAAFFP2W0QAFNTAAAyAAgABADvvlFP1W1RT9ltKgAAADDDAQAAAAUAAAAAAAAAAAAAAAAAAABTAFMAAAASAAAA' ;C:\custom\SS logging("IP: " & $IP & ' - Setze "\HKEY_USERS\' & $SID & '\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver\EncryptedPIDL" auf "' & $Wert & '"', 2) Regwrite("\\" & $IP & '\HKEY_USERS\' & $SID & '\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver', 'EncryptedPIDL' , 'REG_SZ', $Wert) if RegRead("\\" & $IP & '\HKEY_USERS\' & $SID & '\Software\Microsoft\Windows Photo Viewer\Slideshow\Screensaver', 'EncryptedPIDL') = $Wert Then logging('ok', 3) $cache = $cache + 1 Else logging('bad - ' & @error, 3) EndIfJedoch erhalte ich immer den Error "1" (unable to open requested key) aber ich weiß nicht warum. Das auslesen klappt ja, SID stimmt auch, Reg-Key Definition auch. Und auch als Administrator erhalte ich diesen Fehler (auch wenn ich den Regwrite lokal auf dem System ausführe ohne die IP). Manuell ändern der Einträge geht.
Hat da noch jemand eine Idee?
-
Ist vielleicht eine blöde Frage, aber taucht das Problem nur bei einer *.au3 auf oder bei allen?
-
Ansonsten ein ergänzender Vorschlag:
Grundsätzlich:
1. Idealerweise für jedes Feld eine Plausibilitätsprüfung (sofern möglich) durchführen. Das minimiert Blödsinneingaben oder Tippfehler.
2. Den Windowsbenutzer + IP + Zeitstempel mit abspeichern. Dadurch solltest du auch zurückverfolgen können, wer sich da Späße erlaubt.
3. Die Textdatei auf einem für die Benutzer unbekannten Server/Speicherort ablegen.
4. Drohen, das Bestellungen bei zu häufigem Missbrauch persönlich, auf einem schriftlich auszufüllenden Zettel (nur beim Bearbeiter erhältlich) einzureichen sind... glaub mir das will KEINER.
Irgendjemand wird ja die Bestellungen bearbeiten. Warum also nicht mit zwei getrennten "Bereichen" arbeiten:
1. Ein Programm (Ich empfehle: mit GUI) für die Besteller, die in deine besagte Textdatei schreiben können.
2. Ein separates Programm (für den Bearbeiter), welches die Bestellungen einließt und über den Bearbeiter erst in eine finale Datei (nicht zugängliche Datei für den Rest) schreibt. Quasi eine Freigabe der Bestellung mit der Möglichkeit diese auch gleich weiter zu verarbeiten.
3. Sind falsche Angaben dabei kann man sie ggf. korrigieren oder nachhaken. Ist offensichtlicher Blödsinn dabei kann man den MA auch aus Nutzername + IP + Zeitstempel wahrscheinlich ermitteln und ermahnen.
Dann würde es ohne Datenbank gehen, aber der Aufwand ist unwesentlich geringer und die Manipulationssicherheit geringer.
Tipp: Ich kenne eure Abläufe nicht, aber ich würde generell dazu raten eingehende Bestellungen immer separiert zu betrachten und manuell "fix" zu übernehmen, auch wenn man mit Datenbanken arbeitet (z.B.: 1 Tabelle eingehend, 1 Tabelle in Bearbeitung, 1 Tabelle Archiv).
-
Naja, einfach ist relativ.
Du musst einen Datenbankserver auf deinem Server installieren. Welche Datenbank (z.B. MYSQL) du nutzen möchtest/kannst hängt auch von Lizenzen etc. ab.
Je nachdem welche Datenbank du nutzt sind die Zugriffe auch ein wenig anders umzusetzen.
Da gehört schon ein bisschen mehr zu aber wenn das wirklich was mit Bestellungen zu tun hat (wenn auch nur intern) ist eine Datenbank generell, eine bessere Lösung.
Du kannst im "Bestellprogramm" dann auch gewisse Sachen für den Besteller per Default (gespeichert in einer IN-Datei) eintragen lassen (z.B. Name, Kunde,...), damit dieser das nicht jedesmal selber eintippen muss. Aber das wäre
-
Du könntest anstatt einer Textdatei eine Datenbank verwenden. Den Zugriff darauf kannst du dann ebenso steuern, als auch entsprechend die Änderungen.
Ist nur die Frage ob für das Minimale, was du hier machst, sich eine Datenbank lohnt.
Theoretisch bräuchtest du auch nur eine Exe, mit der du beides machen kannst (dann aber halt mit GUI).
-
autoiter: Das war ja durchaus mein letzter Vorschlag^^ Das mit dem Bildschirmschoner ist bewusst in Klammern gesetzt, da ich auch schon Modelle gesehen habe bei denen das nicht der Fall war.
-
Standard ist glaube ich "Nichts unternehmen" und Bildschirm geht aus. Ruhezustand und Herunterfahren denke ich ist nicht Sinnvoll^^ Wie es sich mit Energie sparen verhält weiß ich in diesem Fall jedoch nicht.
-
Generell kann ich dir als Elektroniker sagen, das IC's etc. es nicht so gern haben immer ein und wieder ausgeschaltet zu werden.
ABER ich könnte mir vorstellen, das der Ausschaltbefehl schnell genug kommt, damit gar nicht erst viel Elektronik angesteuert wird.
Ich würde es an deiner Stelle einmal testen und anhand der "Reaktionen" des Bildschirms entscheiden. Ist auch nur ein kleines kurzes aufleuchten/aufflackern des Bildschirms zu sehen würde ich es lassen.
Andererseits, wie handhabst du es denn jetzt? Du schaltest doch aktuell den Bildschirm auch immer wieder aus oder nicht?
Stört denn nur die generelle Anzeige, denn sonst noch eine Alternative:
Es müsste doch eine Einstellung für das zuklappen geben:
- Geben Sie "Systemsteuerung" in Ihrem Explorer-Fenster ein und navigieren Sie zu "Energieoptionen".
- Klicken Sie in der linken Leiste auf "Auswählen, was beim Zuklappen des Laptops geschehen soll".
- Auf "Nichts unternehmen" Einstellen
- (Bildschirmschoner setzen (leer) = Schwarz)
Nachteil, sofern du die Tastatur benötigst müsstest du eine Externe anschließen.