windows - Linux shell equivalent on IIS


Translate

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?


所有的回答
  • Translate

    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.


  • Translate

    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!


  • Translate

    I assume you don't mean cygwin, right?

    How about powershell, then?


  • Translate

    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...


  • Translate

    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


  • Translate

    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.


  • Translate

    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.