|
-
June 5th, 2009, 09:50 PM
#1
How do I make a Script to gather IP Address from .RDP then compile to .exe for VNC?
Hi
I need some help creating a script that can gather IP Address from within .RDP or .vRD files, then output to the IP Address to a text file.
I then need that IP Address from that text file to be automatically inputted into a .cpp file, subsequently compiled and given the same name as the .RDP or .vRD file.
The .cpp file is basically a batch file (without the Command-Prompt window) which launches vnc viewer (UltraVNC) with username and password, unlike .VNC files which are limited to password ONLY authentication. This dual authentication is achieved using the following;
vncviewer.exe /connect xx.xx.xx.xx:5900 /user USERID /password PASSWORD
lscrat was used to do the /connect etc.
Please give me an example of a script which can gather the IP Address & Name from .RDP or .vRD files, then input both the IP Address & Name into a logfile, subsequently copying the IP Address into a .cpp file, compiling it, then renaming the *.exe to the name which correlates to the IP Address.
Thanks in advance,
Panarchy
-
June 22nd, 2009, 09:19 AM
#2
Re: How do I make a Script to gather IP Address from .RDP then compile to .exe for VN
Greetings
I would like to update you on what progress has been made. The code is not yet complete, but if you have the time, and knowledge, could you please help me complete the script?
Here's what's been done so far;
Code:
#!/usr/bin/env perl
use strict;
my (@iplist,$template,$hostname,$currip) = ((),'','','');
#open ip list file
open(IPFILE,"<iplist.csv") or die "Failed to open IP list file.";
#read all lines into array
my (@ipfile,$i) = ((),0);
@ipfile = <IPFILE>;
#for each line in the ip file...
foreach(@ipfile)
{
#strip leading and trailing spaces off the line
chomp($_);
#use regular expressions to pull the
#ip address from the line. I have to
#check to see if the regex will do
#what it's supposed to.
($hostname,$iplist[$i]) =~ split(/,/);
chomp($iplist[$i]);
++$i;
}
#close ip list file
close(IPFILE);
#open template file
open(CPPTEMPLATE,"<VNC.cpp") or die "Failed to open template file.";
#load entire file into single string...
#undefine end-of-record variable, which is \n by default. this will result
#in the file being divided up into an array of lines instead of one single
#string like we want.
undef $/;
#read the file into $template.
$template = VNC.cpp;
#reset $/ to avoid problems.
$/ = "\n";
#for each ip address in the list...
foreach(@iplist)
{
#get the current ip
$currip = $_;
#open the output file
open(CPPOUT,">$currip.cpp") or die "Failed to open $currip.cpp for writing.";
#replace all instances of __PUTIPHERE__ in the template file with the
#current ip address.
$template =~ /__PUTIPHERE__/$currip/g;
#print the result to the output file.
print CPPOUT $template;
#close the output file
close(CPPOUT);
}
#close template file
close(CPPTEMPLATE);
#exit
1;
The above code is written in Perl, and is almost complete.
What the complete code should be able to do is;
Step 1. Process IP Address from CSV
Step 2. Process Name from CSV
Step 3. Input IP Address into VNC.cpp
Step 4. Compile with Name
[Then Loops]
Please help me complete the above code, or write some new code which completes the above steps.
Thanks in advance,
Panarchy
Sample CSV File: Book1.csv
Code::Blocks project: VNC.zip
Visual Studio 2008 project: VNC.zip
-
June 22nd, 2009, 11:53 AM
#3
Re: How do I make a Script to gather IP Address from .RDP then compile to .exe for VN
Well, PERL has the 'fork' and 'system' commands that allow you to execute shell command lines. Just use a "system" call, and run your favorite compiler/linker.
Viggy
-
June 27th, 2009, 09:06 AM
#4
Re: How do I make a Script to gather IP Address from .RDP then compile to .exe for VN
Thanks, sorry haven't had much time to look into how those commands work.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|