Dela via


Test-Connection

Skickar ICMP-ekobegärandepaket, eller pingar, till en eller flera datorer.

Syntax

Default (Standard)

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

Source

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

Quiet

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

Description

Den Test-Connection-cmdleten skickar ICMP-ekobegäran-paket (Internet Control Message Protocol), eller pingar, till en eller flera fjärrdatorer och returnerar ekosvar. Du kan använda den här cmdleten för att avgöra om en viss dator kan kontaktas i ett IP-nätverk.

Du kan använda parametrarna för Test-Connection för att ange både de sändande och mottagande datorerna, för att köra kommandot som ett bakgrundsjobb, för att ange tidsgräns och antal pingar samt för att konfigurera anslutningen och autentiseringen.

Till skillnad från det välbekanta kommandot ping returnerar Test-Connection ett Win32_PingStatus objekt som du kan undersöka i PowerShell. Parametern Quiet returnerar ett booleskt-värde i ett System.Booleskt-objekt för varje testad anslutning. Om flera anslutningar testas returneras en matris med booleska värden.

Exempel

Exempel 1: Skicka ekobegäranden till en fjärrdator

Det här exemplet skickar ekobegärandepaket från den lokala datorn till Server01-datorn.

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 använder parametern ComputerName för att ange Server01-datorn.

Exempel 2: Skicka ekobegäranden till flera datorer

Det här exemplet skickar ping från den lokala datorn till flera fjärrdatorer.

Test-Connection -ComputerName Server01, Server02, Server12

Exempel 3: Skicka ekobegäranden från flera datorer till en dator

Det här exemplet skickar ping från olika källdatorer till en enda fjärrdator, Server01.

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

Test-Connection använder parametern Credential för att ange autentiseringsuppgifterna för en användare som har behörighet att skicka en pingbegäran från källdatorerna. Använd det här kommandoformatet för att testa svarstiden för anslutningar från flera punkter.

Exempel 4: Använd parametrar för att anpassa testkommandot

I det här exemplet används parametrarna för Test-Connection för att anpassa kommandot. Den lokala datorn skickar ett pingtest till en fjärrdator.

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

Test-Connection använder parametern ComputerName för att ange Server01. Parametern Count anger att tre pingar skickas till Server01-datorn med en fördröjning med 2 sekunders intervall.

Du kan använda de här alternativen när ping-svaret förväntas ta längre tid än vanligt, antingen på grund av ett utökat antal hopp eller ett nätverkstillstånd med hög trafik.

Exempel 5: Kör ett test som ett bakgrundsjobb

Det här exemplet visar hur du kör ett Test-Connection kommando som ett PowerShell-bakgrundsjobb.

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

Kommandot Test-Connection pingar många datorer i ett företag. Värdet för parametern ComputerName är ett Get-Content kommando som läser en lista med datornamn från Servers.txt file. Kommandot använder parametern AsJob för att köra kommandot som ett bakgrundsjobb och sparar jobbet i variabeln $job.

Kommandot if kontrollerar att jobbet inte fortfarande körs. Om jobbet inte körs hämtar Receive-Job resultatet och lagrar dem i variabeln $Results.

Exempel 6: Pinga en fjärrdator med autentiseringsuppgifter

Det här kommandot använder cmdleten Test-Connection för att pinga en fjärrdator.

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

Kommandot använder parametern Credential för att ange ett användarkonto som har behörighet att pinga fjärrdatorn och parametern Impersonation för att ändra personifieringsnivån till Identifiera.

Exempel 7: Skapa endast en session om ett anslutningstest lyckas

Det här exemplet skapar en session på Server01-datorn endast om minst en av pingarna som skickas till datorn lyckas.

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

Kommandot if använder cmdleten Test-Connection för att pinga Server01-datorn. Kommandot använder parametern Quiet som returnerar ett booleskt värde i stället för ett Win32_PingStatus objekt. Värdet är $true om någon av de fyra pingarna lyckas och annars $false.

Om kommandot Test-Connection returnerar värdet $trueanvänder kommandot cmdleten New-PSSession för att skapa PSSession-.

Parametrar

-AsJob

Anger att den här cmdleten körs som ett bakgrundsjobb. När du anger parametern AsJob returnerar kommandot omedelbart ett objekt som representerar bakgrundsjobbet. Du kan fortsätta att arbeta i sessionen medan jobbet är klart. Använd cmdleten Receive-Job för att hämta jobbresultatet.

Mer information om PowerShell-bakgrundsjobb finns i about_Jobs och about_Remote_Jobs.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Default
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
Source
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-BufferSize

Anger storleken i byte på bufferten som skickas med det här kommandot. Standardvärdet är 32.

Parameteregenskaper

Typ:Int32
Standardvärde:32
Stöder jokertecken:False
DontShow:False
Alias:Storlek, byte, Kandidatexamen i naturvetenskap

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ComputerName

Anger vilka datorer som ska pingas. Skriv datornamnen eller skriv IP-adresser i IPv4- eller IPv6-format. Jokertecken tillåts inte. Den här parametern krävs.

Den här parametern förlitar sig inte på PowerShell-fjärrstyrning. Du kan använda parametern ComputerName även om datorn inte är konfigurerad för att köra fjärrkommandon.

Anmärkning

Parametern ComputerName har bytt namn till TargetName i PowerShell 6.0 och senare.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:CN, IP-adress, __SERVER, Server, Resmål

Parameteruppsättningar

(All)
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Count

Anger antalet ekobegäranden som ska skickas. Standardvärdet är 4.

Parameteregenskaper

Typ:Int32
Standardvärde:4
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anger ett användarkonto som har behörighet att skicka en ping-begäran från källdatorn. Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential- objekt, till exempel ett från Get-Credential cmdlet.

Parametern Credential är endast giltig när parametern Source används i kommandot . Autentiseringsuppgifterna påverkar inte måldatorn.

Parameteregenskaper

Typ:PSCredential
Standardvärde:Current user
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Source
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-DcomAuthentication

Anger den autentiseringsnivå som den här cmdleten använder med WMI. Test-Connection använder WMI. De godtagbara värdena för den här parametern är:

  • Standard. Windows-autentisering
  • Ingen. Ingen COM-autentisering
  • Anslut. Com-autentisering på anslutningsnivå
  • Anropa. COM-autentisering på samtalsnivå
  • Paket. COM-autentisering på paketnivå
  • PacketIntegrity. Com-autentisering på paketintegritetsnivå
  • PacketPrivacy. Com-autentisering på paketsekretessnivå
  • Oförändrad. Samma som föregående kommando

Standardvärdet är Packet som har ett uppräknat värde på 4. Mer information om värdena för den här parametern finns i AuthenticationLevel uppräkning.

Parameteregenskaper

Typ:AuthenticationLevel
Standardvärde:Packet (enumerated value of 4)
Godkända värden:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Stöder jokertecken:False
DontShow:False
Alias:Autentisering

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Delay

Anger intervallet mellan ping i sekunder.

Parameteregenskaper

Typ:Int32
Standardvärde:1 (second)
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Impersonation

Anger den personifieringsnivå som ska användas när den här cmdleten anropar WMI. Test-Connection använder WMI.

Godkända värden för den här parametern är följande:

  • Standard. Standardpersonifiering.
  • Anonym. Döljer anroparens identitet.
  • Identifiera. Tillåter att objekt frågar efter anroparens autentiseringsuppgifter.
  • Imitera. Tillåter att objekt använder anroparens autentiseringsuppgifter.

Standardvärdet är Personifiera.

Parameteregenskaper

Typ:ImpersonationLevel
Standardvärde:Impersonate
Godkända värden:Default, Anonymous, Identify, Impersonate, Delegate
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Protocol

Anger ett protokoll. De acceptabla värdena för den här parametern är DCOM och WSMan.

Parameteregenskaper

Typ:String
Standardvärde:None
Godkända värden:DCOM, WSMan
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Quiet

Parametern Quiet returnerar ett booleskt-värde i ett System.Booleskt-objekt. Om du använder den här parametern ignoreras alla fel.

Varje anslutning som testas returnerar ett booleskt värde. Om parametern ComputerName anger flera datorer returneras en matris med booleska värden.

Om någon ping lyckas returneras $true.

Om alla ping misslyckas returneras $false.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Quiet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Source

Anger namnen på de datorer där pingen kommer. Ange en kommaavgränsad lista med datornamn. Standardvärdet är den lokala datorn.

Parameteregenskaper

Typ:

String[]

Standardvärde:Local computer
Stöder jokertecken:False
DontShow:False
Alias:FCN, SRC

Parameteruppsättningar

Source
Position:1
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ThrottleLimit

Anger det maximala antalet samtidiga anslutningar som kan upprättas för att köra det här kommandot. Om du utelämnar den här parametern eller anger värdet 0 används standardvärdet 32.

Begränsningsgränsen gäller endast för det aktuella kommandot, inte för sessionen eller på datorn.

Parameteregenskaper

Typ:Int32
Standardvärde:32
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Default
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
Source
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-TimeToLive

Anger de maximala gånger ett paket kan vidarebefordras. För varje hopp i gatewayer, routrar osv. minskas värdet TimeToLive med en. Vid noll ignoreras paketet och ett fel returneras. I Windowsär standardvärdet 128. Aliaset för parametern TimeToLive är TTL-.

Parameteregenskaper

Typ:Int32
Standardvärde:128 in Windows
Stöder jokertecken:False
DontShow:False
Alias:TTL

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-WsmanAuthentication

Anger den mekanism som används för att autentisera användarautentiseringsuppgifterna när den här cmdleten använder WSMan-protokollet. De godtagbara värdena för den här parametern är:

  • Grundläggande
  • CredSSP
  • Förinställning
  • Sammanfattning
  • Kerberos
  • Förhandla.

Standardvärdet är Standard.

Mer information om värdena för den här parametern finns i AuthenticationMechanism Enumeration.

Varning! CredSSP-autentisering (CredSSP), där användarens autentiseringsuppgifter skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på mer än en resurs, till exempel åtkomst till en fjärrnätverksresurs. Den här mekanismen ökar säkerhetsrisken för fjärråtgärden. Om fjärrdatorn komprometteras kan de autentiseringsuppgifter som skickas till den användas för att styra nätverkssessionen.

Den här parametern introducerades i Windows PowerShell 3.0.

Parameteregenskaper

Typ:String
Standardvärde:Default
Godkända värden:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

ManagementObject

Som standard returnerar den här cmdleten ett Win32_PingStatus objekt för varje ping-svar.

System.Management.Automation.RemotingJob

Den här cmdleten returnerar ett jobbobjekt om du anger parametern AsJob.

Boolean

När du använder parametern Tyst returnerar detta ett booleskt värde. Om cmdleten testar flera anslutningar returneras en matris med booleska värden.

Kommentarer

Den här cmdleten använder klassen Win32_PingStatus. Ett Get-WmiObject Win32_PingStatus kommando motsvarar ett Test-Connection kommando.

Parameteruppsättningen Source introducerades i PowerShell 3.0.