Hi Philip,
I used these commented lines just to show that I've tried all these options, but, none of them is working :(. For you, I've copied lines of code that is being executed. Please see below code-
use Net::Telnet;
BEGIN { $|=1 }
$user = "administrator";
$pass = 'pass';
$telnet = new Net::Telnet ( Timeout=>20, Errmode=>'die', Prompt => '/[
+%#>] ?$/', Dump_Log=>"dumplogs.txt", Input_log=>"inputlogs.txt", O
+utput_log=>"outputlogs.txt");
$telnet->open('xx.xx.xx.xx');
$telnet->login(Name=>$user, Password=>$pass, Prompt => '/[%#>:] ?$/');
$command = qq(msiexec \/qn \/i \\\\10.210.156.150\\SEP_Builds\\Jaguar\
+\Integration\\940\\DVD-SEP-EE\\SEPx64\\Sep64.msi \/norestart RUNLIVEU
+PDATE=0 \/l\*v C:\\Compatibility_Automation_Temp\\SepClientInstallLog
+.txt);
print "command is: [$command]\n";
@output = $telnet->cmd(String=>$command);
print "output is:\n@output\n";
exit;
The output of this command seen from the "inputlogs.txt" is mentioned below-
Welcome to Microsoft Telnet Service
login: administrator
password:
*===============================================================
Microsoft Telnet Server.
*===============================================================
C:\Users\Administrator>msiexec /qn /i \\10.210.156.150\SEP_Builds\Jagu
+ar\Integration\940\DVD-SEP-EE\SEPx64\Sep64.msi /norestart RUNLIVEUPDA
+TE=0 /l*v C:\Compatibility_Automation_Temp\SepClientInstallLog.txt
C:\Users\Administrator>
Now, if I copy and paste the same command I see in inputlogs.txt file, this command works well on remote mahcine. but using this script, it doesn't. Please help me with this.
| [reply] [d/l] [select] |
| [reply] |
Hi Philip,
Here, I want to mention a point. Actually, I wanted to remove the dependencies of installing something on remote machine. That is why I came up with this "Telnetting" idea. Otherwise, earlier I was doing this stuff using Jenkins(a tool that allows us to add client machine and fire commands on the client). In that case, there were so many dependencies of installing Java, Perl with required modules etc. So, I thought to get rid of it and just use telnetting and fire commands from there. In this way, I don't require to install anything on remote machine. just need one machine with everything installed as a server from where I can initiate this telnet script.
I hope, you have understood my problem. Now, as you were asking about any simple command to run using this script, please see below script with its output-
use Net::Telnet;
BEGIN { $|=1 }
$user = "administrator";
$pass = 'crt@123';
$telnet = new Net::Telnet ( Timeout=>20, Errmode=>'die', Prompt => '/[
+%#>] ?$/', Dump_Log=>"dumplogs.txt", Input_log=>"inputlogs.txt", O
+utput_log=>"outputlogs.txt");
$telnet->open('10.217.50.218');
$telnet->login(Name=>$user, Password=>$pass, Prompt => '/[%#>:] ?$/');
$command = qq(ipconfig && hostname);
print "command is: [$command]\n";
@output = $telnet->cmd(String=>$command);
print "output is:\n@output\n";
exit;
And the output of this script is-
C:\Compatibility_Automation_Temp>perl test1.pl
command is: [ipconfig && hostname]
output is:
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : crt.com
Link-local IPv6 Address . . . . . : fe80::a489:bdd0:bbd7:748a%11
IPv4 Address. . . . . . . . . . . : 10.217.50.218
Subnet Mask . . . . . . . . . . . : 255.255.252.0
Default Gateway . . . . . . . . . : 10.217.48.1
Tunnel adapter isatap.crt.com:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : crt.com
WIN-3K3OARCE05I
C:\Users\Administrator
Here, you can see it's working fine. Please suggest me for further.
| [reply] [d/l] [select] |