RAWL stands for Remote Access Wrapper and Logger. Basically it "wraps" several
remote administration utility and logs their start time and duration, along
with user comments.
I frequently administer remote systems, with different methods, such as
UltraVNC,
pcAnywhere, Remote Desktop, Putty and RconIP, to just mention a few.
Since my day is scattered with these little tasks, and sometimes I need to
know what task was done, and most importantly how long did it take to show
(or even invoice) my time to the customer
Since there is no logging possibilites in the above mentioned products, and
even if there would be, probably wouldn't be the same format, and would need
to do something to combine them to a "general", all-in-one log, I had no other
choice, but to write one.
Since it was meant to be windows based, and a requirement for not to install
other things (perl, kix, etc.), vbscript was the "winner" language of choice.
First I planned to have a menu, but then I realized that it is not possible
to have in VBS, and also a standard shortcut with the required parameters
would be fine and maybe the most convenient to manage.
So, the script needs 2 arguments at least, for example a vnc shortcut can
look like this:
wscript rawl.vbs 192.168.1.20 vnc
where 192.168.1.20 is obviously the IP address (hostname) and "vnc" is the
type.
Types currently supported:
vnc - UltraVNC
rdp - Remote Desktop
pcaw - pcAnywhere
putty - putty
rconip - RconIP [for NetWare]
notepad - launch and log notepad.exe start/stop
iexplore - launch and log an Internet Explorer start/stop
You can pass other options after the required two, such as port, username,
password (Though I do not recommend to store passwords in a link...) for example:
vnc: /password MyPassword
putty: -P port -l LoginName -pw MyPassword (LoginName can be also specified at hostname as: Loginname@hostname)
Paths for the applications - taken from the code:
exeVNC="C:\Program Files\UltraVNC\vncviewer"
exeRDP="mstsc.exe"
exePCAW="awrem32.exe ""Network, Cable, DSL.chf"""
exePutty="C:\Program Files\Putty\Putty.exe"
exeRconip="C:\Program Files\RconIP\RconIP.exe"
exeNotepad="notepad.exe"
exeIExplore="C:\Program Files\Internet Explorer\iexplore.exe"
PCAnyWare is not making our life easier with this "forced" chf [residing in
different directory than the exe] usage. Might need to edit accouring to your
local locations.
More info here.
Since Putty and RConIP for NetWare are "just tools", with no installation
troubles and conveniences, so you would have to manually copy them to
"C:\Program Files" or change directory here in the variables.
Features:
- logs application start date/time yyyy.mm.dd
(ISO/"normal" format),
length of session, servername, method, comment at launch, comment at finish.
Sample log entry:
2007.03.29 11:29:48 0:13:41 somecompany.com putty "dns restart" "ok"
Actually there are tabs between the entries and comments are not "quoted".
- if a session gets broken "hard" in the middle (like: power failure at the
client), a .tmp file which is created at the start gets read at the next start
of rawl, and it will ask for estimated time spent with the session and finish
comment, then log it normally.
Problems/bugs
- not handling empty hh:mm at input, if .tmp is to be finished
- launching symantec pcAnywhere is problematic, as there are different versions
of pcAnywhere, and also if it is not launched "the way it wants", it displays
a window with: "fixme", application launches, but clicking on that windows will
close it...