PowerShell: Andres Kõrvemaa, testports.ps1: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Akorvema (talk | contribs)
No edit summary
Akorvema (talk | contribs)
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 3: Line 3:
   
   
.SYNOPSIS
.SYNOPSIS
     Skript hostide portide avatust vastavalt etteantud hostide ja portide mimekijale
     Skript kontrollib portide avatust vastavalt etteantud hostide ja portide nimekirjale.
   
   
.DESCRIPTION
.DESCRIPTION
     Skript kontrollib hosti portide avatust vastavalt parameetritena etteantud nimekrijadele.  
     Skript kontrollib hostide portide avatust/suletust. Hostide ja portide nimekirad antakse ette tekstifailidena.
     Juhul kui hostide või portide nimekija pole ettantud siis skript lõpetab töö.
     Juhul kui hostide või portide nimekija pole ettantud siis skript lõpetab töö.
Kontrollitavale ip aadressile tehakse nimelahendus ja avatud ja suletud pordid kuvatakse erivärviliselt.
    Kontrollitavale ip aadressile tehakse nimelahendus ja avatud ja suletud pordid kuvatakse erivärviliselt.
Avatud pordid on tulemuses rohelist värvi ja suletud punast värvi.
    Avatud pordid on tulemuses rohelist värvi ja suletud punast värvi.


.EXAMPLE
.EXAMPLE
Line 41: Line 41:
    
    
$ping = new-object System.Net.NetworkInformation.Ping
$ping = new-object System.Net.NetworkInformation.Ping
 
$ErrorActionPreference = "SilentlyContinue"


foreach ($ip in $hostlist) {
foreach ($ip in $hostlist) {
     $tulemus = $ping.send($ip)
     $tulemus = $ping.send($ip)
# Teeme ip aadressile nimelahenduse
$dnsnimi = ([System.Net.Dns]::GetHostByAddress("$ip")).HostName  
$dnsnimi = ([System.Net.Dns]::GetHostByAddress("$ip")).HostName  
$ErrorActionPreference = "SilentlyContinue"
     if (! $?){
     if (! $?){
         Write-Host "Host:" $dnsnimi $ip "- not found" -ForegroundColor Red
         Write-Host "Host:" $ip "- not found" -ForegroundColor Red
     }
     }

Latest revision as of 14:17, 31 May 2013

<#
 
.SYNOPSIS
    Skript kontrollib portide avatust vastavalt etteantud hostide ja portide nimekirjale.
 
.DESCRIPTION
    Skript kontrollib hostide portide avatust/suletust. Hostide ja portide nimekirad antakse ette tekstifailidena.
    Juhul kui hostide või portide nimekija pole ettantud siis skript lõpetab töö.
    Kontrollitavale ip aadressile tehakse nimelahendus ja avatud ja suletud pordid kuvatakse erivärviliselt.
    Avatud pordid on tulemuses rohelist värvi ja suletud punast värvi.

.EXAMPLE
    ./testports.ps1 hostlist.txt portlist.txt

.VERSION
    0.2
 
.NOTES
    Autor: Andres Kõrvemaa
 
#>
 
 
# Deklareerime parameetrid
param([string]$hostid,[string]$pordid)
# Kontrollime Hostide nimekirja olemasolu
if ($hostid -eq ""){
    Write-Host "Hostide nimekirja pole määratud! " -ForegroundColor Yellow
    break
    }
# Kontrollime portide nimekirja olemasolu	
If ($pordid -eq ""){
    Write-Host "Portide nimekirja parameetrit pole määratud !!" -ForegroundColor Yellow
    break
    }
# Loeme failist sisse hostid 
[Array]$hostlist = Get-Content $hostid
# Loeme failist sisse pordid
[Array]$ports = Get-Content $pordid
  
$ping = new-object System.Net.NetworkInformation.Ping
$ErrorActionPreference = "SilentlyContinue"

foreach ($ip in $hostlist) {
    $tulemus = $ping.send($ip)
# Teeme ip aadressile nimelahenduse
	$dnsnimi = ([System.Net.Dns]::GetHostByAddress("$ip")).HostName 
	$ErrorActionPreference = "SilentlyContinue" 		
    if (! $?){
        Write-Host "Host:" $ip "- not found" -ForegroundColor Red
    }
	
	
    else {
        if ($tulemus.status.tostring() eq Success) {
		
            write-host  $dnsnimi  $ip "- Ports: " -foregroundColor Yellow -NoNewline
            foreach ($port in $ports){
                $socket = new-object System.Net.Sockets.TcpClient($ip, $port)
                if ($socket eq $null) {
                    write-host "$port," -ForegroundColor Red -NoNewline
                }
                else {
                    write-host "$port,"-foregroundcolor Green -NoNewline
                    $socket = $null
                }
            }
        }
        else {
            write-host "Host: $ip - down" -ForegroundColor Red
        }
    }
Write-Host ""
}
$ping = $null