Introduktion til ping kommando i prompt til flere samtidig
At kunne pinge flere enheder samtidig er en af de mest nyttige færdigheder for netværksadministratorer og it-teknikere. Når du står over for at skulle kontrollere tilgængeligheden af mange servere, printere eller andre netværksenheder, kan det være tidskrævende at pinge dem én ad gangen. Den traditionelle ping-kommando i kommandoprompten er designet til at teste forbindelsen til en enkelt vært ad gangen, men der findes flere effektive metoder til at udvide denne funktionalitet. Denne artikel gennemgår de mest praktiske tilgange til at pinge flere IP-adresser samtidigt ved hjælp af Windows' indbyggede værktøjer samt tredjepartsløsninger.
Grundlæggende om ping-kommandoen
Ping-kommandoen er et grundlæggende netværksværktøj, der sender ICMP Echo Request-pakker til en destination og venter på svar. I sin enkleste form bruges den til at kontrollere, om en bestemt enhed er tilgængelig på netværket. Standardkommandoen i Windows ser således ud: ping 8.8.8.8. Dette sender fire pakker til Googles DNS-server og rapporterer tilbage om svartider og eventuelle pakketab. For at køre en kontinuerlig ping bruges parameteren -t, som i ping -t 8.8.8.8. Dette er nyttigt til overvågning af en enkelt forbindelse over tid, men når du har brug for at overvåge mange enheder, kræves der mere avancerede metoder.
Brug af batch-for-løkker til at pinge et IP-interval
En af de mest effektive måder at pinge flere IP-adresser på i kommandoprompten er ved at bruge en batch-for-løkke. Denne metode er særlig nyttig, når du skal scanne et helt subnet, for eksempel 192.168.0.1 til 192.168.0.254. Kommandoen ser således ud: for /L %i in (1,1,254) do ping -n 1 -w 20 192.168.0.%i | find "Reply". Denne kommando itererer gennem tallene 1 til 254 og pinger hver IP-adresse én gang med en timeout på 20 millisekunder. Outputtet filtreres, så kun de IP-adresser, der returnerer et svar, vises. Dette giver en hurtig oversigt over, hvilke enheder der er aktive på netværket. Det er vigtigt at bemærke, at denne metode udfører pingerne sekventielt, ikke parallelt, men den er stadig langt hurtigere end at pinge hver adresse manuelt.

Pinge flere specifikke IP-adresser i én kommando
Windows' ping-kommando understøtter faktisk at angive flere IP-adresser adskilt af mellemrum i samme kommandolinje. Syntaksen er simpel: ping 8.8.8.8 1.1.1.1 8.8.4.4. Dette vil dog udføre pingerne sekventielt, hvilket betyder, at den først pinger den første adresse, derefter den anden, og så videre. Selvom dette ikke er ægte samtidig ping, kan det være praktisk, når du kun har et par adresser at teste. For at få en mere parallel oplevelse kan du åbne flere kommandopromptvinduer manuelt og køre ping i hvert vindue, men dette er ikke effektivt, når antallet af adresser vokser.
PowerShell som et moderne alternativ
Windows PowerShell tilbyder en langt mere avanceret tilgang til at pinge flere enheder samtidigt. Den primære cmdlet til dette formål er Test-Connection, som er designet til at erstatte den traditionelle ping-kommando. For at pinge flere IP-adresser parallelt bruges følgende kommando: Test-Connection -ComputerName 8.8.8.8, 1.1.1.1, 8.8.4.4 -Count 1. Denne kommando sender én ping-pakke til hver af de angivne adresser og udfører dem i parallel, hvilket giver resultaterne meget hurtigere end sekventiel ping. PowerShell kan også håndtere computernavne i stedet for IP-adresser, hvilket gør det endnu mere fleksibelt. For at få en kontinuerlig overvågning kan du kombinere Test-Connection med en while-løkke eller bruge Start-Job til at køre flere ping-processer i baggrunden.
Brug af PowerShell-job til ægte parallel ping
For at opnå ægte samtidig ping af flere IP-adresser over længere tid, kan du bruge PowerShells Start-Job-funktion. Dette opretter separate baggrundsjob, der hver især kører en ping-kommando kontinuerligt. Et eksempel på en strategi er at oprette et script, der for hver IP-adresse starter et job med en while-løkke, der pinger adressen med jævne mellemrum. Kommandoen kunne se således ud: Start-Job -ScriptBlock {While($true){ping -n 1 $args[0]; Start-Sleep -Seconds 2}} -ArgumentList "8.8.8.8". Dette giver dig mulighed for at overvåge flere enheder samtidigt i realtid, og du kan hente resultaterne fra hvert job ved hjælp af Receive-Job. Denne metode kræver lidt mere scripting, men den er ekstremt kraftfuld til netværksovervågning.

Tredjepartsværktøjer til samtidig ping
Hvis du foretrækker en grafisk brugergrænseflade frem for kommandolinjen, findes der flere tredjepartsværktøjer, der specialiserer sig i at pinge flere værter samtidigt. Et af de mest populære er PingInfoView fra NirSoft. Dette værktøj giver dig mulighed for at indtaste en liste over IP-adresser eller værtsnavne og derefter pinge dem alle samtidigt i realtid. Resultaterne vises i en tabel med oplysninger om svartid, pakketab og status. PingInfoView er letvægts, kræver ingen installation og kan eksportere resultater til forskellige formater. Andre lignende værktøjer inkluderer Advanced IP Scanner og Angry IP Scanner, som også tilbyder samtidig scanning af netværk. Disse værktøjer er ideelle til hurtig fejlfinding og netværksinventar.
Praktisk eksempel: Overvågning af flere servere
Forestil dig, at du er ansvarlig for at overvåge tre kritiske servere på dit netværk med IP-adresserne 192.168.1.10, 192.168.1.20 og 192.168.1.30. Du ønsker at kontrollere deres tilgængelighed hvert minut. I PowerShell kan du oprette et simpelt script, der bruger Test-Connection i en løkke. Scriptet kunne se således ud: while($true){Test-Connection -ComputerName 192.168.1.10, 192.168.1.20, 192.168.1.30 -Count 1; Start-Sleep -Seconds 60}. Dette script vil hvert minut pinge alle tre servere parallelt og vise resultaterne. Hvis en server ikke svarer, kan du tilføje logning eller en advarsel. Dette er en enkel, men effektiv måde at holde øje med netværkets helbredstilstand uden at skulle investere i dyr overvågningssoftware.
Sammenligning af metoder til samtidig ping
For at give dig et klart overblik over fordele og ulemper ved de forskellige metoder, har vi samlet en sammenligning i tabellen nedenfor. Denne tabel viser de vigtigste egenskaber ved hver metode, herunder om de understøtter parallel eksekvering, hvor nemme de er at bruge, og om de kræver ekstra software.

| Metode | Parallel eksekvering | Brugervenlighed | Kræver ekstra software |
|---|---|---|---|
| Batch for-løkke | Nej (sekventiel) | Middel | Nej |
| Flere IP'er i én ping-kommando | Nej (sekventiel) | Høj | Nej |
| PowerShell Test-Connection | Ja | Middel | Nej (indbygget i Windows) |
| PowerShell Start-Job | Ja (ægte parallel) | Lav (kræver scripting) | Nej |
| PingInfoView (NirSoft) | Ja | Høj | Ja (gratis download) |
Tips til fejlfinding og optimering
Når du arbejder med samtidig ping, er der flere ting, du bør være opmærksom på for at undgå problemer. For det første kan for mange samtidige ping-anmodninger belaste dit netværk eller den enhed, du pinger. Brug derfor en lav frekvens og et begrænset antal pakker, især når du tester mod eksterne servere. For det andet kan firewalls blokere ICMP-pakker, hvilket betyder, at en manglende ping-responds ikke nødvendigvis indikerer, at enheden er nede. Overvej at bruge andre metoder som Telnet eller port-scanning som supplement. For det tredje, når du bruger PowerShell, skal du være opmærksom på, at Test-Connection som standard bruger WMI, hvilket kan være langsommere end den traditionelle ping.exe. Du kan dog tvinge PowerShell til at bruge ping.exe ved at kalde den direkte i et script.
Liste over anbefalede fremgangsmåder
Her er en liste over de bedste fremgangsmåder, når du skal pinge flere enheder samtidigt:
- Brug PowerShell Test-Connection til hurtig parallel ping af et mindre antal værter.

- Anvend batch-for-løkker til at scanne et helt subnet, når du har brug for en simpel liste over aktive enheder.
- Implementer Start-Job til kontinuerlig overvågning af kritiske servere i baggrunden.
- Download PingInfoView til en brugervenlig grafisk løsning uden scripting.

- Begræns antallet af samtidige ping-anmodninger for at undgå netværksbelastning.
- Kombiner ping med andre værktøjer som tracert eller pathping for mere detaljeret fejlfinding.
Avancerede scenarier med scripting
For it-professionelle, der ønsker fuld kontrol, kan scripting åbne op for avancerede muligheder. I PowerShell kan du oprette et script, der læser en liste over IP-adresser fra en tekstfil og pinger dem alle parallelt. Scriptet kan også logge resultaterne til en CSV-fil med tidsstempler. Et eksempel på en sådan funktion kunne være: Get-Content "serverliste.txt" | ForEach-Object {Test-Connection -ComputerName $_ -Count 1 -AsJob}. Dette opretter et job for hver server og kører dem parallelt. Du kan derefter vente på, at alle job afsluttes, og indsamle resultaterne. Denne tilgang er skalerbar og kan håndtere hundredvis af værter uden problemer. Det kræver dog en vis fortrolighed med PowerShell-scripting, men belønningen er en fleksibel og kraftfuld overvågningsløsning.
Referencer
SuperUser. "Cmd.exe command to ping a range of addresses." superuser.com/questions/420714/cmd-exe-command-to-ping-a-range-of-addresses.
Microsoft Learn. "Ping command documentation." learn.microsoft.com/en-us/windows-server/administration/windows-commands/ping.
Microsoft Docs. "Test-Connection cmdlet documentation." learn.microsoft.com/powershell/module/microsoft.powershell.management/test-connection.
Reddit r/PowerShell. "How to do continuous ping to multiple IPs and log results." reddit.com/r/PowerShell/comments/17949iu/how_to_do_continuous_ping_to_multiple_ips_and.
NirSoft. "PingInfoView - Ping multiple hosts simultaneously." nirsoft.net/utils/pinginfoview.html.





