• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Jegliche Internetverbindung per Python script unterbinden

HoneyBadger

Aktiver NGBler

Registriert
7 Sep. 2015
Beiträge
1.956
Moin zusammen,

habe einen Anwendungsfall, bei dem ich temporär die Netzwerkverbindungen unterbinden muss. Da ich das Ein- und Ausschalten bereits problemlos per API triggern kann, würde ich den Punkt noch gerne automatisieren.

Bin leider infrastrukturell nicht ganz so fit und bräuchte einen Impuls.

Das Ganze muss jedoch per Python umsetzbar sein, da die eigentliche Anwendung darüber realisiert ist.

Hatte bereits überlegt, die host Datei immer wieder auszutauschen. Was müsste dort eingetragen werden, damit Funkstille ist? Oder wäre es sinnvoller vielleicht schlicht die Netzwerkverbindung zu deaktivieren? Wäre jedoch etwas zu offensichtlich. Suche schlicht den simpelsten Ansatz, um das dann als Windows Dienst laufen zu lassen.

Danke vorab
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.748
Ort
in der Zukunft
Die Frage ist was du erreichen willst.

ipconfig /Release /renew

Gibt die ip der Netzwerkkarte zurück und holt sich eine neue.
Das funktioniert zum einen nur, wenn DHCP aktiv ist; zum anderen ändert es je nach DHCP Konfiguration jedes mal die IP.

Was du sonst machen könntest ist
netsh interface set interface name="Local Area Connection" admin=disabled

Bzw hinten enable. Das deaktiviert wirklich die Netzwerkkarte.

So oder so ist es aber Blödsinn die.bat aufzurufen um darin einen Befehl aufzurufen. Starte doch direkt ipconfig oder netsh
 

HoneyBadger

Aktiver NGBler

Registriert
7 Sep. 2015
Beiträge
1.956
  • Thread Starter Thread Starter
  • #4
Ach, ich habe mir nur ein kleines Buchungssystem geschrieben, das mir Gutscheine mit einem Zeitäquivalent generiert, die dann entsprechend verbraucht werden können.

Eins meiner beiden Kinder will das mit der sinnvollen Internetnutzung nicht lernen. Daher wird künftig aus der Internetflat eine eigene Währung. Tausche Teilnahme am Leben gegen Internet. :P

Da allerdings der betroffene Rechner von zweien benutzt wird, will ich das basierend auf dem angemeldeten Nutzer und dem Internetkontingent entsprechend automatisch blockieren oder eben nicht.
 

HoneyBadger

Aktiver NGBler

Registriert
7 Sep. 2015
Beiträge
1.956
  • Thread Starter Thread Starter
  • #6
Ich schlage mich zur Zeit viel zu viel mit nervigem "Project overhead" herum. Hätte eigentlich Lust mal wieder was zu basteln. Das Heimprojekt kommt mir daher recht gelegen. 😅
Außerdem ist es schon halb fertig und eine willkommene Gelegenheit mich mal an einem MD Frontend zu probieren. Ich bin sonst eigentlich nur im Backend unterwegs. Insofern habe ich immer noch Interesse daran, das per Python zu lösen. Dümmer macht es einen ja nicht. Netzwerkseitig hätte ich auch noch ein paar Lücken. Insofern passt das Thema doppelt.

netsh scheint die Lösung zu sein. Sollte dann ja mit WLAN analog funktionieren.

Um es als Dienst einzuhängen sollte pywin32 das Mittel der Wahl sein?
 

HoneyBadger

Aktiver NGBler

Registriert
7 Sep. 2015
Beiträge
1.956
  • Thread Starter Thread Starter
  • #8
Nicht zwingend, ich will jedoch den Dienst aus der Anwendung heraus einrichten, verändern, löschen starten und beenden können. Gibt keinen spezifischen Grund dafür. Will es einfach lernen. Das war bis dato die beste Lösung, die ich entdeckt habe. Über py2exe erzeuge ich ja erst einmal nur die exe. Wobei, eine exe müsste ich dann per shell als Dienst einhängen können, oder? Da käme ich per py dran.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.748
Ort
in der Zukunft
Ja mit der erwähnten sc.exe die zu Windows gehört. Damit kannst du Dienste erstellen, löschen, starten und Beenden.
Im Prinzip sollte es auch funktionieren Python mit deinem Script direkt als Dienstag zu registrieren.

Du solltest dann nur sicherstellen das das alles was als Dienst läuft, also das executable und dein Script in einem nur durch Administratoren beschreibbare Bereich liegt.
 

HoneyBadger

Aktiver NGBler

Registriert
7 Sep. 2015
Beiträge
1.956
  • Thread Starter Thread Starter
  • #10
das scheint doch dafür zu sein auf APIs zuzugreifen / das willst du im Grunde nicht.

Würde sowas GitHub - py2exe/py2exe: A distutils extension to create standalone Windows programs from Python code in Verbindung mit SC Create sc.exe erstellen verwenden
Der Dienst wird als Admin installiert. Klar. Wie ist das dann beim Ausführen, durch User logon? Der Dienst wird als admin auf auto start beim booten gestellt. Der Dienst selbst prüft dann bei Ausführung auf den aktiven User. Die Frage ist, mit welchem User ich dann als return rechnen muss.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.748
Ort
in der Zukunft
Der User der den Dienst ausgeführt muss Adminrechte haben, da sonst die Netzwerkverbindung nicht getrennt werden kann.
Das kann ein System Benutzer sein, dein Administrator oder ein extra Account.
Du musst dann alle aktiven Benutzer abfragen und den mit einer interaktiven Sitzung wählen.
Der Dienst läuft normal bei System Start, nicht bei logon.

Beim der win32 Api / wmi-abfrage für den angemeldeten Benutzern kommt aber immer die aktive interaktive und lokale Sitzung zurück, also das was du brauchst.

Alternativ kann über den Befehl "query User" eine Liste der Sitzungen ausgegeben werden
 
Oben