Test-Connection

Mengirim paket permintaan gema ICMP, atau ping, ke satu atau beberapa komputer.

Sintaks

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>]

Deskripsi

Test-Connection Cmdlet mengirimkan paket permintaan gema Internet Control Message Protocol (ICMP), atau ping, ke satu atau beberapa komputer jarak jauh dan mengembalikan balasan respons gema. Anda dapat menggunakan cmdlet ini untuk menentukan apakah komputer tertentu dapat dihubungi di seluruh jaringan IP.

Anda dapat menggunakan parameter Test-Connection untuk menentukan komputer pengiriman dan penerimaan, untuk menjalankan perintah sebagai pekerjaan latar belakang, untuk mengatur batas waktu dan jumlah ping, dan untuk mengonfigurasi koneksi dan autentikasi.

Tidak seperti perintah ping yang sudah dikenal, Test-Connection mengembalikan objek Win32_PingStatus yang dapat Anda selidiki di PowerShell. Parameter Tenang mengembalikan nilai Boolean dalam objek System.Boolean untuk setiap koneksi yang diuji. Jika beberapa koneksi diuji, array nilai Boolean dikembalikan.

Contoh

Contoh 1: Mengirim permintaan echo ke komputer jarak jauh

Contoh ini mengirimkan paket permintaan gema dari komputer lokal ke komputer Server01.

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-Connectionmenggunakan parameter ComputerName untuk menentukan komputer Server01.

Contoh 2: Mengirim permintaan echo ke beberapa komputer

Contoh ini mengirim ping dari komputer lokal ke beberapa komputer jarak jauh.

Test-Connection -ComputerName Server01, Server02, Server12

Contoh 3: Mengirim permintaan echo dari beberapa komputer ke komputer

Contoh ini mengirim ping dari komputer sumber yang berbeda ke satu komputer jarak jauh, Server01.

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

Test-Connectionmenggunakan parameter Kredensial untuk menentukan kredensial pengguna yang memiliki izin untuk mengirim permintaan ping dari komputer sumber. Gunakan format perintah ini untuk menguji latensi koneksi dari beberapa titik.

Contoh 4: Menggunakan parameter untuk menyesuaikan perintah pengujian

Contoh ini menggunakan parameter Test-Connection untuk menyesuaikan perintah. Komputer lokal mengirim pengujian ping ke komputer jarak jauh.

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

Test-Connectionmenggunakan parameter ComputerName untuk menentukan Server01. Parameter Hitung menentukan tiga ping dikirim ke komputer Server01 dengan Penundaan interval 2 detik.

Anda mungkin menggunakan opsi ini ketika respons ping diperkirakan akan memakan waktu lebih lama dari biasanya, baik karena jumlah hop yang diperluas atau kondisi jaringan lalu lintas tinggi.

Contoh 5: Jalankan pengujian sebagai pekerjaan latar belakang

Contoh ini memperlihatkan cara menjalankan Test-Connection perintah sebagai pekerjaan latar belakang PowerShell.

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

Perintah Test-Connection ping banyak komputer di perusahaan. Nilai parameter ComputerName adalah Get-Content perintah yang membaca daftar nama komputer dari Servers.txt file. Perintah menggunakan parameter AsJob untuk menjalankan perintah sebagai pekerjaan latar belakang dan menyimpan pekerjaan dalam $job variabel.

Perintah if memeriksa untuk melihat bahwa pekerjaan tidak masih berjalan. Jika pekerjaan tidak berjalan, Receive-Job mendapatkan hasilnya dan menyimpannya dalam $Results variabel.

Contoh 6: Ping komputer jarak jauh dengan kredensial

Perintah ini menggunakan Test-Connection cmdlet untuk melakukan ping pada komputer jarak jauh.

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

Perintah menggunakan parameter Kredensial untuk menentukan akun pengguna yang memiliki izin untuk melakukan ping komputer jarak jauh dan parameter Peniruan identitas untuk mengubah tingkat peniruan menjadi Identifikasi.

Contoh 7: Buat sesi hanya jika pengujian koneksi berhasil

Contoh ini membuat sesi di komputer Server01 hanya jika setidaknya salah satu ping yang dikirim ke komputer berhasil.

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

Perintah if menggunakan Test-Connection cmdlet untuk melakukan ping komputer Server01. Perintah menggunakan parameter Tenang , yang mengembalikan nilai Boolean , bukan objek Win32_PingStatus . Nilainya adalah $True jika salah satu dari empat ping berhasil dan, jika tidak, $False.

Test-Connection Jika perintah mengembalikan nilai $True, perintah menggunakan New-PSSession cmdlet untuk membuat PSSession.

Parameter

-AsJob

Menunjukkan bahwa cmdlet ini berjalan sebagai pekerjaan latar belakang.

Untuk menggunakan parameter ini, komputer lokal dan jarak jauh harus dikonfigurasi untuk jarak jauh dan, pada Windows Vista dan versi sistem operasi Windows yang lebih baru, Anda harus membuka PowerShell dengan menggunakan opsi Jalankan sebagai administrator . Untuk informasi selengkapnya, lihat about_Remote_Requirements.

Saat Anda menentukan parameter AsJob , perintah segera mengembalikan objek yang mewakili pekerjaan latar belakang. Anda dapat terus bekerja dalam sesi saat pekerjaan selesai. Pekerjaan dibuat pada komputer lokal dan hasil dari komputer jarak jauh secara otomatis dikembalikan ke komputer lokal. Untuk mendapatkan hasil pekerjaan, gunakan Receive-Job cmdlet .

Untuk informasi selengkapnya tentang pekerjaan latar belakang PowerShell, lihat about_Jobs dan about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BufferSize

Menentukan ukuran, dalam byte, dari buffer yang dikirim dengan perintah ini. Nilai defaultnya adalah 32.

Type:Int32
Aliases:Size, Bytes, BS
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Menentukan komputer ke ping. Ketik nama komputer atau ketik alamat IP dalam format IPv4 atau IPv6. Karakter kartubebas tidak diizinkan. Parameter ini diperlukan.

Parameter ini tidak bergantung pada remoting PowerShell. Anda dapat menggunakan parameter ComputerName meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh.

Catatan

Parameter ComputerName diganti namanya menjadi TargetName di PowerShell 6.0 ke atas.

Type:String[]
Aliases:CN, IPAddress, __SERVER, Server, Destination
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Count

Menentukan jumlah permintaan echo yang akan dikirim. Nilai defaultnya adalah 4.

Type:Int32
Position:Named
Default value:4
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Menentukan akun pengguna yang memiliki izin untuk mengirim permintaan ping dari komputer sumber. Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential , seperti dari Get-Credential cmdlet.

Parameter Kredensial hanya valid ketika parameter Sumber digunakan dalam perintah . Kredensial tidak memengaruhi komputer tujuan.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DcomAuthentication

Menentukan tingkat autentikasi yang digunakan cmdlet ini dengan WMI. Test-Connection menggunakan WMI. Nilai yang dapat diterima untuk parameter ini adalah:

  • Default. Otentikasi Windows
  • Tidak ada. Tidak ada autentikasi COM
  • Koneksi. autentikasi COM tingkat Koneksi
  • Telepon aku. Autentikasi COM tingkat panggilan
  • Paket. Autentikasi COM tingkat paket
  • PacketIntegrity. Autentikasi COM tingkat Integritas Paket
  • PacketPrivacy. Autentikasi COM tingkat privasi paket
  • Tidak berubah. Sama seperti perintah sebelumnya

Nilai defaultnya adalah Paket yang memiliki nilai enumerasi 4. Untuk informasi selengkapnya tentang nilai parameter ini, lihat Enumerasi AuthenticationLevel .

Type:AuthenticationLevel
Aliases:Authentication
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:Packet (enumerated value of 4)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delay

Menentukan interval antara ping, dalam hitungan detik.

Type:Int32
Position:Named
Default value:1 (second)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Menentukan tingkat peniruan untuk digunakan ketika cmdlet ini memanggil WMI. Test-Connection menggunakan WMI.

Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:

  • Default. Peniruan default.
  • Anonim. Menyembunyikan identitas pemanggil.
  • Identifikasi. Memungkinkan objek untuk mengkueri kredensial pemanggil.
  • Meniru. Memungkinkan objek menggunakan kredensial pemanggil.

Nilai defaultnya adalah Impersonate.

Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:Impersonate
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Protocol

Menentukan protokol. Nilai yang dapat diterima untuk parameter ini adalah DCOM dan WSMan.

Type:String
Accepted values:DCOM, WSMan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Quiet

Parameter Tenang mengembalikan nilai Boolean dalam objek System.Boolean . Menggunakan parameter ini menekan semua kesalahan.

Setiap koneksi yang diuji mengembalikan nilai Boolean . Jika parameter ComputerName menentukan beberapa komputer, array nilai Boolean dikembalikan.

Jika ada ping yang berhasil, $True dikembalikan.

Jika semua ping gagal, $False dikembalikan.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Source

Menentukan nama komputer tempat ping berasal. Masukkan daftar nama komputer yang dipisahkan koma. Defaultnya adalah komputer lokal.

Type:String[]
Aliases:FCN, SRC
Position:1
Default value:Local computer
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Menentukan jumlah maksimum koneksi bersamaan yang dapat dibuat untuk menjalankan perintah ini. Jika Anda menghilangkan parameter ini atau memasukkan nilai 0, nilai default, 32, digunakan.

Batas pembatasan hanya berlaku untuk perintah saat ini, bukan ke sesi atau ke komputer.

Type:Int32
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeToLive

Menentukan waktu maksimum paket dapat diteruskan. Untuk setiap lompatan di gateway, router, dll. Nilai TimeToLive dikurangi satu. Pada nol paket dibuang dan kesalahan dikembalikan. Di Windows, Nilai defaultnya adalah 128. Alias parameter TimeToLive adalah TTL.

Type:Int32
Aliases:TTL
Position:Named
Default value:128 in Windows
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna ketika cmdlet ini menggunakan protokol WSMan. Nilai yang dapat diterima untuk parameter ini adalah:

  • Dasar
  • CredSSP
  • Default
  • digest
  • Kerberos
  • Bernegosiasi.

Nilai default-nya adalah Default.

Untuk informasi selengkapnya tentang nilai parameter ini, lihat Enumerasi AuthenticationMechanism.

Perhatian: Autentikasi Penyedia Layanan Keamanan Kredensial (CredSSP), di mana kredensial pengguna diteruskan ke komputer jarak jauh untuk diautentikasi, dirancang untuk perintah yang memerlukan autentikasi pada lebih dari satu sumber daya, seperti mengakses berbagi jaringan jarak jauh. Mekanisme ini meningkatkan risiko keamanan operasi jarak jauh. Jika komputer jarak jauh disusupi, kredensial yang diteruskan ke komputer jarak jauh dapat digunakan untuk mengontrol sesi jaringan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Anda tidak dapat menyalurkan objek ke cmdlet ini.

Output

ManagementObject

Secara default, cmdlet ini mengembalikan objek Win32_PingStatus untuk setiap balasan ping.

System.Management.Automation.RemotingJob

Cmdlet ini mengembalikan objek pekerjaan, jika Anda menentukan parameter AsJob .

Boolean

Saat Anda menggunakan parameter Tenang , ini mengembalikan nilai Boolean . Jika cmdlet menguji beberapa koneksi, cmdlet mengembalikan array nilai Boolean .

Catatan

Cmdlet ini menggunakan kelas Win32_PingStatus . Perintah Get-WMIObject Win32_PingStatus setara dengan Test-Connection perintah.

Set parameter Sumber diperkenalkan di PowerShell 3.0.