Folosind fluxul de lucru powerhell pentru computerele ping paralele - hei, tip scriptic! blog,

Rezumat. Invitatul blogger Microsoft MVP Niklas Goude spune cum să ping calculatoarele în timp ce utilizează fluxul de lucru, economisind astfel o cantitate considerabilă de timp.







Posturile anterioare ale lui Niklas Goude pot fi găsite aici.

Culegerea Test-Connection este utilizată pentru a trimite pachetele de solicitare de ecou ICMP (ping) la unul sau mai multe computere la distanță.

Este o modalitate rapidă și ușoară de a verifica dacă computerele funcționează.

Pentru a pinge un computer, puteți să tastați:

Conexiune de test -computerName localhost

Culegerea Test -Connecție trimite în mod implicit patru solicitări de ecou. Puteți modifica această valoare la 1, specificând Count:

Conexiune de test -ComputerName localhost -Count 1

O încercare de a pinge un computer lipsă va duce la o eroare:

Conexiune de testare -ComputerName blablabla -Count 1

Test-conexiune. Testarea conexiunii la calculatorul "blablabla" a eșuat: Nu este cunoscută nicio astfel de gazdă

+ Conexiune de testare -ComputerName blablabla -Count 1







+ CategoryInfo. ResourceUnavailable: (blablabla: String) [Test-Connection], PingException

Dacă nu doriți ca mesajul de eroare afișat, puteți seta parametrul ErrorAction la SilentlyContinue (sau utilizați structura Try / Catch pentru a gestiona erorile):

Conexiune de testare - numele computerului blablabla - capitolul 1 - eroare de avertizare silențios

Eroarea apare în continuare, doar nu apare pe ecran (îl puteți afișa tastând $ Errors [0]).

Acum, să presupunem că doriți să testați conexiunea la toate computerele din domeniu. În primul rând, trebuie să obțineți o listă a tuturor computerelor utilizând cmdletul GetComputer:

$ computers = Get-ADComputer -Filter * | Selectați -ExpandProperty DNSHostName

Să vedem câte computere din domeniul nostru:

Dacă aveți nevoie să pingați fiecare dintre aceste computere, puteți introduce următoarea comandă:

foreach ($ computer în $ computere)

Conexiune de test -ComputerName $ computer -Count 1 -ErrorAction SilentlyContinue

Comanda va returna informații despre fiecare computer cu care există o legătură. Singura problemă cu această comandă este că durează mult timp, deoarece prima introduce un computer, așteaptă până când un răspuns vine de la ea și numai atunci pinge următoarea.

Să constatăm timpul petrecut de comandă utilizând cmdletul Measure-Command:

foreach ($ computer în $ computere)

Conexiune de test -ComputerName $ computer -Count 1 -ErrorAction SilentlyContinue







Trimiteți-le prietenilor: