Network info – Batch script

Network info – Batch script

Network Info - Batch script

Salutare tuturor!

Nu am mai scris de ceva vreme, fiind ocupat cu alte proiecte, dar astăzi voi încerca să revin cu noi articole.

Vreau să vă prezint o metoda simplă de a obține informații despre conexiunile la rețea ale unui calculator (Network Info), care să fie scrise apoi într-un fișier .txt într-un share pe rețea. În acest articol am să vă arăt cum putem face toate acestea printr-un simplu program. Astăzi vom face scripting. 

M-am gândit să vă arat, de fapt, două metode la îndemâna tuturor pe Windows.

Să începem!

Prima metoda – Batch script

Pentru această metodă voi folosi Notepad. Cred că toată lumea a folosit până acum acest editor de text foarte simplu. Pentru cei care nu l-au folosit, acesta poate fi pornit din meniul Start al Windows-ului.

A. Informații necesare și comenzi

  • Pentru că pe rețea pot exista mai multe calculatoare și doresc să obțin o listă cu informațiile plăcilor de rețea ale fiecărui calculator, voi folosi comanda hostname .

Această comandă va citi numele calculatorului.

  • Mai am nevoie și de data citirii informațiilor de pe calculator pentru a putea ști care informații sunt cele mai recente. Acest lucru îl voi obține prin comanda echo %date% .
  • În acest moment mai avem nevoie doar de informațiile legate de placa de rețea sau de plăcile de rețea ale calculatorului. Cu comanda ipconfig /all voi obține aceste informații.
  • Pentru a introduce un despărțitor în listă și a fi mai ușor de citit informațiile voi folosi comanda echo urmată de un caracter la alegere. Eu am ales _ .

B. Codul

Voi deschide Notepad-ul și voi pune cap la cap toate comenzile de mai sus pentru a scrie codul. Acesta arată așa:

@echo off
hostname
echo %date%
ipconfig /all
exit 

După ce am scris codul îl voi salva. Am să îl salvez cu numele network.bat. Nu uitați ca la câmpul Save as type să alegeți All Files (*.*)

Atenție! Extensia fișierului trebuie să fie .bat, nu .txt, altfel codul nu va rula.

În Windows 10 puteți vizualiza extensiile fișierelor prin activarea acestora din File Explorer ca în imaginea de mai jos.

Click pe meniul View, iar apoi bifați căsuța File name extensions.

Există posibilitatea ca, la salvare, fișierul să aibă numele network.bat.txt . Dacă acesta are extensia de forma .bat.txt, trebuie să ștergeți .txt de la final. Fișierul trebuie să se numească network.bat, altfel nu va funcționa.

Atenție! După cum se vede, am folosit 2 comenzii pe care nu le-am explicat. Acestea pot lipsi din script, dar eu am ales să le folosesc pentru că, @echo off va rula comenzile din script în spate, fără a deranja utilizatorul și exit, pentru a închide scriptul.

Network Info
notepad batch script

C. Scrierea informațiilor într-un fișier

Dacă veți rula codul de mai sus, se va deschide o fereastră CMD care va rula codul și se va închide imediat după ce a terminat. Eu vreau ca informațiile culese de cod să fie scrise într-un fișier.

  • Scriere locală

Voi începe prin a scrie local, pe calculator, aceste informații. Pentru acest lucru voi modifica codul astfel:

@echo off
Hostname >> “C:\Users\7hub\Desktop\network.txt”
echo %date% >> “C:\Users\7hub\Desktop\network.txt”
ipconfig /all >> “C:\Users\7hub\Desktop\network.txt”
echo __________________________________________________ 
exit 

Scriptul va crea automat un fișier cu numele network.txt unde va scrie toate informațiile cerute de mine în script. Conținutul pentru calculatorul local, de pe care am rulat scriptul, arată astfel:

Network Info
Network info
  • Scriere în network share (pe rețea)

Va trebui să modific puțin scriptul pentru a trimite informațiile culese pe un share în rețea. Eu am creat un folder pentru share cu numele, Share aflat pe un calculator cu numele FileShare. Share-ul poate fi pe un server, pe un calculator, NAS sau orice aveți la dispoziție. Singura condiție este să poată fi accesibil de către script astfel încât să poată crea fișierul cu informații. Noul script modificat arată astfel:

@echo off
Hostname >> "\\Fileshare\Share\network.txt"
echo %date% >> "\\Fileshare\Share\network.txt"
ipconfig /all >> \\Fileshare\Share\network.txt
echo __________________________________________________ >> "\\Fileshare\Share\network.txt"
exit 

După cum se poate vedea în imaginea de mai jos, fișierul network.txt a fost creat în calea \\Fileshare\Share\ .

Network Info
Network info

D. Adăugare trigger

Pentru că scopul unui script de cele mai multe ori este să ajute la automatizarea unor operațiuni, pe rețea, m-am gândit să creez un trigger. Scopul trigger-ului este acela de a verifica dacă anumite condiții sunt îndeplinite. De exemplu, în cazul meu, vreau să nu mai rulez scriptul dacă acesta a mai rulat cel puțin o dată pe același calculator.

Cum voi face asta? Simplu! Modific codul astfel:

  • Creare trigger

Trigger-ul va consta în verificarea unui fișier existent pe calculatorul pe care rulează scriptul. Dacă acest fișier există, scriptul nu va rula, dar, daca nu există, scriptul va rula.

Voi introduce în cod o condiție cu ajutorul funcțiilor IF și ELSE.

Iar pentru a crea un fișier pe calculator voi folosi comanda hostname > “C:\Users\7hub\hostname.txt”

Eu am ales sa creez un fișier text, cu numele hostname, ce conține numele calculatorului. Se poate crea chiar și un fișier gol.

Scriptul modificat:

if EXIST "C:\Users\7hub\hostname.txt" (
exit
) ELSE (
Hostname >> "\\Fileshare\Share\network.txt"
echo %date% >> "\\Fileshare\Share\network.txt"
ipconfig /all >> "\\Fileshare\Share\network.txt"
echo __________________________________________________ >> "\\Fileshare\Share\network.txt"
hostname > "C:\Users\7hub\hostname.txt"
)
 

E. Rulare

Rularea scriptului se poate face manual prin dublu click pe network.bat sau prin aplicația Task Scheduler. Cum configurați Task Scheduler pentru a rula acest script am să vă arăt într-un articol viitor.

Download Scripts

Scripturile create în acest articol pot fi descărcate și folosite gratis, dând click pe iconița de mai jos.

Learn More @

Am să las mai jos câteva link-uri de unde poți afla mai multe despre batch scripting și ce este batch scripting-ul.

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!