Delen via


Test-Connection

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

Syntaxis

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

Description

De Test-Connection cmdlet verzendt ICMP-echoaanvraagpakketten (Internet Control Message Protocol) of pings naar een of meer externe computers en retourneert de antwoorden van de echoreacties. U kunt deze cmdlet gebruiken om te bepalen of een bepaalde computer kan worden gecontacteerd via een IP-netwerk.

U kunt de parameters gebruiken om Test-Connection 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 u 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 met 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-Connectiongebruikt de referentieparameter 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 gebruikt om Test-Connection 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 ComputerName om Server01 op te geven. De parameter Count geeft drie pings worden verzonden naar de Server01-computer met een vertraging van 2 seconden intervallen.

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 die een lijst met computernamen uit de Servers.txt file. De opdracht gebruikt de parameter AsJob om de opdracht uit te voeren als achtergrondtaak en slaat de taak op in de $job variabele.

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

Voorbeeld 6: Een externe computer pingen met referenties

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

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

De opdracht gebruikt de parameter Referentie 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.

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 if opdracht gebruikt de Test-Connection cmdlet om de Server01-computer te pingen. De opdracht gebruikt de parameter Quiet , die een Booleaanse waarde retourneert, in plaats van een Win32_PingStatus-object . De waarde is $True als een van de vier pings slaagt en anders is. $False

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

Parameters

-AsJob

Geeft aan dat deze cmdlet wordt uitgevoerd als achtergrondtaak. 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. Gebruik de Receive-Job cmdlet om de taakresultaten op te halen.

Zie about_Jobs en about_Remote_Jobs voor meer informatie over PowerShell-achtergrondtaken.

Type:SwitchParameter
Position:Named
Default value:False
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 zelfs gebruiken als uw computer niet is geconfigureerd voor het uitvoeren van externe opdrachten.

Notitie

De naam van de parameter ComputerName wordt gewijzigd in TargetName in PowerShell 6.0 en hoger.

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 object uit de Get-Credential cmdlet.

De referentieparameter is alleen geldig wanneer de bronparameter 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

-DcomAuthentication

Hiermee geeft u het verificatieniveau op dat door deze cmdlet wordt gebruikt met WMI. Test-Connection maakt gebruik van WMI. De aanvaardbare waarden voor deze parameter zijn:

  • Standaard. Windows-verificatie
  • Geen. Geen COM-verificatie
  • Verbinding maken. COM-verificatie op verbindingsniveau
  • Bel. COM-verificatie op gespreksniveau
  • Pakket. COM-verificatie op pakketniveau
  • PacketIntegrity. COM-verificatie op pakketintegriteitsniveau
  • PacketPrivacy. COM-verificatie op pakketprivacyniveau
  • Ongewijzigd. Hetzelfde als de vorige opdracht

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

Type:AuthenticationLevel
Aliassen:Authentication
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

-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 maakt gebruik van WMI.

De acceptabele waarden voor deze parameter zijn als volgt:

  • Standaard. Standaardimitatie.
  • Anoniem. 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 Imitatie.

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

-Protocol

Hiermee geeft u een protocol. De acceptabele waarden voor deze parameter zijn DCOM en WSMan.

Type:String
Geaccepteerde waarden:DCOM, WSMan
Position:Named
Default value:None
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 met Booleaanse waarden geretourneerd.

Als een ping slaagt, $True wordt deze geretourneerd.

Als alle pings mislukken, $False wordt deze 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. Standaard is dit 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 Windows is 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

-WsmanAuthentication

Hiermee geeft u het mechanisme op dat wordt gebruikt om de gebruikersreferenties te verifiëren wanneer deze cmdlet het WSMan-protocol gebruikt. De aanvaardbare waarden voor deze parameter zijn:

  • Basis
  • CredSSP
  • Standaardinstelling
  • Verteren
  • Kerberos
  • Onderhandelen.

De standaardwaarde is Standaard.

Zie AuthenticationMechanism Enumeration voor meer informatie over de waarden van deze parameter.

Waarschuwing: CredSSP-verificatie (Credential Security Service Provider), waarbij de gebruikersreferenties worden doorgegeven aan een externe computer die moet worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de externe bewerking. Als de externe computer is aangetast, kunnen de referenties die aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Geaccepteerde waarden:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

ManagementObject

Deze cmdlet retourneert standaard een Win32_PingStatus-object voor elk pingantwoord.

System.Management.Automation.RemotingJob

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

Boolean

Wanneer u de parameter Quiet gebruikt, wordt hiermee een Booleaanse waarde geretourneerd. Als de cmdlet meerdere verbindingen test, retourneert deze een matrix met Booleaanse waarden.

Notities

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

De bronparameterset is geïntroduceerd in PowerShell 3.0.