Exemple de scriere a comenzii Net send. Trimiterea unui mesaj prin linia de comandă către un alt computer. Note despre utilizarea comenzii net send

29.11.2020 Programe

M-am confruntat cu problema informării utilizatorilor, motivul cel mai frecvent este o actualizare 1C, care impune tuturor utilizatorilor mei (și sunt mai mult de 160 dintre ei) să se deconecteze de la 1C și să nu se conecteze de ceva timp. S-ar părea că nu este nimic complicat, puteți trimite un mesaj prin intermediul e-mail, așa cum am făcut înainte când aveam Office 365, dar e-mailul Yandex are limitările sale: nu mai mult de 50 de utilizatori pe lista de corespondență. Daca trimiti Mai mult utilizatori, atunci scrisoarea pur și simplu nu va ajunge la unii. Trimiterea a 50 de utilizatori separat nu este convenabilă. A doua problemă cu e-mail-ul Yandex este necesitatea de a introduce un captcha; în unele cazuri, sistemul percepe corespondența în masă ca spam, dar scrisorile sunt necesare, dacă nu avertizați utilizatorul, acestea nu vor fi salvate la timp și este posibil să existe fii probleme...

În general, a devenit teribil de incomod să trimiți mesaje tuturor utilizatorilor. Am început să mă gândesc la posibile soluții.

Primul lucru care mi-a venit în minte a fost: , dar au apărut câteva inconveniente:

  • Mesajele ajung în aproximativ 30 de minute la 160 de stații de lucru, ceea ce este un timp foarte lung.
  • Mesajul apare doar pe bara de activități; dacă utilizatorul lucrează prin intermediul unui desktop la distanță, el nu va vedea imediat mesajul.
  • Este necesar să se mențină funcționalitatea agenților Kaspersky pe mașinile de lucru ale utilizatorului, altfel mesajul nu va ajunge deloc.

A doua opțiune este să instalați un fel de messenger, dar aici există și câteva inconveniente.

  • Există o mulțime de mesageri, nu sunt universali, nu vă puteți trimite mesaje unul altuia între mesageri.
  • Mesagerii buni sunt plătiți.
  • Mesajele nu apar deasupra tuturor ferestrelor, iar dacă trebuie să comunicați ceva urgent și important, atunci aceasta este o proprietate utilă a mesajului.
  • Necesită instalarea și configurarea acestor mesagerie instant, precum și instruirea utilizatorilor în noul software.

Ca urmare, sunt pe linia de comandă Windows, există comenzi net send și msg pentru a trimite mesaje către toate computerele din rețeaua locală. Totul funcționează foarte simplu, îl deschideți Linie de comanda, scrieți o comandă, se trimite un mesaj către computerul al cărui nume l-ați specificat în textul comenzii. Mai mult, mesajul apare deasupra tuturor ferestrelor, nu este necesară înregistrarea și totul este complet gratuit.

Comanda pentru trimiterea de mesaje către un computer din rețeaua locală arată astfel:

msg * /server:computername „Testați mesajul, faceți clic pe OK”

Am făcut o listă de computere, apoi o muncă puțin obositoare pentru a crea același tip de comenzi într-una singură fișier txt, dar se face rapid prin copy-paste. Principalul lucru este să faci o listă de computere. Într-un domeniu, acest lucru se face destul de simplu prin intermediul snap-in-ului „Utilizatori și computere”, faceți clic dreapta sub lista de computere, apoi „Exportați lista” direct într-un fișier TXT. Deoarece am aproximativ 160 de computere în domeniu, am abordat problema puțin mai creativ, nu am făcut „copy-paste”, dar în lista de computere deja existentă am înlocuit automat prima literă din numele computerului cu msg * /server: + Prima literă din numele computerelor, din fericire pentru mine, a fost la fel pentru toată lumea. La fel pentru a doua parte, dar numai cu ultima literă a numelui computerului (ultima literă din numele computerului + „Testați mesajul, faceți clic pe OK”), ca urmare am primit un fișier TXT cu o listă de comenzi. Am schimbat extensia de fișier din txt la bat și am lansat-o pentru execuție. Ca rezultat, toate computerele din domeniu au primit un „mesaj de testare, faceți clic pe OK”.

Din păcate, o astfel de comandă nu funcționează în afara domeniului și, din moment ce am finalizat sarcina, pur și simplu nu era rațional să experimentez mai departe. Trimiteți mesaje către computere în grup de lucru Nu am reușit, dar am doar câteva astfel de computere. Le puteți trimite un mesaj prin poștă, sau în Kaspersky, sau prin intermediul unui messenger. Să fie acesta un subiect pentru una dintre următoarele intrări.

Drept urmare, ce am primit: 1 fisier in care puteti schimba rapid textul mesajului si cu care pot trimite orice mesaj gratuit tuturor celor din domeniu. Pare grozav, dar există încă câteva dezavantaje:

  1. Este necesar să păstrați fișierul la zi, să adăugați altele noi, să ștergeți computerele inexistente.
  2. Fără feedback prompt.
  3. Fișierul s-a dovedit a fi urât, cred că puteți încărca valorile numelui computerului din fișier în această comandă, dar nu a fost timp să vă dați seama complet.

Cu toate acestea, avantajele depășesc toate contra:

  • Rapid de implementat, practic nu necesită pregătire pentru următoarea expediere.
  • Funcționează în mod fiabil, utilizatorul va vedea cu siguranță acest mesaj.
  • Gratuit.
  • Foarte, foarte simplu, trebuie doar să știi o comandă și numele computerului.

Voi fi bucuros să primesc orice comentarii, sugestii)

Echipă MSG exista în Windows 2000/XP și era destinat schimbului de mesaje între utilizatorii conectați local și utilizatorii sesiunilor terminale (conectate la un desktop de la distanță). În Windows Vista și sistemele de operare de familie ulterioare Comanda Windows MSG a devenit mainstream mijloace standard mesaje pentru că echipa trimite net Acest sistem de operare nu mai este acceptat.

Format linie de comandă:

MSG (utilizator | nume sesiune | ID sesiune | @filename | *) [mesaj]

Descrierea parametrilor liniei de comandă:

utilizator- Nume de utilizator.
numele sesiunii- Numele sesiunii.
Sesiune ID- Sesiune ID.
@nume de fișier- Un fișier care conține o listă de nume de utilizator, sesiuni sau ID-uri de sesiune către care este trimis mesajul.
* - Trimiteți un mesaj către toate sesiunile de pe serverul specificat.
/SERVER:server- Server (implicit - curent).
/TIME:secunde- Interval de așteptare pentru confirmarea din partea destinatarului.
/V- Afișează informații despre acțiunile finalizate.
/W- În așteptarea unui răspuns de la utilizator, util împreună cu /V.
mesaj- Mesajul trimis. Dacă nu este specificat, este emis un prompt sau este acceptată intrarea de la STDIN.

Important!

Implementarea actuală a msg.exe este perfectă pentru schimbul de mesaje între sesiunile utilizatorilor locali și terminali în cadrul aceluiași sistem, totuși, în cazurile de schimb între diferite calculatoare rețeaua locală, va trebui să modificați unele setări de securitate implicite în Windows Vista, 7 și sistemele de operare ulterioare.

La setări standard, mesajul nu este trimis utilizatorilor de computere la distanță și este însoțit de mesajul:

Eroare 1722 la preluarea numelor de sesiuni

Aceasta înseamnă că computerul pe care urmează să fie primit mesajul nu poate obține informații despre utilizatorii conectați. Motivul poate fi faptul că firewall-ul blochează conexiunile de intrare, drepturile utilizatorului în legătură cu sistemul de la distanță sunt insuficiente sau apelurile la procedurile de la distanță sunt interzise în parametrii serviciului terminal server. Cel puțin, pentru mesagerie folosind comanda msgîntre computere, trebuie să aveți un cont de utilizator valabil pentru sistemul de la distanță și să efectuați următoarele setări:

  • pe fiecare computer către care vor fi trimise mesajele, adăugați la cheia de registry HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server parametru AllowRemoteRPC tip REG_DWORD si egali 1 Pentru a modifica setările, puteți utiliza fișierul .reg cu următorul conținut:

    Windows Registry Editor versiunea 5.00
    „AllowRemoteRPC”=dword:00000001

    În Windows Vista, Windows 7, 8, 10 cheie de registry AllowRemoteRPC există, dar are aceeași valoare 0 ce trebuie reparat. Este necesară o repornire pentru ca modificările să intre în vigoare.

  • deoarece utilitarul de mesagerie msg.exe folosește protocolul SMB (Server Message Block), fiecare computer către care vor fi trimise mesajele trebuie să aibă un deschis Port TCP 445

    Exemple de utilizare MSG:

    msg * /server:Server „Mesaj de testare”- trimite un mesaj de testare tuturor utilizatorilor de computer Server

    msg * /server:192.168.0.1 „Mesaj de testare”- trimiteți un mesaj de testare tuturor utilizatorilor unui computer cu o adresă IP 192.168.0.1

    msg RDP-Tcp#0 /server:TSServer „Mesaj de testare”- trimiteți un mesaj de testare unui utilizator de sesiune terminal numit RDP-Tcp#0 pe computer TSServer

    msg console /server:Windows7 „Mesaj de testare”- trimiteți un mesaj de testare utilizatorului actual de computer local Windows 7

    msg consola „Mesajul de testare”- trimiterea unui mesaj de testare de la un utilizator de sesiune RDP către un utilizator local. Dacă această comandă nu este executată de un utilizator de sesiune terminal, atunci mesajul va fi trimis de către utilizatorul local către el însuși.

    Pentru a executa o comandă msg Puteți utiliza utilitarul în numele altui utilizator PSExec din pachet PSTools sau mijloace standard runas.exe

    psexec -u otheruser -p otherpass msg * /server:win10 mesaj TEST

    runas /user:otheruser "msg * /server:win10 Test message"

    Mesaje trimise de echipa msg utilizator local al computerului cu sistem de operare Windows XP care lipsește (nu este încă conectat la Windows) sunt afișate în promptul de conectare și pot fi accesibile altora.

    Verificați dacă sistemul dvs. acceptă comanda msg. Funcționalitatea acestei comenzi este aproape aceeași cu comanda net send neutilizată. Dar această comandă funcționează numai în versiunile profesionale și de întreprindere ale Windows. Dacă lucrezi în Windows Home, faceți upgrade la Professional sau Enterprise pentru a putea folosi comanda msg.

    • Pentru a afla versiunea dvs. de Windows, faceți clic ⊞ Câștigă + Pauză sau faceți clic dreapta pe Computer și selectați Proprietăți. Versiunea Windows va apărea sub Windows Edition.

    Deschideți un prompt de comandă. La fel ca net send, comanda msg este rulată din linia de comandă. Linia de comandă începe căi diferite(în funcție de versiunea dvs. de Windows) sau doar faceți clic ⊞ Câștigăși introduceți cmd.

    • Windows Vista/7: Deschideți Command Prompt din meniul Start.
    • Windows 8.1/10: Faceți clic dreapta pe butonul Start și selectați Command Prompt.
    • Windows 8: Faceți clic ⊞ Câștigă + Xși selectați Command Prompt.
  • Introdu comanda. Tastați msg și apăsați Space. Apoi, trebuie să introduceți informații care conțin textul și direcția mesajului.

  • Identificați destinatarul mesajului.În comparație cu net send, comanda msg are opțiuni suplimentare.

    • msg username – introduceți numele unui anumit utilizator.
    • msg session – Introduceți numele sesiunii specifice.
    • msg ID de sesiune – Introduceți ID-ul de sesiune specific.
    • msg@filename - Introduceți numele unui fișier care conține o listă de nume de utilizator, sesiuni și/sau ID-uri de sesiune. Util pentru trimiterea de mesaje către angajații departamentului.
    • msg * – mesajul va fi trimis tuturor utilizatorilor conectați la server.
  • Specificați serverul cărora doriți să le trimiteți mesajul (dacă doriți). Dacă doriți să trimiteți un mesaj unui utilizator care este conectat la un alt server, introduceți informațiile despre server după informațiile despre destinatar. Dacă nu este specificat niciun server, mesajul va fi trimis către serverul curent.

    • msg * /server: numele serverului
  • Stabiliți o limită de timp (dacă doriți). Puteți seta o limită de timp pentru a specifica cât timp să așteptați confirmarea din partea destinatarului. Modificatorul de timp este introdus după informațiile serverului (dacă există).

    • msg * /time: secunde (de exemplu, 300 de secunde pentru un interval de cinci minute)
  • Introduceți textul mesajului dvs. După introducerea diferiților parametri, introduceți textul mesajului. Sau faceți clic ↵Intră, iar sistemul vă va solicita să introduceți textul mesajului într-o linie separată.

    • De exemplu: msg @salesteam /server:EASTBRANCH /time:600 Felicitări pentru creșterea vânzărilor în acest trimestru!
  • Trimite un mesaj. Pentru a face acest lucru, faceți clic ↵Intră. Destinatarul îl va primi imediat.

    • Comanda msg este concepută pentru a trimite mesaje către utilizatorii terminalului, nu doar către diferite computere conectate la aceeași rețea.
  • Depanați. Când lucrați cu msg, este posibil să întâmpinați următoarele erori:

    • „msg” nu este recunoscut ca o comandă internă sau externă, program operabil sau fișier batch. (msg nu este recunoscut ca o comandă internă sau externă, program executabil sau fișier batch). În acest caz Versiunea Windows nu acceptă msg. Upgrade Windows la versiunea Professional.
    • Eroare 5 la obținerea numelor de sesiune sau Eroare 1825 la obținerea numelor de sesiune. Eroare la comunicarea cu destinatarul. Puteți încerca să rezolvați această problemă prin deschiderea editorului de registry pe computerul destinatar (pentru a face acest lucru, executați comanda regedit), mergând la HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server și modificând setarea AllowRemoteRPC de la 0 la 1.
  • Notă

    Dacă firewall-ul nu este dezactivat, atunci programul Nassi ar trebui incluse în excepțiile sale.

    Trimite comanda mesaje text Trimitere net

    Mesajele text printr-o rețea locală pot fi trimise nu numai către programe speciale(Radmin, Nassi), dar și din linia de comandă Windows XP. Echipă Trimitere net servește la trimiterea de mesaje text către un alt computer accesibil în rețea. Cu toate acestea, pentru a echipă a funcționat, trebuie să activați inițial serviciul de livrare a mesajelor. Pentru a face acest lucru, accesați Panou de control. Deschide folderul Administrare, Servicii. Găsiți serviciul de mesagerie în listă (Fig. 20.9).

    Orez. 20.9.

    Deschideți proprietățile sale. Selectați sens Auto din lista Tip de lansare dacă doriți ca serviciul să pornească automat la pornire Windows. Apoi faceți clic pe butonul startȘi Bine(Fig. 20.10 și Fig. 20.11).

    Orez. 20.10.

    Orez. 20.11.

    Să ne uităm la exemple de utilizare a comenzii trimite net când trimiteți mesaje în grupul de lucru (domeniul) 110. Pentru a trimite un mesaj tuturor utilizatorilor din grupul de lucru 110, introduceți: net send /domain:110 VERIFICAREA CONEXIUNII. O altă variantă a unei comenzi similare: pentru a trimite un mesaj tuturor utilizatorilor din domeniul dvs., introduceți: net trimite * ping(Fig. 20.12 și 13)



    Orez. 20.12.

    Orez. 20.13.

    Pentru a trimite un mesaj utilizator specific de ex. 110-1, introduceți: net trimite 110-1 SALUT!(Fig. 20.14).

    Orez. 20.14.

    ÎN Windows XP are o altă opțiune pentru trimiterea de mesaje prin rețea. Rulați comenzile Panou de control-Administrare-Gestionare computer. Mai departe: Acțiune - Toate sarcinile - Trimiteți mesajul consolei. Apoi, selectați un computer și trimiteți-i un text (Fig. 20.15).


    A existat în Windows 2000/XP și a fost destinat schimbului de mesaje între utilizatorii conectați local și utilizatorii sesiunilor de terminal (conectați la un desktop la distanță). În Windows Vista și mai târziu în sistemele de operare ale familiei Windows, comanda MSG a devenit principalul instrument standard de mesagerie datorită comenzii trimite net Acest sistem de operare nu mai este acceptat.

    Format linie de comandă:

    MSG (<пользователь> | <имя сеанса> | | @<имя файла> | *} [<сообщение>]

    Descrierea parametrilor liniei de comandă:

    <пользователь> Nume de utilizator. <имя сеанса> Numele sesiunii. Sesiune ID. @<имя файла> Un fișier care conține o listă de nume de utilizator, sesiuni sau ID-uri de sesiune către care este trimis mesajul. * Trimiteți un mesaj tuturor sesiunilor de pe serverul specificat. /SERVER:<сервер> Server (implicit - curent). /TIMP:<секунд> Intervalul de așteptare a confirmării de la destinatar. /V Afișează informații despre acțiunile finalizate. /WÎn așteptarea unui răspuns de la utilizator, util împreună cu /V. <сообщение> Mesajul care se trimite. Dacă nu este specificat, este emis un prompt sau este acceptată intrarea de la STDIN.

    Important!

    Implementarea actuală a msg.exe este perfectă pentru schimbul de mesaje între sesiunile utilizatorilor locali și terminali în cadrul aceluiași sistem, totuși, în cazurile de schimb între diferite computere din rețeaua locală, va trebui să modificați unele setări de securitate implicite în Windows Sisteme de operare Vista, 7 și 8.

    De obicei, cu setări standard, trimiterea unui mesaj către computer la distanță, nu este executat și este însoțit de mesaj

    Eroare 1722 la preluarea numelor de sesiuni

    Aceasta înseamnă că computerul pe care urmează să fie primit mesajul nu poate obține informații despre utilizatorii conectați. Motivul poate fi faptul că firewall-ul blochează conexiunile de intrare, drepturile utilizatorului în legătură cu sistemul de la distanță sunt insuficiente sau apelurile la procedurile de la distanță sunt interzise în parametrii serviciului terminal server. Cel puțin, pentru mesagerie folosind comanda msgîntre computere, trebuie să aveți un cont de utilizator valabil pentru sistemul de la distanță și să efectuați următoarele setări:

  • pe fiecare computer către care vor fi trimise mesajele, adăugați la cheia de registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server parametru AllowRemoteRPC tip REG_DWORD si egali 1 Pentru a modifica setările, puteți utiliza fișierul .reg cu următorul conținut:

    Editorul de registru Windows versiunea 5.00 „AllowRemoteRPC”=dword:00000001

    În Windows Vista, Windows 7, 8, 10 cheie de registry Technical Preview AllowRemoteRPC există, dar are aceeași valoare 0 ce trebuie reparat. Este necesară o repornire pentru ca modificările să intre în vigoare.

  • deoarece utilitarul de mesagerie msg.exe utilizează protocolul SMB (Server Message Block); un port TCP trebuie să fie deschis pe fiecare computer către care vor fi trimise mesajele 445

    Exemple de utilizare MSG:

    msg * /server:Server „Mesaj de testare”- trimite un mesaj de testare tuturor utilizatorilor de computer Server

    msg * /server:192.168.0.1 „Mesaj de testare”- trimiteți un mesaj de testare tuturor utilizatorilor unui computer cu o adresă IP 192.168.0.1

    msg RDP-Tcp#0 /server:TSServer „Mesaj de testare”- trimiteți un mesaj de testare unui utilizator de sesiune terminal numit RDP-Tcp#0 pe computer TSServer

    msg console /server:Windows7 „Mesaj de testare”- trimiteți un mesaj de testare utilizatorului actual de computer local Windows 7

    msg consola „Mesajul de testare”- trimiterea unui mesaj de testare de la un utilizator de sesiune RDP către un utilizator local. Dacă această comandă nu este executată de un utilizator de sesiune terminal, atunci mesajul va fi trimis de către utilizatorul local către el însuși.

    Pentru a executa o comandă msg Puteți utiliza utilitarul în numele altui utilizator PSExec din pachet PSTools sau mijloace standard runas.exe

    psexec -u otheruser -p otherpass msg * /server:win10 mesaj TEST

    runas /user:otheruser "msg * /server:win10 Test message"

    Mesaje trimise de echipa msg utilizator local al unui computer cu sistem de operare sistem Windows XP, care lipsește (nu este încă inclus în Windows) sunt afișate în fereastra care vă solicită să vă înregistrați în sistem și pot fi accesibile persoanelor din afară.