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