Last week, I released the remote file explorer powerpack for PowerGUI. The concept of this powerpack is quite simple. We use PowerShell remoting to access the PS drives of a remote machine and then use the same remoting channel to transfer files between computers.
So, here is the first release of this forms based script. I have put this on CodePlex for better visibility and availability. This will also let me use the version control features of CodePlex. I am no expert in developing GUI applications and there will be some inefficient code. Do let me know when you find some thing like. I will fix it as soon as possible.
The project is available at http://psremoteexplorer.codeplex.com/ and the latest release is http://psremoteexplorer.codeplex.com/releases/view/40933.
Here is how the initial release looks
As shown in the above screenshot, I have used TreeView control for the computer listing and then a DataGrid for listing the files.
1. PowerShell 2.0
2. pModem 0.5 or later pModem download: http://www.nivot.org/2009/11/02/PowerShell20IntroducingThePModemFileTransferProtocol.aspx
Make sure you copy this module to all remote computer to the $ENV:PSModulePath
3. You need to run this script with admin elevated privileges
1. Enable PS remoting on computers by using Enable-PSRemoting. For guidance on how to do this in a workgroup environment check http://www.ravichaganti.com/blog/?p=1060
2. Check PS remoting on each computer by using Enter-PSSession -ComputerName Localhost
3. Make sure execution policy is set to run unsigned scripts
4. Download the latest release and extract it to c:\scripts. At present, this path is hardcoded for pulling the node images. If you don’t like it, change the path in the script.
Running the Script
At PowerShell command prompt, dot source the PS1 script. This opens up the forms interface. By default, Localhost is always displayed in the tree view. You can add a remote computer by clicking on Add Computer button.
To transfer a file, click on the row header within the data grid view and click Get remote File button.
At present, this supports only remote file transfers. Sending local files to remote machines is not implemented yet. The Get Remote File and Send Local file button are context aware and get enabled or disabled based on the machine context.
Check the release notes for a list of known issues