PowerShell Ping'i | PowerShell Ping Örneklerle Nasıl Çalışır?
PowerShell Ping'e Giriş
PowerShell ping komutu, PowerShell cmdlet'inde Test Bağlantısı olarak da bilinir, İnternet Kontrol Protokolü Mesajı (ICMP) yankı paketlerini veya ping'i bir veya daha fazla uzak düğüme gönderir ve karşılığında yankı paketlerini alır. uzak sunucuların bağlantısı ve ayrıca komutu arka plan işi olarak çalıştırmak, isteğin gönderilme sayısını ayarlamak, zaman aşımını ayarlamak ve bağlantı ve kimlik doğrulamayı yapılandırmak için çeşitli parametreleri kullanarak ve hatta bu komut bile sunucunun yolunu izleyebilir. hedef düğüm.
PowerShell Ping'in söz dizimi
Aşağıda belirtilen sözdizimi verilmiştir:
Test Bağlantısını Kullanma:
Test-Connection
[-TargetName] <string[]>
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Count <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]Test-Connection
[-TargetName] <string[]>
-Repeat
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]Test-Connection
[-TargetName] <string[]>
-MtuSize
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]Test-Connection
[-TargetName] <string[]>
-Traceroute
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]Test-Connection
[-TargetName] <string[]>
-TcpPort <int>
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]
Yukarıdaki sözdiziminde -TCPPort ve -TraceRoute parametresini birlikte kullanamayacağınız gibi aynı anda bir set kullanabilirsiniz.
Ping Komutunu Kullanma:
ping [/t] [/a] [/n <count>] [/l <size>] [/f] [/I <TTL>] [/v <TOS>] [/r <count>] [/s <count>] [{/j <hostlist> | /k <hostlist>}] [/w <timeout>] [/R] [/S <Srcaddr>] [/4] [/6] <targetname>PowerShell Ping'i Nasıl Çalışır?
Ping komutu komut isteminde tanıtıldı ve PowerShell ile de kullanılabilir. Ping komutu, uzak düğümler üzerinden göndermek için ICMP (İnternet Kontrol Protokolü Mesajı) paketlerini kullanır ve karşılık olarak uzak düğümlerden yankı paketlerini geri alarak bağlantıyı kontrol eder. Ping komutu ayrıca DNS kaydının doğru yapılandırılması durumunda etki alanı sistemlerindeki ana bilgisayarın adını da belirler. PowerShell, Test Bağlantısı adı verilen ping'den daha güçlü bir komut sunmuştur. TestConnection + PingStatus'un birleşimidir.
Uzaktaki bilgisayara ping atmak için şunu kullanabiliriz:
Kod:
ping google.comÇıktı:
Test Bağlantısı Komutunu Kullanma.
Kod:
Test-Connection Google.comÇıktı:
PowerShell Ping Örnekleri
Aşağıda PowerShell Ping örnekleri verilmiştir:
Örnek 1 - Ana Bilgisayar Adını belirlemek için ping komutunun kullanılması.
Uzak sunucunun ana bilgisayar adını almak istiyorsanız, bunu belirlemek için ping komutunu -a parametresiyle birlikte kullanabilirsiniz.
Kod:
ping -a 192.168.0.200Çıktı:
-a parametresi bilgisayar adını IP adresi (PTR) kaydından alır.
Örnek 2 - Ping'in sürekli olarak alınması.
Bazen uzak sunucunun durumunu sürekli olarak kontrol etmemiz gerekir ve bu durumda -t parametresini kullanabilirsiniz, böylece Ctrl+C düğmesine basılana kadar yankı sonucunu döndürür.
Kod:
ping -a 192.168.0.206 -tÇıktı:
Örnek 3 - Bağlantı Testi komutuyla -Sessiz modunun kullanılması.
-Sessiz parametresi, Test Bağlantısı komutunun ürettiği çıktıyı bastırır ve çıktıyı Boolean formunda döndürür. Uzaktan bağlantı başarılı bir şekilde kurulursa true, aksi takdirde false değerini döndürür.
Kod:
Test-Connection -ComputerName 192.168.0.200 -QuietÇıktı:
Yanlış çıktı örneği,
Çıktı:
Örnek 4 - Sayımı -count parametresiyle kısıtlamak.
Varsayılan olarak Bağlantı Testi komutu 4 sayım oluşturur. Ancak istediğiniz sayıyı sınırlandırabilirsiniz.
Kod:
Test-Connection -ComputerName 192.168.0.200 -Count 2Çıktı:
Bu özellikle bir senaryo yazarken faydalıdır. Örneğin -Count ve -Quiet parametrelerini birleştirip çıktıyı hızlı bir şekilde alabiliriz.
Kod:
Test-Connection -ComputerName 192.168.0.200 -Count 1 -QuietÇıktı:
Betikte If else koşulunu kullanabiliriz.
Kod:
if(Test-Connection -ComputerName 192.168.0.200 -Count 1 -Quiet){
Write-Output "Server Connectivity Successful"
}
else{
Write-Output "Server Connectivity failed"
}Çıktı:
Örnek 5 - Birden fazla sunucu için Test Bağlantısını kullanma.
Test-Connection komutundaki -ComputerName parametresi bir dize dizisi olduğundan birden çok bilgisayar adını kabul eder.
Kod:
Test-Connection -ComputerName 192.168.0.200, 192.168.0.206, 192.168.0.230 -Count 1 | ft -AutoSizeÇıktı:
Hatayı yakalamak için try/catch bloğunun içinde kullanabiliriz.
Kod:
Try {
Test-Connection -ComputerName 192.168.0.200, 192.168.0.206, 192.168.0.230 -Count 1 -EA Stop | ft -AutoSize
}
Catch {
$_.Exception.Message
}Çıktı:
Örnek 6 - Hedef düğümün umutlarını belirlemek için -TraceRoute'un kullanılması.
Hedef düğüme olan rotayı belirlemek için -TraceRoute parametresini ekleyebiliriz.
Kod:
Test-Connection -TargetName www.google.com -TracerouteÇıktı:
Örnek 7 - Özel arabellek boyutunun ve gecikme sayısının ayarlanması.
Aşağıda gösterildiği gibi, özel arabellek boyutunu ekleyebilir ve birbirini takip eden istekler arasındaki gecikmeyi saniye cinsinden ayarlayabiliriz.
Kod:
Test-Connection -ComputerName 192.168.0.200 -Delay 3 -BufferSize 256Çıktı:
Örnek 8 - Test Bağlantısını arka plan işi olarak çalıştırmak.
-AsJob parametresini kullanarak Test-Connection komutunu arka plan işi olarak çalıştırabiliriz.
Kod:
Test-Connection -ComputerName 192.168.0.200, 192.168.0.206 -Count 2 -AsJobÇıktı:
İş Adını aldıktan sonra işin durumunu almak için İş Alma komutunu kullanabilirsiniz.
Kod:
Receive-Job -Name Job5Çıktı:
Örnek 9 - Uzak bilgisayara bir istek göndermek için birden fazla kaynağın kullanılması.
Uzaktaki bilgisayara istek göndermek için birden fazla kaynak kullanabilirsiniz.
Kod:
Test-Connection -Source 192.168.0.202, 192.168.0.206 -ComputerName 192.168.0.200 -Count 2Çıktı:
Örnek 10 - Farklı kimlik bilgilerinin kullanılması.
Kaynak ve uzak bilgisayarlar farklı etki alanlarındaysa farklı kimlik bilgilerini kullanabilirsiniz.
Kod:
Test-Connection -Source 192.168.0.206 -ComputerName 192.168.0.200 -Count 2 -Credential Automationlab\AdministratorÇıktı:
Çözüm
PowerShell ping komutu script yazarken kullanışlı komutlardan biridir. Uzak sunucunun çevrimiçi olup olmadığını belirlemek ilk adımdır. Çoğu zaman sunucunun güvenlik duvarında ICMP isteğini engelleme olasılığı vardır; bu durumda WINRM bağlantısının çalışıp çalışmadığını kontrol etmek için Test-WSMan gibi komutları kullanabilirsiniz.



















