I’ve been keeping a personal list of “gotcha!” behaviors that I’ve seen while using Monad. I figured I’d publish these so they don’t trip up other users. When Exchange 12 ships (or a beta is available) I’ll do the same thing for our features. No matter how hard we try, there is always some compromise that needs to be made, and unfortunately sometimes the resulting behavior is confusing. A classic example is the Anonymous Allowed GUI tab in Exchange 2003 (yes I am partially to blame for that one).
So here’s the first one to kick things off. If you write two or more commands in a script and run the script:
get-childitem
get-process
You’ll notice that the first one returns the pretty default table format (if defined), but all the other following commands default to format-list!
Directory: FileSystem::H:viveksha
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 9/21/2005 12:48 PM 764 consolesettings.reg
ProcessName : csrss
Id : 3024
This is definately confusing and wonky. To fix this, you have to be explicit and add a formatting instruction like format-list, format-table or out-default to the cmdlets you execute in a script for display:
get-childitem
get-process | format-table
This is by design as far as I know as apparently the format cannot be changed mid-stream (according to Monad team). An Exchange tester ran into this while running scripts.