Repozitorij korisnih admin-skripti izdvojena tema

poruka: 16
|
čitano: 3.247
|
moderatori: Danny_HR, F1-IVO, naxeem, Lazarus Long
1
+/- sve poruke
ravni prikaz
starije poruke gore
2 godine
offline
Repozitorij korisnih admin-skripti

Osnovna ideja kod pokretanja ove teme je da napravimo svojevrtan repozitorij korisnih skripti koje nam svima mogu pomoći kod svakodnevnih admin taskova. Idealno bi bilo da stavljate svoje skripte, ali ako naletite na neku zgodnu na Netu i mislite da bi bila korisna nitko vam ne brani da ju postate. U tom slučaju bi svakako bilo poželjno da takve skripte istestirate prije objavljivanja kako ne bi završili sa hrpom postova "Uh, sorry što ne radi - nisam ni ja probao, samo sam c/p odnekud". Naravno, diskusije i kritike skripti, kao i rasprave o mogućim poboljšanjima su poželjnje sve dok su konstruktivne.

 

 

!!VAŽNO!! Uz sam kod skripte, popunite i dodatna polja da bi drugima omogućili brže snalaženje i pretraživanje:

 

Naziv i verzija: ...

Kratki opis: ...

Vrsta: ...

Programi i/li biblioteke potrebne za rad: ...

Dodatne napomene: ...

Kod: ...

Primjer korištenja: ...

 

 

Evo, otvorit ću temu sa jednom vlastitom koju sam baš složio prije pola sata da dobijete ideju kako bi to moglo izgledati:

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
Poruka je uređivana zadnji put uto 16.11.2010 17:09 (vlad0).
2 godine
offline
Repozitorij korisnih admin-skripti

Naziv i verzija:

MiniARPing 1.0a (by Vlad0)

 

 

Kratki opis:

Vraća IP i MAC adrese za traženi FQDN (Fully Qualified Domain Name).

 

 

Vrsta:

Windows batch

 

 

Programi i/li biblioteke potrebne za rad:

- Ping

- ARP

 

 

Dodatne napomene:

Radi samo u LAN-u (ograničenje zbog ARP-a).

 

 

Kod:

miniarping.bat

REM MiniARPing 1.0a (by Vlad0)@ECHO OFFSET IP=SET IPduzina=SET MAC=FOR /F "tokens=2,3 delims= " %%A IN ('PING -n 1 %1') DO IF "%%A"=="%1" SET IP=%%BSET IP=%IP:[=%SET IP=%IP:]=%SET IP=%IP: =%SET #=%IP%SET IPduzina=0:loopIF DEFINED # (SET #=%#:~1%&SET /A Ipduzina += 1&GOTO :loop)if %IPduzina% LSS 7 GOTO :neidepingFOR /F "delims=" %%A IN ('ARP -a %IP%') DO SET MAC=%%ASET MAC=%MAC: =%CALL SET MAC=%%MAC:~%IPduzina%,17%%GOTO :ispis:neidepingSET IP=N/ASET MAC=N/A:ispisECHO ===============================ECHO  FQDN: %1ECHO -------------------------------ECHO  IP adresa: %IP%ECHO  MAC adresa: %MAC%ECHO ===============================

 

 

Primjer korištenja:

miniarping.bat pingable.nekadomena.local
===============================
 FQDN: pingable.nekadomena.local
--------------------------------------------------------
 IP adresa: 192.168.0.123
 MAC adresa: 00-0e-0c-33-22-1a
===============================

miniarping.bat unpingable.nekadomena.local
===============================
 FQDN: unpingable.nekadomena.local
--------------------------------------------------------
 IP adresa: N/A
 MAC adresa: N/A
===============================

Retry. Reboot. Reinstall. Reformat. // Sve se hoće kad se može. ;)
Poruka je uređivana zadnji put uto 16.11.2010 16:05 (vlad0).
2 godine
offline
Exchange 2007/2010 skripte

Naziv i verzija:

QUEUE Izvještaj na e-mail by cekpi (picek1@gmail.com
 

 

Kratki opis:

Powershell skripta koja provjera queue stanje na exchange 2007/2010 serveru

 

Vrsta:

Exchange powershell/Windows  batch

 

 

Programi i/li biblioteke potrebne za rad:

- Exchange powershell

 

 

Dodatne napomene:

Ne kuha kavu

 

### naziv e-mail servera
$smtpServer = "FQDN exchange servera (hub ili edge rola)"

### skupljanje statistike
$b = Get-Queue | fl | out-string

### Kreiranje nove poruke
$msg = New-Object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)

### Definiranje kome se i od koga se šalje
$msg.From = ("administrator@mojadomena.com")
$msg.To.Add("moje.ime@mojdomen.com")

### Naziv poruke
$msg.Subject = "Queue na XY serveru"

### Dodavanje statistike u tijelo e-mail-a
$msg.Body = "Dragi moji Admini, u privitku Vam se nalazi izvještaj. Ugodan dan želi Vam skripta"
$msg.Body = $b

### Slanje poruke
$smtp.Send($msg)

 

 

Korištenje:

- spremanje kao *.ps1 i ručno pokretanje kroz shell

- Pokretanje ručno ili putem schedulera preko batch skrpte koja glasi:

    @echo off
PowerShell.exe -PSConsoleFile "E:\Exchange 2007\bin\exshell.psc1" -Command "C:\skripte\QUEUE_SKRIPTA\slanje_queue.ps1"

kod mene normalno radi.....
Poruka je uređivana zadnji put uto 16.11.2010 17:02 (cekpi).
2 godine
offline
Exchange 2007/2010 - veličine mailboxa

Naziv i verzija:

Mailbox statistika na e-mail by cekpi (picek1@gmail.com
 

 

Kratki opis:

Powershell skripta koja provjera zapunjenost pojedinog mailbox-a naExchange 2007/2010 serveru

 

Vrsta:

Exchange powershell/Windows  batch

  

Programi i/li biblioteke potrebne za rad:

- Exchange powershell

  

Dodatne napomene:

Ni ova ne kuha kavu

 

###Naziv e-mail servera
$smtpServer = "FQDN exchange servera"

###Skupljanje i sortiranje mailbox statistike
Get-Mailbox -OrganizationalUnit "OU u kojem se nalaze useri" | get-MailboxStatistics | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}} , storagelimitstatus > mailboxes.txt

###Skupljanje informacija o limitima za pojedinog usera
get-Mailbox -OrganizationalUnit "OU u kojem se nalaze useri" | ft name, issuewarningquota >> mailboxes.txt

###Kreiranje e-mail poruke i dodavanje attachmenta
$msg = New-Object Net.Mail.MailMessage
$att = new-object Net.Mail.Attachment("mailboxes.txt")
$smtp = new-object Net.Mail.SmtpClient($smtpServer)

###Slanje poruke
$msg.From = ("administrator@mojadomena.com")
$msg.To.Add("moje.ime@mojadomena.com")
$msg.Subject = "Informativni podatak o tome koliko megabajta tuđih mejlova moraš pročitati"
$msg.Body = "Dragi moji Admini, u privitku Vam se nalazi ono uz subject polja. Ugodan dan želi Vam skripta."
$msg.Attachments.Add($att)
$smtp.Send($msg)

###Puštanje attachmenta
$att.Dispose()

 

Korištenje:

- spremanje kao *.ps1 i ručno pokretanje kroz shell

- Pokretanje ručno ili putem schedulera preko batch skrpte koja glasi:

PowerShell.exe -PSConsoleFile "E:\Exchange 2007\bin\exshell.psc1" -Command "C:\skripte\mailbox_statistika\slanje2.ps1"

kod mene normalno radi.....
4 godine
offline
Repozitorij korisnih admin-skripti

Bravo decki, odlicna tema!

Mi smo na putu da budemo na putu prema izlazu iz krize [GOOGLE TRANSLATOR]: Na putu prema dolje
2 godine
offline
RE: Repozitorij korisnih admin-skripti

Naziv i verzija:

ISADeleteCacheContent 1.0

 

Kratki opis:

Briše sadržaj cache datoteka ISA servera.

 

Vrsta:

VBS

 

Dodatne napomene:

Resetira Firewall servis (što može potrajati koju minutu).

 

Kod:

Sub DeleteCacheContents()Dim rootSet root = CreateObject("FPC.Root")Dim serverDim cacheDrivesDim cacheDriveDim fsoSet server = root.GetContainingServer()server.StopFirewallService()Set cacheDrives = server.CacheDrivesSet fso = CreateObject("Scripting.FileSystemObject")For Each cacheDrive In cacheDrivescacheFilePath = CacheDrive.Name & "\urlcache\Dir1.cdat"fso.DeleteFile cacheFilePathNextserver.StartFirewallService()WScript.Echo "ISA chache datoteke su prazne."End SubDeleteCacheContents

 

Primjer korištenja:

Spremiti kod kao ISADeleteCacheContent.vbs i onda dvoklik na nju.

Retry. Reboot. Reinstall. Reformat.
Poruka je uređivana zadnji put sri 26.1.2011 10:11 (vlad0).
2 godine
offline
Repozitorij korisnih admin-skripti

Mapiranje mrežnog diska :

 

 

on error RESUME NEXT

strDrive = "Z:"

strPath = "\\share\share

strUser = "DOMENA\korinsik

strPassword = "sifra_sustava"

boolPersistent = True ' True = Persistent ; False = Not Persistent

set objNetwork = WScript.CreateObject("WScript.Network")

objNetwork.MapNetworkDrive strDrive, strPath, boolPersistent, _

 strUser, strPassword

msgbox( "Disk je mapiran ")

 

 

 

Spremite kao VBS , mjenjate podcrtane vrijednosti , meni ovo pomoglo dosta puta.

 

Korištenje mrežnog printera i vezanje na LPT 

 

 

@echo off

net use lpt1 /d

net use lpt1 \\192.168.100.113\SamsungPrinter /p:Yes

 

 

Spremite kao BAT i pokrenete mjenjate podcrtano.

 

 

I'm from Hollywood
Poruka je uređivana zadnji put sri 26.1.2011 12:38 (woodgamesfx).
2 godine
offline
Repozitorij korisnih admin-skripti

Naziv i verzija:

PortStat 1.0a (by vlad0)

 

Kratki opis:

Daje detaljne informacije o procesu koji "sjedi" na nekom lokalnom TCP portu.

 

Vrsta:

Windows batch

 

Programi i/li biblioteke potrebne za rad:

netstat (dolazi s Windowsima)

tasklist (dolazi s Windowsima)

 

Dodatne napomene:

EDIT: Na Windows Vista i 7 OS-evima cmd mora biti pokrenut s elevated ovlastima da bi netstat i tasklist radili kako treba.

Skripta gleda samo portove u LISTENING stanju. Ako vam trebaju dodatna stanja, editirajte kod skripte (pogledajte netstat info).

Ako vam trebaju dodatne informacije o procesu, editirajte kod skripte (pogledajte tasklist info).

 

Kod:

PortStat.bat

@ECHO OFF
ECHO.
SET pid=
FOR /F "delims=" %%a in ('netstat -anob -p TCP ^|findstr ":%1" ^|findstr "LISTENING"') DO SET pid=%%a

IF DEFINED pid (
GOTO pidpostoji
) ELSE (
GOTO pidnepostoji
)

:pidpostoji
ECHO   Proto  Local Address          Foreign Address        State           PID
ECHO===============================================================================
ECHO %pid%
SET pid=%pid:~-11%
FOR /f "tokens=* delims= " %%a in ("%pid%") DO SET pid=%%a
tasklist /fi "PID eq %pid%"
tasklist /fi "PID eq %pid%" /svc
tasklist /fi "PID eq %pid%" /m
GOTO kraj

:pidnepostoji
ECHO Port %1 is not taken.
ECHO.

:kraj

 

 

Primjer korištenja:

PortStat PORT

 

portstat 80


  Proto  Local Address          Foreign Address        State           PID
==============================================================================
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       6080

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
httpd.exe                     6080 Services                   0     15.280 K

Image Name                     PID Services
========================= ======== ============================================
httpd.exe                     6080 wampapache

Image Name                     PID Modules
========================= ======== ============================================
httpd.exe                     6080 ntdll.dll, wow64.dll, wow64win.dll,
                                   wow64cpu.dll

 

portstat 25


Port 25 is not taken.

 

@mbaksa

Hvala za ideju! {#}

Retry. Reboot. Reinstall. Reformat.
Poruka je uređivana zadnji put sri 23.2.2011 10:44 (vlad0).
3 godine
protjeran
offline
Repozitorij korisnih admin-skripti

Zakon tema-glasam za sticky!! {#}

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697 ili posjetite stranicu- http://mobiservis.webs.com/
2 godine
offline
Repozitorij korisnih admin-skripti

moze linux ilti unix verzija sa perlom i pythonom? :)

ajde neka "smisljator" teme napravi novu sa linux skriptama, tako da nam bude svima lakse...:)

mjenjam sobnu lampu za dvosobnu..
16 mjeseci
offline
Re: Repozitorij korisnih admin-skripti
mihaeeel kaže...

moze linux ilti unix verzija sa perlom i pythonom? :)

ajde neka "smisljator" teme napravi novu sa linux skriptama, tako da nam bude svima lakse...:)

Stvar je u tome da za lnux servere ne trebaš izmišljati toplu vodu sa tamo nekim skriptama. Bash shell je sasvim dovoljan i 4 000 godina ispred batcha i onog smijeha od windows "power" shell-a.

Drago mi je.
2 godine
offline
Repozitorij korisnih admin-skripti

BASH je jednostavniji masu od batcha. Nebo i zemlja. No ne kvarimo momcima temu, go for it boys!

Nista nije sveto sve je bruto i neto, sve je zabava!
2 godine
offline
Repozitorij korisnih admin-skripti

@mihaeeel

Mislim da nema potrebe za otvaranjem zasebne teme - postoji predviđeno polje "Vrsta" u kojem kažeš za koju platformu je skripta namjenjena. To što su dosad svi postali skripte za Windoze ne znači ništa (osim možda da su Win admini aktivniji od svojih *nix kolega, hehe;).

 

@Bypass

Nemoj se ljutiti, ali PowerShell prvo treba znati koristiti (jednako kao i bash), a tek onda suditi o njemu. A netko tko je proveo X vremena razvaljujući PS sigurno neće davati takve izjave jer zna da je riječ o vrlo, vrlo moćnom alatu.  Mogu se doduše složiti da je usporedba batch-bash na razini mogućnosti bespredmetna, ali takve usporedbe ionako nemaju baš previše smisla. Batch je u krajnoj liniji također alat - možda nešto jednostavniji - ali ako se nešto može obaviti / automatizirati koristeći upravo batch, ne vidim zašto to ne iskoristiti tu mogućnost. Krajnji cilj je ionako ušteda vremena i smanjivanje mogućnosti pogrešaka, pa ako je to doista i ostvareno, ne vidim zašto bi se itko bunio oko načina stizanja do cilja?

 

 

 

@svi

Samo da raščistimo unaprijed: ovo nije tema za Windows / *nix flame warove, držite se teme. Ako želite raspravljati o razlikama između Windowsa i *nixeva, iskoristite neku već postojeću temu na Bug forumu. Ovdje su tema korisne admin skripte, bez obzira na platformu. Hvala na razumijevanju.

Retry. Reboot. Reinstall. Reformat.
2 godine
offline
Repozitorij korisnih admin-skripti

MS Community je objavio besplatan priručnik za upravljanje Windows Server 2008 R2 Core inačicama poslužitelja.

 

Priručnik je na hrvatskom jeziku i mislim da svatko ko ima ili razmišlja o core edicijama bi trebao bacit pogled.

 

Obrađene teme su:

- Značajke Core edicija

- Instalacija i aktivacija

- Inicijalno podešavanje

- Uobičajene administrativne radnje

- Pregled CLI naredbi

 

 

http://www.mscommunity.hr/News/Details/fa1c57da-f8c3-4adf-ab8a-990923800b45

kod mene normalno radi.....
2 godine
offline
Re: Repozitorij korisnih admin-skripti

Naziv i verzija:

BriseTmp 1.2

 

Kratki opis:

Briše sadržaj temporary mapa od "current user" i Windows(%SystemRoot%).

 

Vrsta:

Windows batch

 

Dodatne napomene:

Nema upozorenja i obavijesti (pogodan kao dio veče skripte).

 

Kod:

BriseTmp.bat   

@echo offFOR /F "DELIMS=" %%? IN ('DIR/B/AD %TEMP%\*') DO RD/S/Q "%TEMP%\%%~?" >nul 2>&1DEL/F/A/Q %TEMP%\*.*  >nul 2>&1DEL/F/A/Q %SystemRoot%\temp\*.*  >nul 2>&1

 

 

Korištenje:

- Samo pokreni i pomoli se.

 

 

2 godine
offline
Repozitorij korisnih admin-skripti

Naziv i verzija:
Hyper-V Export 0.5



Kratki opis:

Exportira definirane VM-ove koji se vrthe na Hyper-V platformi. Korisno ako se npr. želi napraviti brzi full backup VM-ova.



Vrsta:

Windows PowerShell 1.0



Dodatne napomene:

1. Ako već niste, morat ćete podesiti PS execution policy da bi se ovo moglo odvrtiti:

set-executionpolicy remotesigned

2. Prije pokretanja promijenite nazive $guest varijabli tako da odgovaraju nazivima vaših VM-ova u Hyper-V-u (u expbackup.ps1). Možete slobodno dodavati / brisati VM-ove iz ovog popisa i backupirati samo one koje želite.
3. Prije pokretanja promijenite $script_dir i $dest varijable (u expbackup.ps1) kako vam odgovaraju.



Kod:

expfunction.ps1
$VM_Service = get-wmiobject -namespace root\virtualization Msvm_VirtualSystemManagementService
$VM = gwmi -namespace root\virtualization -query "select * from msvm_computersystem where elementname='$guest'"   
$VMReturnState = $VM.EnabledState   
$VMName = $VM.ElementName   

if (($VM.EnabledState -eq 2) -or ($VM.EnabledState -eq 32768) -or ($VM.EnabledState -eq 32770))   
{       
   $VM.RequestStateChange(32769)       
   $curtime = get-date -f HH:mm:ss       
   echo "$curtime >> Spremanje stanja: $VMName"   
}   

while (!($VM.EnabledState -eq 32769) -and !($VM.EnabledState -eq 3))   
{       
    Start-Sleep(1)       
    $VM = get-wmiobject -namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='$VMName'"   
}
    $curtime = get-date -f HH:mm:ss
    echo "$curtime >> Exportiranje..."
    $status = $VM_Service.ExportVirtualSystem($VM.__PATH, $True, "$dest\$timestamp")
    if ($status.ReturnValue -eq 4096)
    {
        $job = [Wmi]$status.Job
       while (!($job.PercentComplete -eq 100) -and ($job.ErrorCode -eq 0))
        {
            Start-Sleep(10)
            $job = [Wmi]$status.Job
            $curtime = get-date -f HH:mm:ss
         $curperc = $job.PercentComplete
         echo "$curtime >> $curperc%"
        }
    }

$curtime = get-date -f HH:mm:ss
echo "$curtime >> Backup dovrsen i spremljen u $dest\$timestamp\$VMName"
echo ""
$VM.RequestStateChange($VMReturnState)

 

expbackup.ps1

$script_dir = "X:\putanja_do_skripte"
$dest = "X:\putanja_do_backup_mape"
$timestamp = Get-Date -f yyyy-MM-dd_HH-mm

$guest = "Naziv_VM_01"
. "$script_dir\expfunction.ps1"
Start-Sleep(60)

$guest = "Naziv_VM_02"
. "$script_dir\expfunction.ps1"
Start-Sleep(60)

$guest = "Naziv_VM_02"
. "$script_dir\expfunction.ps1"



Primjer korištenja:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe X:\putanja_do_skripte\expbackup.ps1

Retry. Reboot. Reinstall. Reformat.
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice