RemoteAdmin
Vzdálená administrace/instalace/deinstalace/upgrade
RemoteAdmin je sada dávkových souborů, která slouží ke dvěma hlavním věcem:
1) z jednoho místa zkontrolovat a zaktualizovat velký počet počítačů (stanic) - RemoteAdmin serverová část
2) na každé jednotlivé stanici zajistit spouštění konkrétních úkolů při (každém) zapnutí počítače - RemoteAdmin klientská část
Na KTF se RemoteAdmin nachází na počítači NODE.ktf.cuni.cz (server+konzole AV ESET NOD), na HTF také (NODE.htf.cuni.cz). RemoteAdmin byl úspěšně vyzkoušen i v BZ.
Dávky se nacházejí ve složce C:\REMOTEADMIN , klíčová dávka je laduj_stanice.bat která umí postupně:
Probudit stanici, zkontrolovat přítomnost požadovaného softwaru, naládovat stanici instalačkama softwaru (táskama), rebootnout stanici, počkat, až se po rebootu software nainstaluje (doběhnou tásky) a nakonec stanici vypnout - na straně stanice (klientská část RemoteAdmin ) je engine postavený na službě AutoExNT, která se spouští jedenkrát po každém startu Windows.
Smyslem je v jednom cyklu takto obhospodařit všechny počítače, co jsou na fakultě (i když prakticky ne všechny lze probudit). Jednotlivé kroky lze vynechávat (buzení, reboot, vypnutí). Zároveň platí, že stanice, jež nemusela být probuzena, není na závěr vypnuta. Seznam stanic obsahuje i informaci, zda-li je stanice probuditelná a zda-li se smí vypnout (některé se vypínat nesmějí (servery) a tak je dávka nevypne i když je náhodou musela před tím probudit).
Naplnění počítačů daty na dálku
Pomocí RemoteAdmin lze automaticky udělat na počítači uživatele takřka cokoli a to po zapnutí ještě před přihlášením uživatele (kdy určitě neběží uživatelské aplikace). Engine je postavený na službě AutoExNT.
Důvodem je, že uživatel zpravidla není ve skupině Administrators ani Power Users a nesmí instalovat/aktualizovat aplikace a systém. Dále není žádoucí, aby se v počítači dělo cokoli "samo" při práci uživatele (stačí, že mu občas automatické aktualizace zrebootují Windows "pod rukama").
Vzhledem k tomu, že než doběhne celá klientská část do konce, může to chvíli trvat, je při stisku CTRL+ALT+DELETE uživateli oznámeno, aby se raději zatím nepřihlašoval (ať počká 5 minut). Po doběhnutí AutoExNT je toto hlášení vymazáno. Čili i uživatel je informován, ale jen tehdy, pokud se pokusí na stanici přihlásit v době, kdy běží AutoExNT .
Co všechno se tedy může dít při plnění stanice:
- unattended install služby AutoExNT (s využitím spuštění jako terminálu, tzn. připojení se na vzdálený počítač s příkazovým řádkem bez ovlivnění přilogovaného uživatele a to i přes skutečnost, že je telnet na vzdáleném počítači zakázán a zablokován firewallem
- unattended uninstall RealVNC
- unattended install UltraVNC (včetně konfigurace a hesla)
- unattended install Mozilla Firefox (zatím bez přidání kontroly pravopisu)
- unattended install Mozilla Thundebird (včetně přidání kontroly pravopisu)
- unattended install Adobe Reader (včetně záplat)
dříve se používalo, dnes již ne:
- unattended uninstall Avast Pro - dnes se používá ESET NOD
- unattended uninstall Total Commander - jen pro prvotní distribuci, aby byl na všech PC, do nových PC se dostane skrzevá SamoDomo
- unattended uninstall Compatibility Pack - jen pro prvotní distribuci, aby byl na všech PC, do nových PC se dostane skrzevá SamoDomo
- unattended uninstall JRE - prakticky je potřebný jen pro přímé bankovnictví a knihovnu, takže není distribuován hromadně, ale stará se o to SamoDomo
Všechny unattended (bezobslužné) operace jsou koncipovány tak, že se provedou "neviditelně" při zapnutí počítače a uživatel o nich vůbec neví (ověřeno a vyzkoušeno). Protože množina sw v SamoDomo a RemoteAdmin se překrývá, jsou instalační dávky napsány tak, aby byly pokud možno stejné (což ale 100% nelze).
Teoretický "noční" průběh plnění stanice:
- pokud již byla stanice naplněna a zkontrolována tak konec
- probuzení stanice pokud nereaguje na PING
- pokud již byla stanice naplněna a nebyla zkontrolovaná, tak jen kontrola, vypnutí a konec
- zjištění aktuálního stavu stanice (chybějící/neaktuální software)
- naplnění stanice podle stavu (remote instalace služby AutoExNT, pokud ještě není nainstalovaná, v ostatních případech POUZE nakopírování dat do C:\remote na stanici)
- reboot stanice + počkání, až se vše „samo“ nainstaluje
- kontrola, vypnutí a konec
K vypnutí stanice dojde jen tehdy, pokud nebyla zapnutá (čili dávka jí zapnula, tak jí po sobě zase vypne) nebo pokud není zakázáno stanici vypínat. Pokud si mezi tím ke stanici někdo stačil sednout a začít na ní pracovat, má 10 sec na to "power off" (případně "reboot") přerušit
Všechny kroky pochopitelně provází vytváření protokolu, aby bylo možné zpětně dohledat, jak to se stanicí šlo, v jakém je stavu teď a tak. Tím odpadá stres, jestli nerušíme/nezdržujeme uživatele od práce.
Naplnění stanic probíhá cca takto:
<pre>=============
17.03.2011 11:18:44 L102PC02 zahajena kontrola 172.30.0.92
17.03.2011 11:18:47 L102PC02 zahajeno plneni
17.03.2011 11:18:47 L102PC02 OK AUTOEXNT.BAT
17.03.2011 11:18:47 L102PC02 OK TaskDone?.BAT
17.03.2011 11:18:51 L102PC02 OK autoexnt.exe
17.03.2011 11:18:51 L102PC02 OK instexnt.exe
17.03.2011 11:18:51 L102PC02 OK servmess.dll
17.03.2011 11:18:51 L102PC02 OK ainst.bat
17.03.2011 11:18:51 L102PC02 iniciace vzdalene instalace sluzby AutoExNT
17.03.2011 11:18:57 L102PC02 OK sleep.exe
17.03.2011 11:18:57 L102PC02 OK uptime.exe
17.03.2011 11:18:57 L102PC02 OK XCACLS.EXE
17.03.2011 11:18:57 L102PC02 OK XCACLS.VBS
17.03.2011 11:18:57 L102PC02 OK NETDOM18.EXE
17.03.2011 11:18:57 L102PC02 OK TotalCommander? je v aktualni verzi
17.03.2011 11:19:04 L102PC02 OK "instaluj_administratorsky.bat"
17.03.2011 11:19:04 L102PC02 OK "instaluj_administratorsky.bat"
17.03.2011 11:19:05 L102PC02 pridana autoinstalace: UltraVNC
17.03.2011 11:19:26 L102PC02 OK "instaluj_administratorsky.bat"
17.03.2011 11:19:26 L102PC02 OK "Thunderbird Setup 2.0.0.24.exe"
17.03.2011 11:19:26 L102PC02 pridana autoinstalace: Thunderbird
17.03.2011 11:19:33 L102PC02 OK "instaluj_administratorsky.bat"
17.03.2011 11:19:33 L102PC02 OK "Firefox Setup 3.6.15.exe"
17.03.2011 11:19:33 L102PC02 pridana autoinstalace: Firefox
17.03.2011 11:19:38 L102PC02 OK "instaluj_administratorsky.bat"
17.03.2011 11:19:38 L102PC02 OK "AdbeRdr1000_cs_CZ.exe"
17.03.2011 11:19:38 L102PC02 pridana autoinstalace: AdobeReader?
17.03.2011 11:19:38 L102PC02 OK autoexnt.exe v sys32
17.03.2011 11:19:38 L102PC02 OK servmess.dll
17.03.2011 11:19:38 L102PC02 OK AUTOEXNT.BAT v system32
17.03.2011 11:19:38 L102PC02 konec plneni
17.03.2011 11:19:38 L102PC02 konec plneni - instalace probehne po rebootu stanice
---------------------------
18.03.2011 11:57:27 HTF-SIS zahajena kontrola 172.30.0.11
18.03.2011 11:57:30 HTF-SIS zahajeno plneni
18.03.2011 11:57:30 HTF-SIS OK AUTOEXNT.BAT
18.03.2011 11:57:30 HTF-SIS OK TaskDone?.BAT
18.03.2011 11:57:33 HTF-SIS OK sleep.exe
18.03.2011 11:57:33 HTF-SIS OK uptime.exe
18.03.2011 11:57:33 HTF-SIS OK XCACLS.EXE
18.03.2011 11:57:33 HTF-SIS OK XCACLS.VBS
18.03.2011 11:57:33 HTF-SIS OK NETDOM18.EXE
18.03.2011 11:57:33 HTF-SIS OK TotalCommander? je v aktualni verzi
18.03.2011 11:57:33 HTF-SIS OK UltraVNC je v aktualni verzi
18.03.2011 11:57:33 HTF-SIS OK Thunderbird je v aktualni verzi
18.03.2011 11:57:33 HTF-SIS OK Firefox je v aktualni verzi
18.03.2011 11:57:33 HTF-SIS OK AdobeReader? je v aktualni verzi
18.03.2011 11:57:33 HTF-SIS OK autoexnt.exe v sys32
18.03.2011 11:57:33 HTF-SIS OK servmess.dll
18.03.2011 11:57:34 HTF-SIS AUTOEXNT.BAT neni v defaultnim tvaru
18.03.2011 11:57:34 HTF-SIS OK AUTOEXNT.BAT nahrazen za default
18.03.2011 11:57:34 HTF-SIS konec plneni: stanice je v teto fazi OK
---------------------------
18.03.2011 11:57:40 H101PC01 zahajena kontrola 172.30.0.21
18.03.2011 11:57:43 H101PC01 zahajeno plneni
18.03.2011 11:57:44 H101PC01 OK AUTOEXNT.BAT
18.03.2011 11:57:44 H101PC01 OK TaskDone?.BAT
18.03.2011 11:57:46 H101PC01 OK sleep.exe
18.03.2011 11:57:46 H101PC01 OK uptime.exe
18.03.2011 11:57:46 H101PC01 OK XCACLS.EXE
18.03.2011 11:57:47 H101PC01 OK XCACLS.VBS
18.03.2011 11:57:47 H101PC01 OK NETDOM18.EXE
18.03.2011 11:57:47 H101PC01 OK TotalCommander? je v aktualni verzi
18.03.2011 11:57:47 H101PC01 OK UltraVNC je v aktualni verzi
18.03.2011 11:57:47 H101PC01 OK Thunderbird je v aktualni verzi
18.03.2011 11:57:47 H101PC01 OK Firefox je v aktualni verzi
18.03.2011 11:57:48 H101PC01 OK AdobeReader? je v aktualni verzi
18.03.2011 11:57:48 H101PC01 OK autoexnt.exe v sys32
18.03.2011 11:57:48 H101PC01 OK servmess.dll
18.03.2011 11:57:48 H101PC01 AUTOEXNT.BAT neni v defaultnim tvaru
18.03.2011 11:57:48 H101PC01 OK AUTOEXNT.BAT nahrazen za default
18.03.2011 11:57:48 H101PC01 konec plneni: stanice je v teto fazi OK
---------------------------
Jak je z výpisu výše patrné, kontrolují se soubory a případně se přidávají na stanici instalační dávky a programy. Kontrola probíhá jak v rovině testu existence souborů na stanici a binární shody souborů na stanici se vzorovými soubory, tak i v rovině: může se zpracovávaná aplikace, která na stanici není nainstalovaná, na tuto stanici nainstalovat? Zde je to využito pro Compatibility Pack, který není instalován na stanice, na kterých není MS Office 2003 (lze pozměnit na obecný MS Office).
Aby ládování stanic fungovalo, musí být splněny tyto podmínky na cílových stanicích:
- Windows XP Professional
- firewall: povolena odezva na PING
- firewall: povoleno MS sdílení souborů
- běžet služba RPC
- běžet služba Server (ve vlastnostech sítě nesmí chybět služba MS sdílení souborů)
- zakázáno zjednodušené sdílení
- statická IP adresa (ručně vyplněná nebo DHCP serverem přidělovaná vždy stejná)
poznámky:
- Windows nemusí být v doméně
- povolením sdílení souborů se automaticky povolí i PING, ale není od věci si ho i přes to pro jistotu na příslušném síťovém adaptéru povolit ručně
- RPC běží vždy a povolením sdílení souborů se zpřístupní i ze sítě (nicméně kdyby toto z nějakého důvodu nefungovalo, pak smolík pacholík, ládování fungovat nebude)
Dávka "laduj_stanice" očekává tyto parametry (na pořadí parametrů ZÁLEŽÍ!!!):
[*|!|@] [-] [STANICE [STANICE [STANICE [STANICE [...]]]]]
NIC (tzn. vůbec žádný nebo žádný další očekávaný parametr) ládovat se budou VŠECHNY stanice, které jsou uvedeny v seznamu "seznam_stanice.csv"
* stanice bude případně probuzena, naplněna, rebootnuta a případně vypnuta
! stejné jako * ale vypne i ty stanice, které nebylo třeba probouzet
@ nebude se na nic ptát (minulý report nebude smazán)
- potlačí vypisování nedůležitých informací na CRT (do logu jde všechno)
STANICE [STANICE [STANICE [STANICE [...]]]] ládovat se budou vyjmenované stanice
Poznámka:
parametr @ potlačí dotazy, parametry * a ! je potlačí také! Pokud má být uvedeno více parametrů najednou, MUSÍ se dodržet pořadí:
laduj_stanice @ - PC1 PC2 PC3 PC4
laduj_stanice * PC1 PC2 PC3
laduj_stanice !
Příklady:
laduj_stanice
zeptá se, jestli to myslíš vážně a pokud ano, tak:
a) naplní nenaplněné stanice
b) zkontroluje sice naplněné, ale dosud nezkontrolované stanice
c) naplněné a zkontrolované stanice z ládování/kontroly vynechá úplně
laduj_stanice * SEKRETARIAT
probudí počítač SEKRETARIAT, naplní ho, restartuje a nakonec vypne. Pokud je počítač při zahájení plnění již zapnutý, tak se ho dávka nepokusí probudit a na závěr ho ani NEVYPNE. Pokud se počítač nemá vypínat (v CSV má v příslušném sloupci NE), tak ho dávka na závěr NEVYPNE, bez ohledu na to, jestli ho před tím zapnula nebo ne. Parametr ! funguje úplně stejně s tím rozdílem, že dávka na závěr stanice VYPNE i když je před tím nezapínala (nevypne ty, které mají v CSV v příslušném sloupci NE)
laduj_stanice @ -
nevypíše nic o již naplněných a zkontrolovaných (tím pádem přeskočených) stanicích a nebude se ptát, jestli se má ládování opravdu spustit
Důležité:
aby všechny dávky na Administrátorově počítači fungovaly, musí být v pořádku Environment proměnné (systémové) a musí se NEJPRVE spustit instalační dávka (ve složce 1nainstalujtoto): instaluj.bat
CSV
seznamy stanic uložené v CSV souborech:
seznam_stanice_HTF.csv
seznam_stanice_KTF.csv
soubory obsahují tyto informace:
Dávkami lze „komandovat“ pouze počítače, jež mají v CSV záznam
popiska počítače: na KTF se komentář používá pro zápis DDHM, což je inventární číslo
už neplatí: Dávka laduj_odpojene_stanice.bat se pokusí naplnit stanice uvedené v seznamu seznam_odpojen.csv (užitečné např. pro notebooky)
Dále:
Jsou vypracovány skripty pro probuzení, reboot a vypnutí stanic (včetně featury, kdy skript pozná, že stanice neumí WOL, tak se nezdržuje jejím probouzením)
Je vypracován skript pro rozpoznání, zastavení a odinstalování vyjmenované NT SERVICE (což je zde využito pro odinstalování "terminálu")
už neplatí: dumpuj_stanice.bat jménostaice - v podstatě zjistí, kdo byl/je přihlášen + nějaké další informace, viz složka _dump_
terminal.bat jménostaice - spustí terminál na stanici (není to pravá terminálová služba, ale funguje to stejně)
už neplatí: HIM a DIM:
viz baťáky zjisti_inventarni_cisla.bat a nastav_inventarni_cisla.bat
už neplatí: AVAST:
část baťáků <strike>je</strike> byla využívána pro pravidelné probuzení a vypnutí počítačů (o půlnoci) kvůli jejich full scanu AVASTem, viz složka _avast_
ACL na C:\ a další úklid "smetí":
jelikož se občas stalo, že bylo potřeba založit nebo naopak odstranit na všech PC nějakou složku nebo soubory, srovnat čas, opravit práva a podobně, obsahuje engine i sadu dávek, které se po startu Windows spustí spolu s iniciátorem celého tohoto procesu (tj. s AutoExNT):
- dávky před "PermPred_X.BAT"
- vlastní úkol(y) /tásky v dávce TaskExNT.BAT/
- dávky po "PermPote_X.BAT"
takto lze zařídit takřka cokoli před nebo po instalaci, kterou provádějí jednotlivé tásky. Dávky před/po se spouštějí vždy (Perm=permanentní), i když žádný tásk požadován není!
Pokud existuje TaskExNT.BAT, tak je spuštěn a na konci, když všechny tásky úspěšně doběhnou, je TaskExNT.BAT smazán - na to slouží TaskDone.BAT - jak je doufám jasné, TaskExNT.BAT je generován RemoteAdminem za běhu během kontroly stanice a je do něj (do TaskExNT.BAT) přidáno jen to, co na dané stanici chybí nainstalovat.
Doména:
vzhledem ke skutečnosti, že na KTF a HTF se PDC jmenují různě a domény pochopitelně také, byl RemoteAdmin doplněn o detekci jména PDC a jména domény. Dále pak na základě tohoto zjištění použije konfigurační soubor, který je jiný pro každou fakultu (a tudíž se nemusí nic extra upravovat a lze mít na KTF i HTF identické kopie všeho).
Terminal server na XP:
protože se povedlo zprovoznit XP v režimu terminálového serveru i v doméně a protože toto vyžaduje aby se při spuštění Windows vždy změnilo nastavení v registru, je RemoteAdmin na straně stanice vybaven i tímto. V praxi to pak znamená, že stačí, aby v počítači existoval soubor C:\_ts_\termsrv.dll a klientská část RemoteAdmin z XP udělá terminal server.