views:

437

answers:

7

As a LAMP developer considering moving to a .Net IIS platform, one of my concerns is the loss of productivity due to lack of shell... Has anyone else had this experience? Is there possibly a Linux shell equivalent for Windows?

+2  A: 

I assume you don't mean cygwin, right?

How about powershell, then?

lbrandy
+2  A: 

Are you asking about Linux shell as in an environment to work in? For that CygWin I think has been around the longest and is pretty robust: http://www.cygwin.com/

A while ago I found a windows port of all the popular linux commands I use (ls, grep, diff) and I simply unzip those to a file, add it to my PATH environment and then can run from there: http://unxutils.sourceforge.net/

Or are you talking about executing shell commands from within your code? If you're in the .net sphere, there is the Process.Start() method that will give you a lot of options.

Hope this helps!

Dillie-O
A: 

If you're referring to simply accessing your IIS server from a remote location, remote desktop generally solves that problem. Assuming your server has a static IP address or a host name you can access from the internet, remote desktop is a simple and relatively secure solution.

Is there a problem with this answer? Now I have negative reputation...

Justin Bennett
+1  A: 

The best way I can think of would be to use Cygwin over an OpenSSH connection. Here's a document that explains how to do just that:

http://www.ucl.ac.uk/cert/openssh_rdp_vnc.pdf

saniul
A: 

You should make your choice of server platform based on the environment as a whole, and that includes the admin/management interfaces supplied.

I'm afraid that if you don't like the way Windows implements management of IIS, then that's too bad. Having said that, a bit of delving around in the WMI interfaces will generally yield a solution that you should find usable. I used to do quite a bit of WMI scripting (mostly via PowerShell) in order to have a reliable environment rebuild capability.

ZombieSheep
+1  A: 

Remote shell doesn't solve the productivity issue. (It merely makes things possible.)

From what I've heard, everything that the future Microsoft GUI:s do will be possible to do with powershell since the GUI:s use the same API:s as those that are available from powershell.

Personally, I love cygwin but cygwin can not help you manage Microsoft applications.

You might be surprised, however, how powerfull the Windows Scripting Host is when coupled with Window Management Instrumentation. I think IIS is fully manageable with WMI or some COM objects that can be easilly used from a JScript WSH script.

Hugo
+5  A: 

Depending on what version of IIS you're considering, I would second lbrandy's recommendation to check out PowerShell. Microsoft is working on a PowerShell provider for IIS (specifically version 7). There is a decent post about this at http://blogs.iis.net/thomad/archive/2008/04/14/iis-7-0-powershell-provider-tech-preview-1.aspx. The upcoming version of PowerShell will also add remoting capabilities so that you can remotely manage machines. PowerShell is quite different from *NIX shells, though, so that is something to consider.

Hope this helps.

David Mohundro