Tag Archives: Script

Mikrotik senzor temperature

Na određenim RouterBoard pločama imamo senzor temperature, pa ga možemo iskoristiti za automatsko slanje mejla ukoliko uređaj pređe zadatu temperaturu. Ovo može biti vrlo korisno u manje opremljenim serverskim sobama koje nemaju redudantno hlađenje, a ni sopstveni uređaj za monitoring, ali se tu nalazi neki od modela Mikrotik rutera sa pomenutim senzorom.

Podesićemo skript koji će proveravati temperaturu i slati mejl ukoliko nije u dozvoljenim granicama, dok će u suprotnom ispisivati log, pa ukoliko koristite neki od alata za udaljeno nadgledanje logova bićete u mogućnosti da vidite temperaturu. Prvo je potrebno da podesimo e-mail alat da bi uopšte mogli da šaljemo poruke:

MikrotikTemp01

/tool e-mail
set address=192.168.0.252 from=Mikrotik@Rajco.test

Nakon toga možemo podesiti skript. U zavisnosti od željene temperature možete promeniti vaše vrednosti:

MikrotikTemp02

add name=TempMonitor policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    source="/system health\r\
    \n:if ([get temperature]>32) do={/tool e-mail send to=\"admin@rajco.me\" su\
    bject=\"Temperatura serverske sobe\" body=(\"Temperatura serverske sobe je\
    \_veca od dozvoljene! Trenutna temperatura iznosi : \".[/system health get\
    \_temperature] )} else {:log info (\"Temperatura je u dozvoljenim vrednost\
    ima. T=\".[/system health get temperature])}"

Sada je još potrebno da stavimo scheduler koji će pokretati skript u određenom razmaku. Lično mislim da je pet minta sasvim prihvatljiv vremenski interval:

MikrotikTemp03

add interval=5m name=TempMonitor on-event="/system script run TempMonitor" \
    policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    start-date=sep/21/2012 start-time=09:46:31

Uz male izmene možemo postavljati automatska obaveštenja za sve događaje na routerOS-u, a ne samo za temperaturu.

RSAT Tools i Powershell pretraga zaključanih naloga

Iskoristiću ovaj post da objasnim instaliranje i korišćenje RSAT alata, a zatim da dam primer korišćenja Powershell-a preko RSAT-a. RSAT (Remote Server Administration Tools) nam dozvoljava upravljanje rolama i karakteristikama (Roles and Features) koje su instalirane na udaljenom serveru sa operativnim sistemom Windows Server 2008 i 2008R2 (važi i za pojedine role i karakteristike na verziji servera 2008 i 2003). Na primeru koji ću pokazati vidimo koliko je RSAT koristan, ne samo u olakšavanju upravljanja, već i donošenjem novih i poboljšanih komandi.

RSAT je dostupan za obe arhitekture procesora (x86 i x64) a obradićemo verziju za Windows 7 SP1 (mora biti u ediciji Enterprise, Professional ili Ultimate). Bitna stavka je da alat dolazi u vidu ažuriranja i mora se potpuno ukloniti svaka prethodna verzija pre instalacije nove, podrazumeva se da se ne može instalirati na ciljanom serveru. Takođe su nam potrebna administratorska prava na računaru na kom istaliramo alat. Kada završimo instalaciju ostaje nam da u Control Panelu pod opcijom Program and Features dodamo karakteristike i role sa kojim želimo da upravljamo.

RSAT-01

Sada možemo da počnemo sa upravljanjem željenih rola na ciljanom serveru/serverima. Ukoliko ste na klijentskom računaru već logovani kao administrator sa potrebnim pravima na udaljenom serveru onda je dovoljno samo da pokrenete neki od alata. Pošto nije dobra praksa biti logovan na klijentski računar i raditi stalno sa administratorskim pravima onda je potrebno alat pokrenuti kao drugi korisnik i ukucati administratorske kredencijale. Takođe postoji opcija prilikom korišćenja Powershell-a da prilikom izvršavanja same komande obezbedimo kredencijale koji su dovoljni za tu akciju i time izbegnemo rad sa pravima većim od potrebnih.

RSAT-02

Na ovom primeru vidimo da su instalirani svi dostupni alati jer računar nije u produkciji, već u testnom okruženju. Vi ćete naravno izabrati alate za role koje imate instalirane. U svakom trenutku možete dodati i neki koji vam kasnije zatreba. Kao što sam rekao na sledećem primeru ćemo videti kolika je korist od RSAT-a.

Ukoliko dobijete zadatak da proverite sve zaključane naloge u vašem domenu a pri tome imate stotine ili hiljade naloga taj posao ručno bi bio nemoguć, a ako je domain controler na verziji nižoj od Windows Servera 2008 R2 trebaće vam neki PS skript ili ne daj bože VB :). Uz pomoć RSAT alata to možemo uradti sa jednom komandom na sledeći način:

RSAT-03

Search-ADAccount -LockedOut

U prvom redu izlistavamo sve zaključane naloge na domenu.

Search-ADAccount -LockedOut | Unlock-ADAccount

Drugim redom prosleđujemo (pipe) komandu za otključavanje svih naloga. Ukoliko nemamo dovoljna prava ovde možemo dobiti grešku pa je potrebno ponoviti akciju sa odgovarajućim dozvolama. Na kraju ponavljamo prvu komandu da bi se uverili da smo otključali sve naloge. Sve ovo smo radili sa klijentskog računara i pokrenutim Active Directory Module for Powershell, da smo pokrenuli samo Powershell morali bi da importujemo odgovarajući modul sa komandom:

Import-Module ActiveDirectory

Velika verovatnoća je da ne želimo da otključamo sve naloge, već da izaberemo pojedinačno, tada koristimo

RSAT-04

Imamo parametar confirm pa će nam PS tražiti da potvrdimo svaki nalog pojedinačno. Takođe u nastavku vidimo da možemo koristiti select da bi izabrali polja u prikazu koja nas interesuju.

PS C:\Users\Administrator> Search-ADAccount -LockedOut | select Name

Kao što vidimo sada vrlo lako možemo vršiti upravljanje serverima sa lokalnog računara čak i uz korišćenja komandi koje nam ne bi bile dostupne na serveru. Još jedna velika prednost je ukoliko više administratora koristi RDP konekciju ka serverima, a znamo da je, ne računajući terminal servise, ili po novom RDP rolu, broj istovremenih RDP konekcija dve, tako da treći administrator neće moći da pristupi serveru bez da izloguje jednog od prve dvojice ili odlaskom do servera i logovanjem lokalno.