Interview with Lee Holmes from Monad team!

[MZ] How would you compare Monad to Ruby (as far as I know it is object-oriented shell for Linux, however dont have practical experiences)

[LH] Ruby is actually a programming language. There is an interactive Ruby Shell, but it doesn't really have support for system administration tasks, such as changing directories, maintaining files, getting processes, etc.

However, MSH is also a scripting language, which would be a valid target for comparison to the Ruby programming language. However, that would be quite an enormous comparison, to do it any justice.


[MZ] I am from czech republic, we are using different date format (dd/mm/yyyy). How to add values to variable by specifying these its properties? I mean something like [DateTime]$Test -Month=12 -Day=24

-year=2005

[LH] The .Net framework (and by extension, Monad,) is very aware of multiple cultures. At your command prompt, you just type as though you normally would type in a date:

$date = [DateTime] "02/10/2005"

COMMENT: I sent this question to Lee again :) The problem is that czech culture is using different time format and I would like answer to this question - it is VERY common error in batches here :(


[MZ] hmmm, what do you think about running Monad on Linux (maybe based on

Mono?) :)

[LH] Monad uses a lot of features not yet available on Mono. It would be interesting, but not yet possible.


[MZ] will there be "remoting" capability in Monad? Something like /node switch in WMIC?

[LH] Definitely. It's something we're working on, and I'm quite looking forward to it.


[MZ] Will there be only MSH or also cmd as shell in Vista? This is quite important question and I didnt find answer - I am afraid windows administrators are too lazy to learn new things :(

[LH] I doubt that cmd.exe will ever go away. People have a lot invested in their batch files, and it would be a travesty if they were to all stop working.


[MZ] what about support for encrypted scripts? Like .vbe or autoit compilations?

[LH] Monad doesn't support any type of obfuscation or compilation of its scripts. That's primarily because there is no such thing as an encrypted script :) You can make it slightly harder for people to reverse-engineer your code, but not much. Just think about how easy it is for people to read and reverse engineer assembly language.


[MZ] Also one thing I am missing these days - will there be any chance to encrypt somehow administrator password? The problem with today scripts is you must almost everytime use plain text password/use interactive scheduled task :(

[LH] There is some degree of support for encrypted credentials -- take a look at the get-credential command. It's restricted to interactive sessions, though. To protect the password from casual file snoopers, you can experiment with new-secureString, export-secureString, and import-secureString. That said, the moment your script passes the password to another program, it's exposed for the world to see.


[MZ] What about signed scripts? I am afraid it isnt really good idea, because administrators/geeks wont use them and the final effect would be that almost everybody (I mean every person using MSH :)) will disable them in first place. Will there be any other way to secure scripts - like personal/public keys (similar to old PGP)?

[LH] I'm not sure what you mean here. You think nobody will want to sign their scripts, yet you wonder if we offer a way to sign them via PGP? We don't support PGP signing of scripts, but it is very easy to set yourself up with a "self signed" certificate to sign your own scripts. I'll be writing something about this in the near future.


[MZ] small question - will you add ability to create variable without iniciating it? Like $Variable = [DateTime] or [DateTime]$Variable?

[LH] Why do you ask? I've never seen the need for this feature, so you might just be thinking about the problem in a way that can be solved differently.

COMMENT: I meant this question to provide similar functionality like Dim Today as DateTime. Waiting for kind response from Lee....


[MZ] How to rewrite function Prompt? I tried to modify Profile.msh, however it didnt work :(

[LH] http://www.leeholmes.com/blog/GettingStartedCustomizeYourPrompt.aspx

COMMENT: Strange, it is working now - maybe it was solved, however my function (Function Prompt {“$(get-location)>“}) wasnt working when I add it to profile.msh. However now it is working like a charm...

 

Published Mon, Oct 3 2005 10:11 by martin
Filed under: