#### Provide the computer part name in $ServerName variable $ServerName = "ash000" $StartNumber = 145 #start number to add to computer name $EndNumber = 148 #end number to add to computer name $RdpPort = 3389 # port to test for RDP connectivity ##### Script Starts Here ###### function DoWork { for ($i = $StartNumber; $i -le $EndNumber; $i++) { $Server = $ServerName + $i TestComputerName -ComputerName $Server } } <# .Synopsis Check connectivity of a system .DESCRIPTION This function pings and opens a connection to the default RDP port to verify connectivity, futhermore it will check if a DNS entry exists and whether there is a computeraccount .NOTES Name: Test-ComputerName Author: Jaap Brasser Version: 1.0 DateUpdated: 2013-08-23 .LINKRunning this script provides a quick view of server availability in DNS, ping response and RDP connectivity.Start.PARAMETER ComputerName The computer to which connectivity will be checked .EXAMPLE Test-ComputerName Description: Will perform the ping, RDP, DNS and AD checks for the local machine .EXAMPLE Test-ComputerName -ComputerName server01,server02 Description: Will perform the ping, RDP, DNS and AD checks for server01 and server02 #> function TestComputerName ($ComputerName) { begin { $SelectHash = @{ 'Property' = @('Name','DNSEntry','PingResponse','RDPConnection') } } process { foreach ($CurrentComputer in $ComputerName) { # Create new Hash $HashProps = @{ 'Name' = $CurrentComputer 'DNSEntry' = $false 'RDPConnection' = $false 'PingResponse' = $false } # Perform Checks switch ($true) { { $(try {[system.net.dns]::gethostentry($CurrentComputer )} catch {})} { $HashProps.DNSEntry = $true } { $(try {$socket = New-Object Net.Sockets.TcpClient( $CurrentComputer, $RdpPort);if ($socket.Connected) {$true};$socket.Close()} catch {})} { $HashProps.RDPConnection = $true } { Test-Connection -ComputerName $CurrentComputer -Quiet -Count 1} { $HashProps.PingResponse = $true } Default {} } # Output object New-Object -TypeName 'PSCustomObject' -Property $HashProps | Select-Object @SelectHash } } end { } } DoWork ########## end of script #######################