Delen via


Test-Connection

Hiermee worden ICMP-echoaanvraagpakketten of pings verzonden naar een of meer computers.

Syntaxis

Test-Connection
    [-ComputerName] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Source] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Credential <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [-Quiet]
    [<CommonParameters>]

Description

Met de Test-Connection cmdlet worden ICMP-echoaanvragenpakketten (Internet Control Message Protocol) of pings verzonden naar een of meer externe computers en worden de antwoorden van de echoreactie geretourneerd. U kunt deze cmdlet gebruiken om te bepalen of een bepaalde computer kan worden gecontacteerd via een IP-netwerk.

U kunt de parameters van Test-Connection gebruiken om zowel de verzendende als ontvangende computers op te geven, om de opdracht uit te voeren als achtergrondtaak, om een time-out en aantal pings in te stellen en om de verbinding en verificatie te configureren.

In tegenstelling tot de vertrouwde ping opdracht, retourneert Test-Connection een Win32_PingStatus-object dat u in PowerShell kunt onderzoeken. De parameter Quiet retourneert een Booleaanse-waarde in een System.Boolean-object voor elke geteste verbinding. Als er meerdere verbindingen worden getest, wordt een matrix van Booleaanse-waarden geretourneerd.

Voorbeelden

Voorbeeld 1: Echoaanvragen verzenden naar een externe computer

In dit voorbeeld worden echoaanvraagpakketten van de lokale computer naar de Server01-computer verzonden.

Test-Connection -ComputerName Server01

Source        Destination     IPV4Address     IPV6Address  Bytes    Time(ms)
------        -----------     -----------     -----------  -----    --------
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       1

Test-Connection gebruikt de parameter ComputerName om de Server01-computer op te geven.

Voorbeeld 2: Echoaanvragen verzenden naar verschillende computers

In dit voorbeeld worden pings vanaf de lokale computer verzonden naar verschillende externe computers.

Test-Connection -ComputerName Server01, Server02, Server12

Voorbeeld 3: Echoaanvragen verzenden van verschillende computers naar een computer

In dit voorbeeld worden pings van verschillende broncomputers verzonden naar één externe computer, Server01.

Test-Connection -Source Server02, Server12, localhost -ComputerName Server01 -Credential Domain01\Admin01

Test-Connection gebruikt de parameter Credential om de referenties op te geven van een gebruiker die gemachtigd is om een pingaanvraag vanaf de broncomputers te verzenden. Gebruik deze opdrachtindeling om de latentie van verbindingen vanaf meerdere punten te testen.

Voorbeeld 4: Parameters gebruiken om de testopdracht aan te passen

In dit voorbeeld worden de parameters van Test-Connection gebruikt om de opdracht aan te passen. De lokale computer verzendt een pingtest naar een externe computer.

Test-Connection -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32

Test-Connection gebruikt de parameter TargetName om Server01 op te geven. De parameter Count geeft aan dat er drie pings worden verzonden naar de Server01-computer met een Delay van intervallen van 2 seconden.

U kunt deze opties gebruiken wanneer het ping-antwoord naar verwachting langer duurt dan normaal, ofwel vanwege een uitgebreid aantal hops of een netwerkvoorwaarde met veel verkeer.

Voorbeeld 5: Een test uitvoeren als achtergrondtaak

In dit voorbeeld ziet u hoe u een Test-Connection-opdracht uitvoert als een PowerShell-achtergrondtaak.

$job = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}

De Test-Connection opdracht pingt veel computers in een onderneming. De waarde van de parameter ComputerName is een Get-Content opdracht waarmee een lijst met computernamen uit de Servers.txt filewordt gelezen. De opdracht gebruikt de parameter AsJob om de opdracht uit te voeren als achtergrondtaak en de taak wordt opgeslagen in de $job variabele.

Met de opdracht if wordt gecontroleerd of de taak nog niet wordt uitgevoerd. Als de taak niet wordt uitgevoerd, haalt Receive-Job de resultaten op en slaat deze op in de $Results variabele.

Voorbeeld 6: Een externe computer pingen met referenties

Met deze opdracht wordt de cmdlet Test-Connection gebruikt om een externe computer te pingen.

Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify

De opdracht gebruikt de parameter Credential om een gebruikersaccount op te geven dat is gemachtigd om de externe computer en de parameter imitatie te pingen om het imitatieniveau te wijzigen in Identificeren van.

Voorbeeld 7: Een sessie alleen maken als een verbindingstest slaagt

In dit voorbeeld wordt alleen een sessie op de Server01-computer gemaakt als ten minste één van de pings die naar de computer worden verzonden, slaagt.

if (Test-Connection -ComputerName Server01 -Quiet) {New-PSSession Server01}

De opdracht if gebruikt de cmdlet Test-Connection om de Server01-computer te pingen. De opdracht maakt gebruik van de parameter Quiet, die een booleaanse-waarde retourneert in plaats van een Win32_PingStatus-object. De waarde wordt $True als een van de vier pings slaagt en anders $False.

Als de Test-Connection opdracht een waarde van $Trueretourneert, gebruikt de opdracht de New-PSSession cmdlet om de PSSession-te maken.

Parameters

-AsJob

Geeft aan dat deze cmdlet wordt uitgevoerd als achtergrondtaak.

Als u deze parameter wilt gebruiken, moeten de lokale en externe computers worden geconfigureerd voor externe communicatie. Op Windows Vista en latere versies van het Windows-besturingssysteem moet u PowerShell openen met behulp van de optie Als administrator uitvoeren. Zie about_Remote_Requirementsvoor meer informatie.

Wanneer u de parameter AsJob opgeeft, retourneert de opdracht onmiddellijk een object dat de achtergrondtaak vertegenwoordigt. U kunt in de sessie blijven werken terwijl de taak is voltooid. De taak wordt gemaakt op de lokale computer en de resultaten van externe computers worden automatisch geretourneerd naar de lokale computer. Gebruik de cmdlet Receive-Job om de taakresultaten op te halen.

Zie about_Jobs en about_Remote_Jobsvoor meer informatie over PowerShell-achtergrondtaken.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Authentication

Hiermee geeft u het verificatieniveau op dat wordt gebruikt voor de WMI-verbinding. Test-Connection WMI gebruikt.

De geldige waarden zijn als volgt:

  • Ongewijzigde: het verificatieniveau is hetzelfde als de vorige opdracht.
  • Standaard: Windows-verificatie.
  • Geen: Geen COM-verificatie.
  • Connect: COM-verificatie op connect-niveau.
  • Oproep: COM-verificatie op gespreksniveau.
  • Packet: COM-verificatie op pakketniveau.
  • PacketIntegrity: COM-verificatie op pakketintegriteitsniveau.
  • PacketPrivacy: COM-verificatie op pakketprivacyniveau.

De standaardwaarde is Packet met een opgesomde waarde van 4. Zie AuthenticationLevel opsomming voor meer informatie over de waarden van deze parameter.

Type:AuthenticationLevel
Geaccepteerde waarden:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:Packet (enumerated value of 4)
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-BufferSize

Hiermee geeft u de grootte, in bytes, van de buffer die met deze opdracht wordt verzonden. De standaardwaarde is 32.

Type:Int32
Aliassen:Size, Bytes, BS
Position:Named
Default value:32
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ComputerName

Hiermee geeft u de computers om te pingen. Typ de computernamen of typ IP-adressen in IPv4- of IPv6-indeling. Jokertekens zijn niet toegestaan. Deze parameter is vereist.

Deze parameter is niet afhankelijk van externe communicatie van PowerShell. U kunt de parameter ComputerName gebruiken, zelfs als uw computer niet is geconfigureerd voor het uitvoeren van externe opdrachten.

Type:String[]
Aliassen:CN, IPAddress, __SERVER, Server, Destination
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Count

Hiermee geeft u het aantal echoaanvragen dat moet worden verzonden. De standaardwaarde is 4.

Type:Int32
Position:Named
Default value:4
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Hiermee geeft u een gebruikersaccount op dat is gemachtigd om een pingaanvraag vanaf de broncomputer te verzenden. Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential--object in, zoals een van de Get-Credential cmdlet.

De parameter Credential is alleen geldig wanneer de parameter Source wordt gebruikt in de opdracht. De referenties zijn niet van invloed op de doelcomputer.

Type:PSCredential
Position:Named
Default value:Current user
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Delay

Hiermee geeft u het interval tussen pings, in seconden.

Type:Int32
Position:Named
Default value:1 (second)
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Impersonation

Hiermee geeft u het imitatieniveau op dat moet worden gebruikt wanneer deze cmdlet WMI aanroept. Test-Connection WMI gebruikt.

De acceptabele waarden voor deze parameter zijn als volgt:

  • standaard. Standaardimitatie.
  • Anonieme. Verbergt de identiteit van de beller.
  • identificeren. Hiermee kunnen objecten query's uitvoeren op de referenties van de aanroeper.
  • imiteren. Hiermee kunnen objecten de referenties van de aanroeper gebruiken.

De standaardwaarde is imiteren.

Type:ImpersonationLevel
Geaccepteerde waarden:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:Impersonate
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Quiet

De parameter Quiet retourneert een booleaanse-waarde in een System.Boolean-object. Met deze parameter worden alle fouten onderdrukt.

Elke verbinding die wordt getest, retourneert een Booleaanse waarde. Als de parameter ComputerName meerdere computers opgeeft, wordt een matrix van Booleaanse-waarden geretourneerd.

Als een ping slaagt, wordt $True geretourneerd.

Als alle pings mislukken, wordt $False geretourneerd.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Source

Hiermee geeft u de namen van de computers waar de ping afkomstig is. Voer een door komma's gescheiden lijst met computernamen in. De standaardwaarde is de lokale computer.

Type:String[]
Aliassen:FCN, SRC
Position:1
Default value:Local computer
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ThrottleLimit

Hiermee geeft u het maximum aantal gelijktijdige verbindingen op dat tot stand kan worden gebracht om deze opdracht uit te voeren. Als u deze parameter weglaat of een waarde van 0 invoert, wordt de standaardwaarde 32 gebruikt.

De beperkingslimiet is alleen van toepassing op de huidige opdracht, niet op de sessie of op de computer.

Type:Int32
Position:Named
Default value:32
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-TimeToLive

Hiermee geeft u de maximumtijden op waarop een pakket kan worden doorgestuurd. Voor elke hop in gateways, routers, enzovoort, wordt de TimeToLive--waarde met één verlaagd. Bij nul wordt het pakket verwijderd en wordt er een fout geretourneerd. In Windowsis de standaardwaarde 128. De alias van de parameter TimeToLive is TTL-.

Type:Int32
Aliassen:TTL
Position:Named
Default value:128 in Windows
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

U kunt geen invoer doorsluisen naar deze cmdlet.

Uitvoerwaarden

ManagementObject

Met deze cmdlet wordt een taakobject geretourneerd als u de parameter AsJob opgeeft.

Als u de parameter Quiet opgeeft, wordt een Booleaanse-waarde geretourneerd. Als er meerdere verbindingen worden getest, wordt een matrix van Booleaanse-waarden geretourneerd. Anders retourneert Test-Connection een Win32_PingStatus-object voor elke ping.

Notities

Deze cmdlet maakt gebruik van de Win32_PingStatus-klasse. Een Get-WMIObject Win32_PingStatus-opdracht is gelijk aan een Test-Connection opdracht.

De bron- parameterset is geïntroduceerd in PowerShell 3.0.