EDIT is pretty old stuff. I just use notepad, or maybe an advanced programmer's editor like ConText or Crimson Editor (which can highlight keywords, both free). Sometimes I use Vi on Windows for the "Regular Expression" support! Just create the text anyhow and save with either .cmd (preferred) or .bat extension (see here <http://en.wikipedia.org/wiki/Batch_file> for differences) - then run it. The VB family (VB, VBA, VBS) are different. They need a "runtime" to provide library functions. In Excel VBA, the runtime is built into Excel (VBA scripts don't run in isolation). In full-blown VB, you have to provide a runtime as part of the installation package. With VBS, you can use Cscript.exe or Wscript.exe to provide the necessary environment within the NT command-line environment. See http://support.microsoft.com/kb/232211 for more, or see http://technet.microsoft.com/en-gb/scriptcenter/default.aspx for tons of stuff. Do understand that vanilla NT scripting is considered really old hat these days. After my signature I'll paste in a recent (crude) example NT script. Copy into Notepad and save as PingMonitor.cmd and run it. All it does is loop, pinging an IP address (set in a variable), in this case the BBC. When it responds, it plays a sound (your path may vary, as may your file association for *.wav files), changes the colour of the text in the window and sets the window's title to "### UP ###". You can leave it running in the background, minimised, and if you glance at the taskbar icon it tells you the connection status of the remote machine - that's if you don't notice Windows Media Player popping up to play the TADA sound! If you need to stop it, use Control-C in the command window. If you have VNC running on remote machines which get their addresses from DHCP, then you have two options. Run a listening client at your end, and manage your own incoming port forwarding for port 5500. Then the client simply has to right-click their VNC server icon and enter your IP or domain address, and it'll connect. To speed this up, you can leave a command script on their desktop (etc) which runs: WinVNC4.exe -connect YOURADDRESS I've wrapped mine up in all sorts of VBS which pops up an information panel and checks for a running server - this now needs work to cope with Vista. If you're trying to initiate a connection from a Vista box running VNC as a service you need to add "-service" in the line above. Here the user is connecting to you, of course. The other option is to use Dynamic DNS. I use DynDNS.com. You register for an account, and add a (free) Dynamic DNS hostname. It picks up your current IP address, and links that with a third-level domain name you invent, choosing from a range of second-level domains available. To maintain the connection when the IP address changes, you should download, configure and run the updating client available on the DynDNS site (under support). Works a treat - usually propagates within 5 to 10 minutes after the new address is detected by the update client. Then, if port forwarding is configured (or unnecessary) at the remote end, and firewalls are appropriately set, you can simply give the DynDNS domain name as the remote (server) address in the VNC client. DynDNS have paid-for services which you might need, depending on your requirements. If you're reaching a number of machines through one (reasonably sophisticated) router, you can set up "rules" to accept VNC connections on other ports (add a double-colon and the port number after the address in the client's address box) and have the router configured to route it to the preferred machine, translating the port to 5900, the standard one for VNC. If your router can't do that, then you can configure VNC to respond on a different port, and route that port to the particular machine. Hope that helps. Philip Herlihy : : : : Here's that example NT script: ============================= set addr=212.58.254.252 echo off title down color 0C :loop ping -n 1 -w 10000 %addr% | grep -i "TTL" if errorlevel 1 GOTO :loop color 0A title ### UP ### C:\WINDOWS\Media\tada.wav pause
_____ From: Dale Eshelman [mailto:eshelm...@gmail.com] Sent: 05 July 2009 17:12 To: Philip Herlihy Subject: Re: Command-line connection to listening client from Vista machine? [now SCRIPTS] Thanks I have wondered how to do this in Windows. I have written DOS batch files, UNIX scripts, written COBAL programs, written al lot of Excel macros in Visual Basic for Applications (VBA). Have heard IT people talk about writing SCRPTS but did not know what that meant. I have gone to start-run and typed EDIT. Entered DOS commands and saved the file with and extension BAT. Did not know there is a command line in Windows and I guess that is cscript.exe. But not sure how to open a blank window to enter script. Or do you just open a text editor and start typing, save with an extension CMD, type the name of the script you just saved and it runs? Not sure. Definitely need to find out more about it so I can work on it. Gee I can not believe I have used windows all this time and not learned about this. Any guidance would be appreciated or even samples. Very interested in the VNC thing as we have a number of users with DHCP that we need to come up with a fixed IP by registering to track (although not sure how this works) and set up a script to have them run so we do not have to spend a long time walking them through finding the IP and starting VNC. Dale On Jul 5, 2009, at 10:31 AM, Philip Herlihy wrote: Sorry it's taken so long to respond - inundated with email lately! >From the way you frame your question it sounds as if scripting would be a new avenue for you. I'll give a brief summary here (for fear of exasperating experienced scripters). If you want more information, contact me direct. "Scripting" simply means storing a series of commands in a file and then running the file in one go. It's a close cousin to "programming" - loosely, programs are normally converted into a binary program by a "compiler", while scripts are usually "interpreted" line by line by some other running program. There are several "interpreters" available for Windows NT and its descendents. If you click Start, Run, then type CMD and click OK you'll get the familiar DOS-like command interpreter. With a few adjustments, anything you type in there can be stored in a script and run. If you put the following lines in a text file: DIR PAUSE .. and save that as mytest.cmd (not mytest.txt) you can double-click it and you'll see the black window appear with the output of the DIR command (which lists files) and a line inviting you to press any key to continue (at which point the screen disappears, which is why many of my scripts end with PAUSE!). If you Google for "NT Command Line" or "NT Command Scripting" you'll find loads of resources, and I rather like the book on NT Shell Scripting by Tim Hill (Macmillan 1998). I tend to use plain NT scripting for simple scripts. Other "interpreters" include "Windows Scripting Host" (usually already installed as part of Windows) which can interpret Visual Basic Script (VBS) commands, which are much more powerful than the rather creaky NT command-line interface. I tend to use VBS for more complex scripts, as the error-handling in NT scripting is rudimentary. VBS can also interact with Excel and other Office programs in a sophisticated way. More recently another interpreter has become available, and this promises something like the (awesome and underused) power of Unix scripting: PowerShell. Non-trivial, but immensely powerful. Some of Microsoft's flagship server products are expected to be administered mainly by Powershell scripting in their most recent versions. I got through two chapters of the book (still next to my workstation) before other work blew that away... How does this affect RealVNC users? Well, I provide the people I support with a simple script which they click to connect to my "listening client". I've set up port-forwarding at my end to allow port 5500 through to my preferred machine, and all Uncle Joe has to do to get my help is double-click the script's icon on their desktop. The advantage of this arrangement is that I can deal with firewall problems at my end without having to get them to fiddle with such mysteries at their end - it just works. I think it would also be possible to create a script which would check regularly for a working connection and reconnect if none existed, but that's for another day/month/year. In the past (XP and earlier) I've used a script which pops up an explanatory message box first (giving the option to cancel in case of a finger-fumble), then checks for a running server and then connects to my hard-coded address. I'll be happy to send you (or anyone else interested) a copy of this on request. The essential line is: WinVNC4.exe -connect <phils-domain-address> .. where phils-domain-address is a domain name provided by my ISP, although an IP address will do. If you have a dynamic IP address, you can use DynDNS.com (free) to set up a domain name which will track your changing IP address (assuming you run the update client on at least one running machine). My original question was about Vista. I've found that including the term "-service" in the line above allows the connection to work (in the configurations I've set up), but I need to modify my script to check whether a server is running as a service or in user-mode, or not at all. Nevertheless, if you get the person needing support to check manually if the server is running (task manager or spot the icon) then that one line may be all you need in a simple script. Lord knows when I'll get round to doing the modification to my script, but I doubt it'll turn out to be any more difficult than what worked well for XP. I must say that the documentation for Command Line use of RealVNC is rather inadequate (or is it just hard-to-find?). Hope that's useful. Philip Herlihy, London -----Original Message----- From: vnc-list-boun...@realvnc.com [mailto:vnc-list-boun...@realvnc.com] On Behalf Of Dale Eshelman Sent: 21 June 2009 06:11 To: Philip Herlihy Cc: vnc-list@realvnc.com Subject: Re: Command-line connection to listening client from Vista machine? I would be interested to know how to create a script in WXP Pro as I have never done it. Can you provide more information on how to create a script to use and how then to use the script? On Jun 20, 2009, at 8:10 AM, Philip Herlihy wrote: On XP machines I've set up a script which invokes a connection to a listening client: vinvnc4.ext - connect MyClientHost.MyDomain.com - very useful. This doesn't work on Vista. Can anyone advise on how I'd do the equivalent from a command-line or command-file? The Vista box has VNC running as a service. Phil, London Dale Eshelman eshelm...@gmail.com ShopToEarn (Dist ID 105985) http://www.ShopToEarn.net/DaleEshelman <http://www.ShopToEarn.net/Eshelman> MonaVie (Distr ID 1316953) http://www.monavie.com/Web/US/en/product_overview.dhtml The closer I get to the pain of glass in Windoz, the farther I can see and I see a Mac on the horizon. _______________________________________________ VNC-List mailing list VNC-List@realvnc.com To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list