Pokretanje procesa na udaljenim računarima
|
U mojoj karijeri kao Sistem Administrator, veliki broj puta mi se desilo da moram pokrenuti neki proces/aplikaciju na udaljenom računaru. Naravno, koristeći SneakerNet metodu sve je izvodljivo, ali šta raditi kada je taj računar udaljen nekoliko stotina kilometara ili desetak metara (a Vama se ne ustaje)? Hm?
Remote Administracija (RA) – razlog gojaznosti i lenjosti kod nas IT stručnjaka, ali bez iste ništa ne bi bilo isto kao po loju. Bez remote administracije povećala bi se potrošnja goriva i hrane (usled povećanih aktivnosti – ustajanje sa stolice, hodanje, da ne spominjem silna stepeništa), bez RA osmeh na administratorovom licu bi bio vrlo kratkog veka.
Neki pametni ljudi (tačnije Mark Russinovich) su nadošli na ideju da bi bilo lepo kada bi mogli, uz samo par komandi, izvršiti na korisnikovom računaru neku aplikaciju – bilo da je zbog naših administrativnih potreba ili zbog nemogućnosti korisnika da klikne 2 puta na postojeću ikonicu, u to već ne ulazim. Sve ovo je ostvarivo sa alatkom PsExec.exe, koja je deo PsTools Suite-a, što je isto deo SysInternal suite-a (naravno besplatno je za preuzimanje).
Uz pomoć PsExec aplikacije, moguće je, putem komandne linije ili skripti pokrenuti neki proces na udaljenom računaru.
Evo par primera za primenu ove alatke:
- Želimo da vidmo rezultat IPCONFIG komande na korisnikovom računaru
- Prikazivanje informacija o sistemu (Instalirani HotFix-ovi, Uptime, RAM memoriju, etc)
- Pokretanje specifičnog update-a na korisničkom računaru
- Pokretanje remote CMD sesije (nešto kao Telnet ili SSH)
Ima još dosta stvari što se mogu postići korišćenjem ovog alata, ali ajd’ da ja pokažem konkretno kako to izgleda:
Alat se pokreće iz komandne linije:
PsExec.exe \\imeračunara aplikacija argumenti
Može se pokrenuti i na više računara, ako se umesto imena stavi @file.txt, gde se nalaze imena više računara odvojeni novim redom. Aplikacija mora da postoji na udaljenom računaru, ako ne postoji ista se kopira korišćenem atributa -c. I NARAVNO morate imati Administratorska prava na ciljnom računara, ako radite u ne domenskom (workgroup) okruženju onda možete da koristite -u i -p parametre, gde je -u Username oblika clientcomp/username, a -p Password.
Primer za Remote CMD:
PsExec.exe -s \\imeračunara cmd
Argument -s pokreće proces u system account-u. Sada imate mogućnost da koristite razne command line funkcije na udaljenom računaru, a da korisnik ni ne primeti.
Primer za System Info:
PsExec.exe -s \\imeračunara systeminfo
Ova komanda faktički pokreće systeminfo aplikaciju na udaljenom računaru i prikazuje ispis u Vašem cmd prozoru.
Na ovaj način je moguće uraditi mnoštvo stvari na udaljenom računaru bez potrebe za nekom lokalnom intervencijom.
Tipična stvar za šta ja koristim PsExec jeste ubijanje zakucanih procesa na klijentskom računaru, bez potrebe za dugotrajnim objašnjavanjem korisniku kako da koristi TaskManager. Ovo ostvarujem tako što pokrenemo remote CMD sesiju na udaljenom računaru, zatim pokrenem TaskList.exe komandu, koja mi izlista sve trenutne procese, zatim sa komandom TASKKILL /F /PID brojprocesa ubijem problematičan proces.
Mogao bih da pričam o ovom alatu x^y stvari, ali najbolje je da Vi sami istražujete šta on može i kako. Sve u svemu, PsExec je moćan alat i vrlo dobar prijatelj svakom Administratoru, meni je lično ovaj alat rešio mnoge probleme, čak na Enterprise nivou.
Ništa drugo ne ostaje da kažem osim Way to go Mark Russinovich!