Translate

субота, 16. јануар 2016.

Skripa za restart routera Telnet i SSH

Jeftiniji routeri sa kojima sam se susretao su imali tendenciju da prestanu sa radom i bilo ih je potrebno restartovati. Problem nastaje kad imate veliki broj uređaja na različitim lokacijama koje su kilometrima udaljene od vaše. Procedura kod ovakvog slučaja je sledeća - zove vas nezadovoljan korisnik kome "ništa ne radi" ili je računar "crkao" jer nema google-a. Sad je došao red na deo kad vi pokušate da mu dajete uputstva preko telefona a on vidi samo "mnoštvo žica i kutija sa trepćućim svetlima". Sa istim problemima sam se i ja susretao i postoji rešenje!
Da bi se implementiralo rešenje potreban je drugačiji pristup routeru od onog preko web UI a to se može postići preko servisa kao što su Telnet i SSH.
Nekad routeri mogu da koriste samo Telnet ili samo SSH i iz tog razloga sam napisao skripte za oba servisa.


Skripta za restart routera preko Telnet-a.

Postoji nekoliko preduslova da bi ova skripta mogla da radi ali se ispunjavanjem istih ne bih bavio u ovom tekstu.
1. Telnet mora biti instaliran na računaru sa kog se skripa pokreće.
2. Na routeru se mora dozvoliti pristup preko Telnet-a.

Otvorite nov txt u notepadu i u njega upišete sledeće komande:

Option explicit
Dim oShell
set oShell= Wscript.CreateObject("WScript.Shell")
oShell.Run "telnet"                                                                   
WScript.Sleep 3000                                                           
oShell.Sendkeys "192.168.0.1~"                                           
WScript.Sleep 3000                                                                
oShell.Sendkeys "username~"
WScript.Sleep 3000
oShell.Sendkeys "password~"
WScript.Sleep 3000
oShell.Sendkeys "system reboot~"
WScript.Sleep 3000
oShell.Sendkeys "~"
Wscript.Quit

Napomena: kod nekih routera, komanda za restartovanje je reboot a kod nekih system reboot.

Dokument je potrebno sačuvati kao .vbs (visal basic script).
Ukoliko vam skripa radi ali ne može da dobije vezu ka routeru, proverite port koji router koristi za ovaj protokol i promenite port na 22 ili 23.

Skripta za restart routera preko SSH.

Ovaj način je malo komplikovaniji pošto Windows za razliku od Linuxa, nema ugrađen servis za SSH kao što ima za Telnet i potrebno ga je instalirati.
Softver za SSH pristup po mom izboru je Putty. Preuzmite ga Ovde.

Potrebno je kreirati dva nova txt fajla. U prvi upišite sledeće:

start lokacija\putty.exe -ssh adresa routera -l username -pw password -m lokacija\imefajla.txt

Fajl sačuvajte pod nastavkom .bat.

U drugi .txt upišite "reboot" i sačuvajte ga.

Primer:

start D:\putty.exe -ssh 192.168.0.1 -l admin -pw admin -m D:\komanda.txt

Router bez Telneta ili SSH

Ukoliko imate router čiji vam firmware ne dozvoljava pristup preko ovih servisa, možete postaviti nov firmware na router (npr. OpenWrt). U ovom slučaju bi bilo poželjno da se konsultujete sa nekim ko je već radio tzv. flashovanje routera.


среда, 11. март 2015.

Kompresija i arhivacija 7zip

Arhiviranje je bitna stavka kad se radi o velikoj kolicini podataka koji se kreiraju svakodnevno a morate da ih čuvate.
Nekadašnji popularan program za arhivaciju, WinZip, danas je skoro u potpunosti zamenjen programom WinRar. WinRar je preuzeo vođstvo zahvaljujući besplatnoj verziji za privatne korisnike i mnoštvom drugih mogućnosti koje njegov prethodnik nije imao (.npr automatsko deljenje krupnijih fajlova na više arhiva po veličini koju mu vi zadate).
Ipak, ako vam je potreban softver za kompaniju, WinRar naplaćuje licence za upotrebu a ako niste u mogućnosti da ih kupite ili ne želite da trošite pare na njega, rešenje možete naći u programu 7zip, koji je potpuno besplatan i za privatnu i komercijalnu upotrebu.
7zip podržava kreiranje 2 formata arhiva, a to su univerzalni .zip i njegov sopstveni .7z. .7z ima mnogo jaču kompresiju dok je .zip manje zahtevan što se tiče procesora.
Tokom rada sam naišao na skriptu koja radi kompresiju, pomeranje podataka (iz foldera u folder) i brisanje koristeći program WinRar. Postavite skriptu da radi, odete kući, a kad dođete sutra sve je upakovano i spremno. Zar ne zvuči sjajno? U ovom artiklu ću vam prikazati primer skripte koja vam radi upravo to ali sa besplatnim programom 7zip.



 7z.exe a "d:\ime_foldera\ime_foldera\ime_fajla %DATE:~4,2%.%DATE:~7,2%.%DATE:~-4%.".7z "d:\ime_foldera\*.txt*"




7z.exe - upućuje skriptu da pokrene program 7zip. U slučaju da neće da ga pokrene na ovaj način, 7z.exe morate dodati u "Environmental variables" (My computer - > Properties - > Advanced system settings -> Advanced - > Environmental Variables)


a - označava postupak koji program treba da izvrši, u ovom slučaju to je arhivacija

"d:\ime_foldera\ime_foldera\ime_fajla %DATE:~4,2%.%DATE:~7,2%.%DATE:~-4%.".7z

- u ovom delu je potrebno upisati putanju gde će novonastali fajl da bude smešten. Uz ime fajla koji zadate možete dodati i datum arhivacije (npr. backup_11.03.2015.) tako da će po imenu znati datiranje podataka. Ja sam obeležio 3 sloga u ovom delu, prvi predstavlja dan, drugi mesec, treći godinu(redosled napravite kako želite). Na kraju se dodaje ekstenzija koju želite da arhiva dobije. Ekstenzija može biti .zip i .7z, zavisno da li vam je potrebna jača kompresija ili manje opterećenje procesora.

"d:\ime_foldera\*.txt*" - predstavljalokaciju fajla koji treba da se kompresuje, kao i ekstenziju koja treba da se kompresuje. On će ovom komandom sve fajlove sa ovom ekstenzijom staviti u 1 arhivu.


 move d:\ime_foldera\*.txt* "d:\ime_foldera\"

move  - komanda za premeštaj podataka

d:\ime_foldera\*.txt* - predstavlja lokaciju sa koje treba da se pomere podaci, kao i vrstu podataka koja treba da se pomeri.

"d:\ime_foldera\" - predstavlja odredište fajlova. Ukoliko želite da brišete, ovde možete staviti "C:\$Recycle.Bin" za windows 7 i 8. Za starije verzije nađite putanju do korpe i upišite je.

del d:\ime_foldera\*.txt*

del - brisanje

d:\ime_foldera\*.txt* - lokacija fajlova za brisanje, kao i ekstenzija fajlova za brisanje.


Skripta koja bi kreirala arhivu na određeno mesto a potom brisala početni fajl:

7z.exe a "d:\ime_foldera\ime_foldera\ime_fajla %DATE:~4,2%.%DATE:~7,2%.%DATE:~-4%.".7z "d:\ime_foldera\*.txt*"

 del d:\ime_foldera\*.txt*


 








четвртак, 5. фебруар 2015.

Exchange server Event ID 2005



Problem sa Exchange sertifikatom nakon instaliranja Lync server

Nakon instaliranja Lync server, na Exchange server se pojavilo upozorenje u logovima:

Log Name: Application
Source: MSExchange Certificate Deployment
Date: 6/8/2014 4:00:50 AM
Event ID: 2005
Task Category: General
Level: Warning
Keywords: Classic
User: N/A
Computer: server.domain.com

Log Name: Application
Source: MSExchange OAuth
Date: 6/8/2014 1:25:41 PM
Event ID: 2004
Task Category: Configuration
Level: Warning
Keywords: Classic
User: N/A
Computer: server.domain.com

Problem sa sertifikatom “Microsoft Exchange Server Auth Certificate”

A evo I resenja:
Potrebno je kreirati nov sertifikat I to

1.      New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn= Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -Services smtp
Ne prihvatati da se zameni SMTP sertifikat I zabeleziti thumbprint od novog sertifikata, u mom slucaju je “7A39541F8DF58D4821967DF8F899B27410F7C075”
2.      $a=get-date
3.      Set-AuthConfig -NewCertificateThumbprint 7A39541F8DF58D4821967DF8F899B27410F7C075 –NewCertificateEffectiveDate $a
4.      Set-AuthConfig –PublishCertificate
5.      Set-AuthConfig –ClearPreviousCertificate
6.      Restart IIS I Exchange Transport servisa

I to je to

четвртак, 4. децембар 2014.

Exchange podesavanje anti-spam i anti-malware agenta



I tako instalirao ja Exchange 2013, radilo sve super do nekog momenta I onda se pojavi moja IP adresa na nekoj crnoj listi J.

Gde god da sam gledao, navodno moj Exchange server salje spam poruke. I sta sad?

Evo kratkog uputstva sta treba uraditi nakon instaliranja I konfigurisanja exchange servera

Exchange ima integrisan anti-spam I anti-malware koji po defoltu nisu ukljuceni, tako da je prvo potrebno to ukljuciti ukoliko se ne koristi neka druga aplikacija.

Sve se radi u exchange shell-u

1.     Enejblovanje anti-spam: Install-AntiSpamAgents.ps1

Skripta koju je potrebno pokrenuti kroz exchange shell, na primer:

D:\ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1

Ukoliko prodje bez greske, to je to, potrebno je nakon instalacije restartovati Microsoft Exchange Transport Service I to se radi komandom

Restart-Service MSExchangeTransport
 

2.     Enejblovanje anti-malware: Update-MalwareFilteringServer.ps1

Isto skripta koja se pokrece kroz exchange shell

D:\ExchangeInstallPath\Scripts\Update-MalwareFilteringServer.ps1 -Identity mail.domain.co.rs

I nakon toga treba podesiti anti-malware policy


U svakom slucaju, ovo moze da se resi uz neka dodatna podesavanja I skriptom koja u mom slucaju izgleda ovako:


D:\ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1

Restart-Service MSExchangeTransport

D:\ExchangeInstallPath\Scripts\Update-MalwareFilteringServer.ps1 -Identity mail.domain.co.rs

Add-IPBlockListProvider -name bl.spamcop.net -lookupdomain bl.spamcop.net

Add-IPBlockListProvider -name zen.spamhaus.org -lookupdomain zen.spamhaus.org

Set-SenderIDConfig -SpoofedDomainAction Delete

Set-SenderReputationConfig -SenderBlockingEnabled $true -SrlBlockThreshold 6 -SenderBlockingPeriod 36

Set-SenderFilterConfig -BlankSenderBlockingEnabled $true

Set-ContentFilterConfig -SCLQuarantineThreshold 6

Set-ContentFilterConfig -SCLDeleteEnabled $true

Set-ContentFilterConfig -SCLQuarantineEnabled $true -QuarantineMailbox nikola.batinica@domain.co.rs

Set-ContentFilterConfig -SCLRejectEnabled $false

Skripta instalira anti-spam agent, restartuje servis I onda instalira anti-malware agent. Nakon toga skripta dodaje provajdere crne liste, ja sam izabrao spamcop I spamhaus. Nakon toga zabranjuje slanje mejlova koji u sebi ne sadrze from polje I na kraju podesava karantin, koji je u ovom slucaju moj mailbox tako da cu znati ukoliko neko salje spam poruke.

Nakon svega toga, pojavio se drugi problem J a to je da sam konstantno dobijao poruke

Delivery of this message to the following recipients or groups is quarantined:
HealthMailboxb194110f43af4e40bab197217e78e76c@domain.co.rs
Subject: Inbound proxy probe
Diagnostic information for administrators:
Generating server: mail.domain.co.rs


 Kad sam pokusao da izvrsim komandu
Get-Mailbox -Monitoring | Get-MailboxStatistics | ft DisplayName,ItemCount,LastLogonTime

Dobio sam izuzetnu kolicinu crvenih redova

WARNING: The object corp.jeanedwards.com/Microsoft Exchange System Objects/Monitoring
Mailboxes/HealthMailbox5080fe21fac14746b352d7de663fdcf9 has been corrupted, and it's in an inconsistent state. The following validation errors happened:

Ovaj problem moze da se resi tako sto ce se u ADSI Edit obrisati mailbox-ovi za sve Health koji imaju problem, ja sam obrisao sve J ali prilikom restartovanja servisa kreirana su tri nova healthmailbox-a I nakon toga sve radi ok.

Ukoliko treba da neku mejl adresu pustite iako se nalazi na blacklist, to se moze uraditi

$list = (Get-ContentFilterConfig).BypassedSenders
$list.add("mail@domain.com")
Set-ContentFilterConfig -BypassedSenders $list








уторак, 21. октобар 2014.

Powershell skripta za bekap

Ova skripta preuzima spisak fajlova (lokacija, destinacija za bekap, rename) i po spisku kopira sve gajlove na odredjene lokacije, dodatno postoji i polje rename koje, ukoliko je "YES" preimenuje fajl



$1 = import-csv C:\Test\Book1.csv
$date = (Get-Date).ToString('yyyy-MM-dd')
foreach ($file in $1) {
$rename = $file.rename
If ($rename -eq "Yes") {$putanja = $file.putanja
    $destinacija = $file.destinacija
    $fileproperty = Get-ItemProperty -Path $putanja
    $filename = $fileproperty.BaseName
    $filextension = $fileproperty.Extension
    $Renamed = $filename+'_'+$date+$filextension
    Copy-Item -Path $putanja -Destination $destinacija\$Renamed}
else {$putanja = $file.putanja
    $destinacija = $file.destinacija
    $fileproperty = Get-ItemProperty -Path $putanja
    $name = $fileproperty.name
    Copy-Item -Path $putanja -Destination $destinacija\$name}
}

CSV fajl treba da bude sa sledecim kolonama: putanja,destinacija, rename

среда, 2. јул 2014.

Brisanje Healthy (Recovery Partition) i Healthy (EFI System Partition) particije

1. Otvoriti CMD kao administrator.

2. Pokrenuti DISKPART tako sto ce se u CMD ukucati DISKPART.

3. U diskpart ukucati LIST DISK da bi izlistao sve HDD.

4. Izabrati disk, ukoliko postoji samo jedan disk treba kucati SELECT DISK 0

5. Nakon izbora diska, kucate LIST PARTITION da bi se izlistale sve moguce particije.









6. Izabrati particiju koju zelite da obrisete komandom SELECT PARTITION x(broj particije) Vazno je da pazite da ne pogresite sa izborom particije

7. I na kraju komandom DELETE PARTITION OVERRIDE brisete izabranu particiju.