Test-Connection

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

Syntax

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

Cmdleten Test-Connection skickar ICMP-paket (Internet Control Message Protocol) ekobegärandepaket, eller pingar, till en eller flera fjärrdatorer och returnerar ekosvarssvaren. 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 Test-Connection för 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 pingkommandot Test-Connection returnerar 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 ping-begä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 Test-Connection för 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 på 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 Receive-Job hämtar du 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 Personifiering 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 Tyst , 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är .

Test-Connection Om kommandot 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 för att hämta jobbresultatet Receive-Job .

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

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-BufferSize

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

Typ:Int32
Alias:Size, Bytes, BS
Position:Named
Standardvärde:32
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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ärrkommunikation. Du kan använda parametern ComputerName även om datorn inte är konfigurerad för att köra fjärrkommandon.

Kommentar

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

Typ:String[]
Alias:CN, IPAddress, __SERVER, Server, Destination
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Count

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

Typ:Int32
Position:Named
Standardvärde:4
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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 cmdleten Get-Credential .

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

Typ:PSCredential
Position:Named
Standardvärde:Current user
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DcomAuthentication

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

  • Standard. Windows-autentisering
  • Inga. Ingen COM-autentisering
  • Anslut. Com-autentisering på anslutningsnivå
  • Ring. 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 Paket 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 .

Typ:AuthenticationLevel
Alias:Authentication
Godkända värden:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Standardvärde:Packet (enumerated value of 4)
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Delay

Anger intervallet mellan ping i sekunder.

Typ:Int32
Position:Named
Standardvärde:1 (second)
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.
  • Personifiera. Tillåter att objekt använder anroparens autentiseringsuppgifter.

Standardvärdet är Personifiera.

Typ:ImpersonationLevel
Godkända värden:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Standardvärde:Impersonate
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Protocol

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

Typ:String
Godkända värden:DCOM, WSMan
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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 pingar misslyckas $False returneras.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Source

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

Typ:String[]
Alias:FCN, SRC
Position:1
Standardvärde:Local computer
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:32
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-TimeToLive

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

Typ:Int32
Alias:TTL
Position:Named
Standardvärde:128 in Windows
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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 acceptabla värdena för den här parametern är:

  • Grundläggande
  • CredSSP
  • Standardvärde
  • Smälta
  • 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.

Typ:String
Godkända värden:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Standardvärde:Default
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

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 Källa introducerades i PowerShell 3.0.