Quantcast
Channel: PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
Viewing all articles
Browse latest Browse all 6937

consolidating RDP service verify and system gateway and DNS verify

$
0
0

Hi every one,

 

  I got two posting two script one is used to check the RDP service status on the remote server and other one used to check the current gateway and DNS IP address associated with it.

 

  Both the scripts are working perfectly when its independent. When i consolidate both in one and execute the script on the server which has multiple NIC card its not working.  

  I am very much new to power shell seeking for help.. 

--------------------------------------------

Gateway and DNS verify scipt.

------------------------------------------

[cmdletbinding()]

param (

 [parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]

    [string[]]$ComputerName = $env:computername

)            

 

begin {}

process {

 foreach ($Computer in $ComputerName) {

 

  if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) {

 

   $Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $Computer | ? {$_.IPEnabled}

 

   foreach ($Network in $Networks) {

 

    $DefaultGateway = $Network.DefaultIPGateway

    $DNSServers  = $Network.DNSServerSearchOrder

 

    $OutputObj  = New-Object -Type PSObject

    $OutputObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $Computer.ToUpper()

    $OutputObj | Add-Member -MemberType NoteProperty -Name Gateway -Value $DefaultGateway

    $OutputObj | Add-Member -MemberType NoteProperty -Name DNSServers -Value $DNSServers

    $OutputObj

   }

  }

 }

}            

 

end {}

-------------------------------------------------------output----------------

get-Content .\serverl.ist.txt | ForEach-Object {.\getgw.ps1 -computername $_}

--------------------------------------------------

ComputerName                            Gateway                                 DNSServers

------------                            -------                                 ----------

QAVMFTC                              {10.247.98.1}                           {10.247.97.10, 10.247.97.11}

DNAS01                             {10.247.98.1}                           {10.247.97.10, 10.247.97.11}

DNAS01

DNAS01

DNAS01                             {198.18.2.1}                            {198.18.2.25, 198.18.2.26}

DNAS01

DNAS01

-------------------------- Output End----------------------------------------------

...............................RDP Verify Script start..........................................

param(

     [parameter(Mandatory=$true,ValueFromPipeline=$true)][string[]]$computername

     )

 

$results = @()

 

foreach($name in $computername){

 

        $result = "" | select Name,RDP

        $result.name = $name

 

        try{

           $socket = New-Object Net.Sockets.TcpClient($name, 3389)

           if($socket -eq $null){

                 $result.RDP = $false

           }else{

                 $result.RDP = $true

                 $socket.close()

           }

        }

        catch{

                 $result.RDP = $false

        }

        $results += $result

}

 

return $results

------------------------------- Output-----------------------------

get-Content .\serverl.ist.txt | ForEach-Object {.\RDP_Port_verify -computername $_}

 

Name                                                                                                                                  RDP

----                                                                                                                                  ---

QAVMFTC                                                                                                                           True

dnas01                                                                                                                          True

 

I am trying to consolidate the script into one for single output 

-------Script stats-----------------

[cmdletbinding()]

param (

 [parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]

    [string[]]$ComputerName = $env:computername

 

 

)            

 

 foreach ($Computer in $ComputerName) {

 

if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) {

$Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $Computer | ? {$_.IPEnabled}

}

foreach ($Network in $Networks) {

   $DefaultGateway = $Network.DefaultIPGateway

       $DNSServers  = $Network.DNSServerSearchOrder

 }

}

 

##################################

 

$results = @()

 

foreach($Computer in $computername){

 ##

        $result = "" 

        try{

           $socket = New-Object Net.Sockets.TcpClient($name, 3389)

      

           if($socket -eq $null){

                 $result = $false

           }else{

                 $result = $true

                 $socket.close()

           }

        }

        catch{

                 $result.RDP = $false

        }

        $results += $result

}

 

 

    $OutputObj  = New-Object -Type PSObject

    $OutputObj | Add-Member -MemberType NoteProperty -Name ComputerName -Value $Computer.ToUpper()

    $OutputObj | Add-Member -MemberType NoteProperty -Name RDP -Value $results

    $OutputObj | Add-Member -MemberType NoteProperty -Name Gateway -Value $DefaultGateway

    $OutputObj | Add-Member -MemberType NoteProperty -Name DNSServers -Value $DNSServers

    $OutputObj

 

----------------------------Output bellow--------------------------------------

get-Content .\serverl.ist.txt | ForEach-Object {.\test.ps1 -computername $_}

 

ComputerName                       RDP                                Gateway                           DNSServers

------------                       ---                                -------                           ----------

QAVMFTC                         {True}                             {10.247.98.1}                     {10.247.97.10, 10.247.97.11}

DNAS01                        {True}

 

The server which has multiple gateway and associated DNS IP is not visible at script output.  

 

 

 

 


Viewing all articles
Browse latest Browse all 6937

Trending Articles