Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Linux][polączenie zdalne][MINICOM][WinSCP][c#] - problem z odpaleniem komendy zdalnie

Ostatnio zmodyfikowano 2017-03-28 16:58
Autor Wiadomość
aaadam
Temat założony przez niniejszego użytkownika
[Linux][polączenie zdalne][MINICOM][WinSCP][c#] - problem z odpaleniem komendy zdalnie
» 2017-03-28 12:46:33
witam, mam za zadanie napisać dllke nie musi to być koniecznie ssh,czy winscp obojętne, na razie uzywam winscp.
tutaj przedstawie procedure którą mam do zautomatyzowania :
loguje się do urządzenia zdalnie po przez putty
uruchamiam polecenie : dmount
potem otwieram WinSCP
przekopiowuje poprzez WinScp plik w odpowiednie miejsce
zamykam WinSCP
wracam do putty
uruchamiam polecenie : udmount
uruchamiam polecenie : minicom
tutaj utwiera mi się proces minicoma i w nim mam wpisać komende ee wf
tutaj chwile się wgrywa i mam nacisnąć CTRL+A --> Q i pojawia się pole 'yes' / 'no' domyślnie  wciskam enter i czyli 'yes'
uruchamiam polecenie : reboot

większość jest trywialna ale mam Problem z minicomem ponieważ odpalając komende w c# nie dostane się do kontekstu minicoma tak mi się wydaje :) może jakoś można, nie muszę koniecznie korzystać minicoma czy ssh czy winscp obojętne poprostu ddlka ma działać :)kombinowałem coś ze skryptem w minicomie ale nie działa,jestem słaby jeżeli chodzi i sprawy związane z linuxem... a to mój kod w c#.
proszę o pomoc

C/C++
using System;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
using WinSCP;

namespace tmpssa
{
   
    /* first parameter : input  file path
         * second parameter : IP
         * third parameter : user login
         * fourth parameter : user password
         * fifth optional parameter :
         *
         * errors
         * returns  0 if everything went well
         * returns  1 if input file does not exist
         * returns  2 if input IP is incorrect
         * returns  3 if session failed
         * returns  4 if Unknown errors occurred
       
        */
    class Program
    {
        static int Main( string[] args )
        {
           
            string inputFileName = args[ 0 ];
            string tmpIp = args[ 1 ];
            if( !File.Exists( inputFileName ) )
                 return 1;
           
            Regex reg = new Regex( @ "^([0-9]{1,3}\.){3}[0-9]{1,3}$" );
            string value = reg.Match( tmpIp ).ToString();
            if( !( value.Length > 0 ) )
            {
                return 2;
            }
           
            SessionOptions sessionOptions = new SessionOptions
            {
                Protocol = Protocol.Sftp,
                HostName = tmpIp,
                UserName = args[ 2 ],
                Password = args[ 3 ],
                SshHostKeyFingerprint = "ssh-rsa xxxx xx:xx:xx:xx:xx:xx:xx:xx:xx:xxx:xx:xx:xx:xx:xx:xx"
            };
            Session session = new Session();
           
           
            try
            {
                TransferOptions transferOptions = new TransferOptions();
                //transferOptions.TransferMode = TransferMode.Binary;
                //transferOptions.TransferMode = OverwriteMode.Overwrite;
                try {
                    session.Open( sessionOptions );
                }
                catch { }
                if( session.Opened )
                {
                    session.PutFiles( inputFileName, "/mnt/", false );
                   
                   
                   
                    Console.WriteLine( session.ExecuteCommand( "minicom -S script.txt" ) ); <----tu mam Problem z tym minicomem
                   
                    //Console.WriteLine(session.ExecuteCommand("minicom -S script.txt"));
                   
                    session.Close();
                }
                else
                {
                    Console.WriteLine( "error" );
                    return 3;
                }
            }
            catch( Exception e )
            {
                Console.WriteLine( "Error: {0}", e );
                return 4;
            }
            //Console.WriteLine();
            //Console.WriteLine("exit");
           
           
            return 0;
        }
    }
}
P-159506
mateczek
» 2017-03-28 16:58:31
P-159530
« 1 »
  Strona 1 z 1