Test-Connection
Skickar ICMP-ekobegärandepaket, eller pingar, till en eller flera datorer.
Syntax
Test-Connection
[-ComputerName] <String[]>
[-AsJob]
[-Authentication <AuthenticationLevel>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-ComputerName] <String[]>
[-Source] <String[]>
[-AsJob]
[-Authentication <AuthenticationLevel>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Credential <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-ComputerName] <String[]>
[-Authentication <AuthenticationLevel>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[-Quiet]
[<CommonParameters>]
Description
Den Test-Connection
cmdleten skickar ICMP-paket (Internet Control Message Protocol) ekobegäran, 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 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 TargetName 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 $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.
Om du vill använda den här parametern måste de lokala datorerna och fjärrdatorerna konfigureras för fjärrkommunikation och i Windows Vista och senare versioner av Windows-operativsystemet måste du öppna PowerShell med hjälp av alternativet Kör som administratör. Mer information finns i about_Remote_Requirements.
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. Jobbet skapas på den lokala datorn och resultatet från fjärrdatorerna returneras automatiskt till den lokala datorn. Använd cmdleten Receive-Job
för att hämta jobbresultatet.
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 |
-Authentication
Anger den autentiseringsnivå som används för WMI-anslutningen.
Test-Connection
använder WMI.
De giltiga värdena är följande:
- Oförändrat: Autentiseringsnivån är densamma som föregående kommando.
- standard: Windows-autentisering.
- Ingen: Ingen COM-autentisering.
- Connect: COM-autentisering på anslutningsnivå.
- Anropa: COM-autentisering på samtalsnivå.
- Packet: COM-autentisering på paketnivå.
- PacketIntegrity: COM-autentisering på paketintegritetsnivå.
- PacketPrivacy: COM-autentisering på paketsekretessnivå.
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.
Typ: | AuthenticationLevel |
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 |
-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.
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 Get-Credential
cmdlet.
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 |
-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 |
-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
.
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. Standardvärdet ä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 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-.
Typ: | Int32 |
Alias: | TTL |
Position: | Named |
Standardvärde: | 128 in Windows |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka indata till den här cmdleten.
Utdata
Den här cmdleten returnerar ett jobbobjekt om du anger parametern AsJob.
Om du anger parametern Tyst returneras ett booleskt värde. Om flera anslutningar testas returneras en matris med booleska värden. Annars returnerar Test-Connection
ett Win32_PingStatus objekt för varje ping.
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.