{"id":372,"date":"2021-12-03T08:50:57","date_gmt":"2021-12-03T08:50:57","guid":{"rendered":"https:\/\/kastens.net\/WPSub\/dokumentation\/?page_id=372"},"modified":"2021-12-03T09:19:27","modified_gmt":"2021-12-03T09:19:27","slug":"scripte-als-excel-bereitstelle","status":"publish","type":"page","link":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/?page_id=372","title":{"rendered":"Scripte als Exe bereitstellen"},"content":{"rendered":"\n<p>oder mein konkretes Beispiel, bei dem ich \u00fcber diese M\u00f6glichkeit gestolpert bin.<\/p>\n\n\n\n<p><strong><mark>WICHTIG! Ich versto\u00dfe hier bewusst gegen die betrieblichen Regelungen meines Arbeitgebers. Es ist mir nicht gestattet Dateien auf meinem Rechner auszuf\u00fchren, die nicht durch zentrale Stellen im Vorfeld \u00fcberpr\u00fcft wurden. Das kann f\u00fcr mich ernsthafte Konsequenzen haben, aber dessen bin ich mir bewusst und ich trage dieses Risiko! Ihr solltet f\u00fcr euch also kl\u00e4ren, ob das was ich hier beschrieben habe, auf dem Rechner, auf dem ihr es nutzen wollt, zul\u00e4ssig ist oder nicht und wenn es nicht zul\u00e4ssig ist, seid euch der m\u00f6glichen Konsequenzen bewusst!<\/mark><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bildschirmschoner umgehen<\/h2>\n\n\n\n<p>Ich habe f\u00fcr meinen Dienstrechner die M\u00f6glichkeit gesucht (illegalerweise) den Bildschirmschoner zu umgehen, da dieser \u00fcber Gruppenrichtlinien zwangsweise gesteuert wird. Warum wollte ich das tun? Ich habe aktuell ein andauerndes Problem mit Netzwerkconnectivity in einem Netzwerkbereich, f\u00fcr das ich eine kleine \u00dcberwachung gebastelt habe, die auf einem Linux Server in meinem User Kontext l\u00e4uft. Da dabei eine direkte Ausgabe der Ergebnisse erfolgt, bringt auch eine Ausf\u00fchrung als Hintergrundprozess nur selten. (Okay &#8211; ja ich bin der Netzwerkadmin)<\/p>\n\n\n\n<p>Wenn ich in der Firma bin, starte ich das Script morgens und habe es auf dem Laptop Monitor am laufen, sehe also regelm\u00e4\u00dfig drauf, w\u00e4hrend meine eigentliche Arbeit am Laptop auf zwei angeschlossenen Monitorenm stattfindet. Also kein Problem, dass wenn ich nen Kaffee hole, der Bildschirmschoner aktiviert wird. Ich entsperre ihn ja nach einiger Zeit und kann dann kurz den Blick auf die laufende \u00dcberwachung werfen.<\/p>\n\n\n\n<p>Also warum das Ganze mit dem Bildschirmschoner&#8230; Ich habe Urlaub. Ich sitze im Urlaub regelm\u00e4\u00dfig an meinem Privatrechner und mache da alles m\u00f6gliche. Z.B. diese Beschreibungen hier verfeinern und erg\u00e4nzen. Ich habe die M\u00f6glichkeit mit meinem Dienstrechner per VPN in der Firma zu arbeiten. Nun habe ich ja Urlaub und will da auch definitiv nicht von zu Hause arbeiten, aber ich habe halt auch ein echtes Eigeninteresse das Problem besser zu verstehen (bzw. festzustellen, ob \u00fcberhaupt ein Problem besteht).<\/p>\n\n\n\n<p>Also m\u00f6chte ich den Laptop morgens kurz anwerfen, die \u00dcberwachung starten und die soll dann einfach dauerhaft f\u00fcr mich sichtbar sein. Da ich nichts am Laptop mache greift nat\u00fcrlich der Bildschirmschoner.<\/p>\n\n\n\n<p>So viel drum herum Gelaber. Was habe ich gefunden?<\/p>\n\n\n\n<p>Mit geschickten Br\u00f6ckchen, die ich Google zum fressen vorgeworfen habe, bin ich auf diesen Artikel gesto\u00dfen:<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.script-example.com\/themen\/Bildschirmschoner-verhindern.php\" target=\"_blank\">Link zu www.scrip-example.com<\/a><\/p>\n\n\n\n<p>Kurz gesagt l\u00e4uft das Script in Dauerschleife und bewegt die Maus um einen Punkt vertikal und horizontal (+1 bei Mousemove) und alle 60 Sekunden udn \u00e4ndert das sofort wieder zur\u00fcck (-1 bei mousemove).<\/p>\n\n\n\n<p>Jetzt sieht man einen Pixel nicht so leicht und da die \u00c4nderung sofort wieder r\u00fcckg\u00e4ngig gemacht wird, ist das noch etwas schwieriger. Daher passe ich das Script auf 2 x 30 Sekunden und einen mousemove +20 und -20 ein. Hier meine Anpassung:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">While True\n   $pos = MouseGetPos()\n   MouseMove($pos[0]+20, $pos[1]+20)\n   sleep(30000)\n   $pos = MouseGetPos()\n   MouseMove($pos[0]-20, $pos[1]-20)\n   sleep(30000)\nwend<\/pre>\n\n\n\n<p>Nun l\u00e4uft so ein Script nicht einfach so am Rechner. Daher gibt es auf der oben genannten Website einen Link zu einem Online Compiler, der aus Skripten ein exe File bastelt:<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.script-example.com\/themen\/AutoIT-Online-Compiler.php\" target=\"_blank\">AutoIT OnlineCompiler<\/a><\/p>\n\n\n\n<p>Da kopiert man das Script in den vorgegebenen Eingabebereich, dr\u00fcckt auf Compile Script und kann dann eine EXE runter laden, die unter Windows direkt lauff\u00e4hig ist.<\/p>\n\n\n\n<p>Hinter dem Online Compiler steckt letzten Endes ein Tool mit dem Titel Aut2Exe.exe. Das Ganze k\u00f6nnt ihr auch auf der Homepage des Onlinecompilers nachlesen. Wer also ein wenig mehr Kontrolle haben m\u00f6chtet, k\u00f6nnt ihr auf den Einsatz des Onlinecompilers verzcihten und die EXE Dateien lokal bei euch selbst bauen. Anleitungen dazu sind sicher \u00fcber Prof. Google zu finden. Bitte pr\u00fcft dann f\u00fcr euch aber auch, ob ihr der Aut2Exe.exe vertrauen k\u00f6nnt. <\/p>\n\n\n\n<p>Warum schreibe ich das hier noch? Naja im Online Compiler k\u00f6nnte nat\u00fcrlich boshafte Software rund um euren Code eingebaut werden, der dann in die EXE Datei integriert wird und alles m\u00f6gliche auf eurem Zielrechner veranstalten kann (je nach Berechtigungen eures Nutzerkontos). <\/p>\n\n\n\n<p>Und wenn die Website safe ist (was ich zu meinem Testzeitpunkt mal nach Analyse glaube, k\u00f6nnte nat\u00fcrlich auch in der benutzten Aut2Exe.exe, was ja dein Script \u00fcbernimmt und eine EXE liefert, Schadcode enthalten sein, so dass jede erzeugte EXE Schadcode enthalten kann.<\/p>\n\n\n\n<p>Ergebnis: Es hat funktioniert. Man muss beim Ausf\u00fchren der EXE kurz best\u00e4tigen, dass man sich des Risikos bewusst ist, weil Microsoft die EXE nat\u00fcrlich nicht kennt, aber dann l\u00e4uft es super.<\/p>\n\n\n\n<p>Und nochmal: <strong><mark>WICHTIG! Ich versto\u00dfe hier bewusst gegen die betrieblichen Regelungen meines Arbeitgebers. Es ist mir nicht gestattet Dateien auf meinem Rechner auszuf\u00fchren, die nicht durch zentrale Stellen im Vorfeld \u00fcberpr\u00fcft wurden. Das kann f\u00fcr mich ernsthafte Konsequenzen haben, aber dessen bin ich mir bewusst und ich trage dieses Risiko! Ihr solltet f\u00fcr euch also kl\u00e4ren, ob das was ich hier beschrieben habe, auf dem Rechner, auf dem ihr es nutzen wollt, zul\u00e4ssig ist oder nicht und wenn es nicht zul\u00e4ssig ist, seid euch der m\u00f6glichen K<\/mark>onsequenzen bewusst!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>oder mein konkretes Beispiel, bei dem ich \u00fcber diese M\u00f6glichkeit gestolpert bin. WICHTIG! Ich versto\u00dfe hier bewusst gegen die betrieblichen Regelungen meines Arbeitgebers. Es ist mir nicht gestattet Dateien auf meinem Rechner auszuf\u00fchren, die nicht durch zentrale Stellen im Vorfeld \u00fcberpr\u00fcft wurden. Das kann f\u00fcr mich ernsthafte Konsequenzen haben, aber dessen bin ich mir bewusst und ich trage dieses Risiko! Ihr solltet f\u00fcr euch also kl\u00e4ren, ob das was ich&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":368,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-372","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=\/wp\/v2\/pages\/372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=372"}],"version-history":[{"count":6,"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=\/wp\/v2\/pages\/372\/revisions"}],"predecessor-version":[{"id":382,"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=\/wp\/v2\/pages\/372\/revisions\/382"}],"up":[{"embeddable":true,"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=\/wp\/v2\/pages\/368"}],"wp:attachment":[{"href":"https:\/\/www.kastens.net\/WPSub\/dokumentation\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}