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-Connection
gebruikt 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 $True
retourneert, 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
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.
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.