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
- 334 megtekintés
Hozzászólások
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).
Keresd meg a GTK-s kollégát, hogy ott milyen megoldás van erre, az ottani oktató kollégák szeretik :) (pár hónapja otthagytam az egyetemet, de még annó én raktam össze: a DHCP szerver mindegyik gépnek fix IP címet oszt ki, gateway-nek pedig egy VM-ként futó szerver címét osztja ki, ami iptables szabályokkal ipset-ek alapján szűr (pl. a coospace ipset tagjai elérhetik a CooSpace IP-címét), és kapott egy webes felületet, amivel akár gépenként egyesével be tudják kattintgatni, hogy ki mit érhessen el). Ha egyszer beállítod, onnantól set & forget, az évek alatt csak annyi gond volt vele, hogy néhány oktató beállította, hogy visszavonásig legyen valami tiltás (ami valójában visszavonás vagy éjfél, mert készültem erre :) ), aztán nem vonta vissza, a következő oktató meg nem értette, mizu...
Erre meg a legjobb tippem, hogy lehet, hogy túl hamar fut le és még nem fut rendesen a tűzfal-szolgáltatás. Az elejére egy net start mpssvc?
BlackY
"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)
- A hozzászóláshoz be kell jelentkezni
Köszi a tippet, és bocsi a késői válaszért!
Végül kicsit másképp oldottam meg. A megoldás, amit felvázoltál, elegáns, és nagyon jól használható.
Viszont nálunk - ahogy a kollégák mondták - nincs szükség tanteremnél finomabb granularitásra, másrészt az infrastruktúra (meg az emberanyag (khm, én :) ) nem bírna el egy ekkora váltást. Fenntartani tudom, hogy már szinte nem kell, de ennyire átvariálni a jelenlegi rendszert most nem akartam/tudom. (oktatás, meg egyéb feladatok mellett rugdosom én is a rendszert)
Nekem is az volt a gyanúm, hogy a tűzfal szolgáltatás még nem (legalábbis nem mindig) ment, mikor a script már hozzányúlt volna, és emiatt a boot során elkezdett rá várni. Viszont abban sem voltam biztos, hogy ha a tűzfalat elindítom, az nem vár más service-re...
Szóval az lett a vége, hogy a gépekre lemegy a fenti batch fájl lokálba, és onnan futtatom egy ütemezett feladattal bejelentkezéskor.
Így az az előny is megvan, hogy a boot során még van net, majd a bejelentkezés után tiltom csak le.
A tiltáshoz, illetve az újra engedélyezéshez nálunk egy hálózati megosztáson levő batch file-t kell futtatni, az onnantól intéz mindent. Tulajdonképpen ez adja hozzá, vagy veszi el az adott tantermek gépeihez/-ről a azt a wpkg feladatot, ami a fenti ütemezett feladatot hozzá adja a Windowshoz, vagy törli azt. Ami meg már maga a Windows saját tűzfalához adja hozzá, vagy törli a szabályt.
Tehát WPKG-ban bekapcs/kikapcs tiltás -> a WPKG leküldi a tűzfal tiltó/engedélyező szabályt a gépre, és létrehozza, vagy törli a bejelentkezéskor lefutó feladatot -> ez a feladat maga a tűzfal szabály létrehozása és engedélyezése vagy törlése.
Ha valakit részletesebben érdekel szívesen mesélek, de most, ide szerintem ennyi elég :)
Köszi még egyszer a segítséget!
<-------
You can't grep on dead trees.
- A hozzászóláshoz be kell jelentkezni