Terminal Services is one of the simplest ways to remotely manage a Windows 2000 server, but one of it's few shortcomings is it's inability to copy files between client and server out of the box. While there are options available to get around this, from installing an FTP server to fiddling with MS's RDPClip program, none of them are nearly as painless and simple as they should be; and that's why AnalogX TSDropCopy was born!
:::Configuration:::
TSDropCopy has many options that can be customized to help tailor it to your needs. The configuration menu can be accessed by right-clicking on the icon in the system menu and choosing "Configure". Here's a quick breakdown of what all the configuration options basically mean:
Always on top Pretty obvious, it makes the little progress/status
window always remain on top of all the other
windows on the system.
Auto start If you would like to have TSDropCopy start up with
the machine, then turn this on. This is a great
option for the server, so when you log on it auto-
magically runs TSDC for you.
Enable SendTo Adds TSDC to the SendTo right-click menu in the
Windows Explorer. With this you can quickly shoot
a file over to your server while browsing.
Open receive window With this checked, whenever you receive a file it
will automatically open the progress/status window.
Open send window As with the 'Open receive window' command, with
this the progress/status window will be opened
whenever sending a file.
Prompt on overwrite If a file exists on the receiving end, then a
dialog will ask whether or not a file should be
overwritten with the new data.
Minimize on success Once a transfer completes successfully, this option
will close the progress/status window. If any
problems are encountered during the transfer, the
window will remain open.
Server name This is the unique name of the machine you are
currently configuring. Should be alphanumeric only.
Default path This is the default path that files are copied into
when TSDC has no clue where to put them.
Success sound This is a WAV sound file that is played when a
transfer is successful. If left blank, nothing is
played.
Failure sound This is a WAV sound file that is played when a
transfer fails for some reason. If left blank,
nothing is played.
:::Naming each instance:::
Each copy of TSDropCopy that runs must be given it's own unique server name in order to avoid any confusion about the source of the incoming file. When you install TSDC it will automatically generate a server name, but I highly recommend that you change this to something that's easy to remember and makes sense. For example, you might set the server name on the client machine as "Home" and your server's server name might be "Server". These server names are also used in the path mapping to help differentiate between different machines.
:::Path mapping:::
One of the most powerful aspects of TSDC is it's ability to map paths, which can be configured for each client. What this means is that if you have a local file called "C:\HTML\Images\File.gif", you can configure the server to translate this request into something like "C:\INetPub\Website\Images\File.gif" automatically. To set up mapping, simply right click on the icon on the system tray and choosing File mapping. Once the dialog is open, just click on 'New', enter in the name of the server the file would be coming from, followed by the path the file would be coming from; in the above example the "Remote path" would be "C:\HTML\". Finally select what the remote path is mapped to, so in the above example it would be "C:\INetPub\Websites\".
You may also notice the "Inherit sub-paths" option; what this tells the program to do is to automatically use the remainder of the path in the new filename. If this was not turned on in the above example, the incoming path "C:\HTML\Images\File.gif" would have been translated into "C:\INetPub\Websites\File.gif", excluding the \Images\ subdirectory. If inherit is turned on, then it would create the \Images\ subdirectory and copy the file into there.
:::Making the magic happen:::
You can use TSDropCopy in a variety of ways; through the SendTo menu, by selecting "Copy file" from the right-click menu, or double-clicking on the icon and dragging files onto the copy dialog. Of course, a copy of TSDropCopy must be running on the remote computer in order for it to receive files, and vice versa if you're attempting to get files back to your local machine. Once a transfer has been initiated you may close the progress window and the transfer will continue without a hitch (if you want to see the progress again, just double-click on the icon on the system tray).
:::Limitations:::
The way that TSDC copies files between machines is by using a mini packet protocol that communicates over the clipboard - which is shared natively by Terminal Services. The upside to this approach is that it's very easy to use and install, the same program can be run on either machine as either client or server, and you get to use all the security features already built into Terminal Services. The downside to this approach is that you can only realistically transfer one file at a time, and when a transfer is taking place you should consider the clipboard to not be usable. Now, the clipboard can still be used, but when it is it will stall out the transfer for about five seconds (hopefully enough time for you to do whatever it is you needed to do.
:::Client needs:::
TSDC requires the use of the latest version of the Terminal Services client, which Microsoft now calls "Remote Desktop Connection". You can find the latest version here:
http://www.microsoft.com/windowsxp/pro/downloads/rdclientdl.asp
It will work find on any version of Windows, including 95 (believe it or not).
:::That's all folks:::
I'd like to thank Marco over at WebAttack.com for helping to test the program along with suggesting several features. Thanks also go out to Steve over at GRC.com for helping come up with the name - it was tough work! :)