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 $True
anvä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
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 .
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.