Sziasztok!
Fut pár 10 gépen a WPKG nevű szoftver, ez amolyan távoli/unattended install. (https://wpkg.org/)
Ehhez Win7 óta van egy wpkg-gp "kiterjesztés", amely az indítás során service-ként futtatja a megadott installereket. (https://wpkg.org/WPKG-GP) (szerk. pontosítok: igazából a WPKG kliens fut service-ként, és az installereket, batch fileokat ez futtatja)
Eddig, több, mint 10 éve viszonylag kevés szívással működött.
Most felmerült, hogy tantermenként a gépeken le kellene tiltani a külső net hozzáférést (vizsgák, zh-k alkalmával egy eséllyel kevesebb a csalásra). Meg is volna a batch fájl, cmd ablakból lefut pillanat alatt.
(Azért kell batch, mert a wpkg login előtt fut, nincs semmi interaktív lehetőség, ha pedig van output, az megakasztja a bootot, mert írná, de nincs hova, és megáll minden. Ezt megtanultam kezelni az évek alatt, nem gond. Általában...)
Ha a wpkg-gp futtatja a fenti batch filet, 10 perc. Vagy több. A rendszernaplóban hiba nincs (ha a wpkg-nek baja van, azt oda pakolgatja).
A legszebb az az, hogy nem mindig. 10 indításból mondjuk 1-2 alkalommal. Ez pedig - tekintve, hogy órák reggel 8-tól este 6-ig, vagy akár tovább is vannak, sokszor pár perces teszttel az elején, vagy éppen 90 perces zh-k alkalmával - nem elfogadható.
Tanácstalan vagyok, tudna valaki segíteni, hogy kiderítsem, indulásnál mi tart ilyen sokáig??
További részletekkel szívesen szolgálok, most a batch file-t teszem ide, ez ennyi (kínomban már két fájlba is szedtem, de ugyanez az eredmény):
@echo off
SETLOCAL EnableDelayedExpansion
REM netsh sets errorlevel to 0 if the rule exists, non-zero otherwise
rem see: https://stackoverflow.com/questions/72283256/how-to-check-firewall-rule-before-creating-it-using-batch-script-and-netsh
if "%~1" == "" GOTO END
if %1 == net_down GOTO net_down
if %1 == net_up GOTO net_up
:net_down
netsh advfirewall firewall show rule name="SZTEOnly" | findstr "SZTEOnly" > NUL 2>&1
if %ERRORLEVEL% NEQ 0 (
netsh advfirewall firewall add rule name="SZTEOnly" dir=out action=block protocol=ANY remoteip=1.1.1.1-10.111.0.0,10.111.50.0-160.114.0.0,160.115.0.0-255.255.255.255 > NUL 2>&1
netsh advfirewall firewall set rule name="SZTEOnly" new enable=yes > NUL 2>&1
GOTO END
) else (
netsh advfirewall firewall set rule name="SZTEOnly" new enable=yes > NUL 2>&1
GOTO END
)
:net_up
netsh advfirewall firewall show rule name="SZTEOnly" > nul 2>&1
if %ERRORLEVEL% EQU 0 (
netsh advfirewall firewall delete rule name="SZTEOnly" dir=out > NUL 2>&1
) else (
GOTO END
)
:END
EXIT /B 0