wolf56
Goto Top

Batch-Skript, cmd-c ist der Interpreter

Hallo zusammen, in einer bestimmten Situation, möchte ich per Batchdatei in einem Windows-11 Rechner mit privatem Netzwerk, das Ethernet deaktivieren und nach 6 Sekunden wieder aktivieren und danach weitere 3 sekunden warten und dann erst den Batch beenden. Das alles kann man auch per Klick's erreichen und ist mir zu langwierig. Sinn des Ganzen ist die Neuzuweisung der Verbindung die ich brauche als Batch-Skript. Das Skript wird in einer bestimmten Situation in einer Automatik eingebunden und cmd /c ist der Interpreter. Leider bin ich nicht in der Lage ein brauchbare Ergebnis zu erzielen. Daher meine Bitte um Vorschläge welche ich testen kann. Danke schon mal im Voraus für eure Hilfen.

Gruß

Content-ID: 6323416784

Url: https://administrator.de/contentid/6323416784

Ausgedruckt am: 19.11.2024 um 05:11 Uhr

mayho33
mayho33 11.03.2023 um 20:23:12 Uhr
Goto Top
Hi,

Wie wäre es mit sowas?
netsh interface set interface NAME-DES-ADAPTERS disabled

Timeout /t 6

netsh interface set interface NAME-DES-ADAPTERS enable

Timeout /t 3

Grüße!
wolf56
wolf56 12.03.2023 um 01:11:03 Uhr
Goto Top
Danke, genau richtig, funktioniert mit administrativen Rechten. Das Problem ist nur, die administrativen Rechte zum de- und aktivieren, müssen im Skript aufgerufen werden, da das Skript von einem Interpreter erst bei bedarf gelesen wird und nicht als eine Batchdatei existiert. Wie müsste man das schreiben?

Grüße
2423392070
2423392070 12.03.2023 um 01:37:10 Uhr
Goto Top
runas(s)?
6247018886
Lösung 6247018886 12.03.2023 aktualisiert um 07:22:06 Uhr
Goto Top
Zitat von @wolf56:

Das Problem ist nur, die administrativen Rechte zum de- und aktivieren, müssen im Skript aufgerufen werden,
Kein Problem
@echo off
net session >nul 2>&1 || (powershell -EP Bypass -NoP -C start "%~0" -verb runas &exit /b)  
echo Now running elevated ...
pause
Cheers briggs
wolf56
wolf56 14.03.2023 um 10:16:41 Uhr
Goto Top
Hi briggs, genau das hat noch gefehlt. Jetzt läuft es ohne Zeile 4.
Danke an alle die geholfen haben.

Grüße
Frank
wolf56
wolf56 14.03.2023 um 15:24:28 Uhr
Goto Top
Zitat von @6247018886:

Zitat von @wolf56:

Das Problem ist nur, die administrativen Rechte zum de- und aktivieren, müssen im Skript aufgerufen werden,
Kein Problem
@echo off
net session >nul 2>&1 || (powershell -EP Bypass -NoP -C start "%~0" -verb runas &exit /b)  
echo Now running elevated ...
pause
Cheers briggs

Der vorgeschlagene Code wird nicht ausgeführt und die Batchdatei sofort geschlossen. Vieleicht ein Sicherheitsproblem in Win11?
6247018886
6247018886 14.03.2023 aktualisiert um 16:05:59 Uhr
Goto Top
Zitat von @wolf56:
Der vorgeschlagene Code wird nicht ausgeführt und die Batchdatei sofort geschlossen. Vieleicht ein Sicherheitsproblem in Win11?
Der Code funktioniert einwandfrei solange bei dir die PowerShell von deinem Administrator nicht komplett gesperrt wurde (GPO). Ansonsten läuft dieser in diversen Skripten hier problemlos, findest du hier im Forum übrigens auch dutzende male!
Wenn du das "pause" natürlich entfernst st klar das sich das Fenster anschließend kommentarlos schließt 😉.

Fehlermeldungen der PowerShell kannst du lesen indem du den Code testweise so modifizierst
@echo off
net session >nul 2>&1 || (powershell -EP Bypass -NoP -NoExit -C start "%~0" -verb runas)  
pause

screenshot

UAC Abfrage kommt natürlich erst noch nach dem Ausführen, wie erwartet ...
wolf56
wolf56 14.03.2023 um 19:52:20 Uhr
Goto Top
funktioniert nicht.

Es kommt nicht mal Pause, sondern bricht gleich ab. Also Testdatei nicht als Admin ausführen.

hier der Test als .bat

@echo off
pause
netsh interface set interface Ethernet disabled
Timeout /t 6
netsh interface set interface Ethernet enable
Timeout /t 10
exit

Grüße
6247018886
6247018886 14.03.2023 aktualisiert um 23:01:03 Uhr
Goto Top
Funktioniert hier problemlos. Dann hat man dir deine PowerShell gesperrt...
Wie gesagt wenn du die letzte Version oben zum Debuggen nimmst siehst du die Fehlermeldung der Powershell wenn sie denn bei dir gesperrt wurde.
wolf56
wolf56 15.03.2023 um 00:43:34 Uhr
Goto Top
Danke. Alles bestens. Jetz gehts. War mein Fehler.

Grüße