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-Key: 6323416784

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

Printed on: April 28, 2024 at 18:04 o'clock

Member: mayho33
mayho33 Mar 11, 2023 at 19:23:12 (UTC)
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!
Member: wolf56
wolf56 Mar 12, 2023 at 00:11:03 (UTC)
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
Mitglied: 2423392070
2423392070 Mar 12, 2023 at 00:37:10 (UTC)
Goto Top
runas(s)?
Mitglied: 6247018886
Solution 6247018886 Mar 12, 2023 updated at 06:22:06 (UTC)
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
Member: wolf56
wolf56 Mar 14, 2023 at 09:16:41 (UTC)
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
Member: wolf56
wolf56 Mar 14, 2023 at 14:24:28 (UTC)
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?
Mitglied: 6247018886
6247018886 Mar 14, 2023 updated at 15:05:59 (UTC)
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 ...
Member: wolf56
wolf56 Mar 14, 2023 at 18:52:20 (UTC)
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
Mitglied: 6247018886
6247018886 Mar 14, 2023 updated at 22:01:03 (UTC)
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.
Member: wolf56
wolf56 Mar 14, 2023 at 23:43:34 (UTC)
Goto Top
Danke. Alles bestens. Jetz gehts. War mein Fehler.

Grüße