Next Topic

Previous Topic

Book Contents

Examples

Powershell Script

Communicate to Cisco Router using EDF

Param(
  [parameter(position=0,Mandatory=$true)][validatenotnull()][String]$devicename,
  [parameter(position=1,Mandatory=$true)][validatenotnull()][String]$deviceip,
  [parameter(position=2,Mandatory=$true)][validatenotnull()][String]$testname,
  [parameter(position=3,Mandatory=$true)][validatenotnull()][String]$edfcounter
)
function readResponse {
  while($stream.DataAvailable)  {  
    $dataLength = $stream.Read($buffer, 0, 1024)    
    Write-Host $encoding.GetString($buffer, 0, $dataLength)
  } 
}
function insert-result
{
  Begin
  {
    ## Open the socket, and connect to the computer on the specified port
    $socket = new-object System.Net.Sockets.TcpClient("192.168.10.21", 7657)
    if($socket -eq $null) { return; }
    $socket.SendTimeout = 10
    $socket.ReceiveTimeout = 10
    $stream = $socket.GetStream()
    $writer = new-object System.IO.StreamWriter $stream
    ## Log into the EDF server
    $writer.WriteLine("login edfuser | fixme")
    $writer.Flush()
    Start-Sleep -m 1000
    readResponse($stream)
    ## Insert test result
    $writer.WriteLine("result.insert $devicename | $deviceIP | $testName | | 0 | $edfCounter")
    $writer.Flush()
    Start-Sleep -m 1000
    readResponse($stream)
    ## Log out of the server
    $writer.WriteLine("logout")
    $writer.Flush()
    ## Close the streams
    $writer.Close()
    $stream.Close()
  }
}
$buffer = new-object System.Byte[] 1024 
$encoding = new-object System.Text.AsciiEncoding 
. insert-result