Monad

Monad Technology Blog

  • Monad

    Minding Path Inputs in a Cmdlet

    • 7 Comments
    When I was a Monad neophyte, I was asked to write a Cmdlet taking a file path as a parameter. A big mistake I made was not keeping in mind that in Monad the FileSystem provider was just one of the many providers. (This makes Monad different from many...
  • Monad

    Adding help for cmdlets in a MshSnapIn

    • 1 Comments
    Now that you know how to create an MshSnapIn, you might want to add help content for all those cmdlets that you developed and get them displayed by “get-help” cmdlet. To add help content you must know how a Monad Cmdlet Help file looks. See any of the...
  • Monad

    Single Shell vs Custom Shell

    • 2 Comments
    With Monad Beta 3 release, we've introduced the concept of the "single shell". What is a single shell? "One shell to rule them all ... and in the darkness..." (Sorry I can't stop saying that quote everytime I hear "single shell"!) Well rather than having...
  • Monad

    Ensuring Script Portability with #requires

    • 4 Comments
    With the MshSnapIn model in Beta 3, there is no gaurantee that a certain Cmdlet or Provider, apart from those in the default MshSnapIns, is available at any point. There could be a number of reasons. The MshSnapIn may not have been installed. The MshSnapIn...
  • Monad

    Mshsnapin (part 2): developing a mshsnapin.

    • 0 Comments
    To develop a mshsnapin, you can use following three simple steps, Create a class derived from MshSnapIn class. Build an assembly to contain the mshsnapin class created in step1 and also other cmdlet/provider classes to be included in the mshsnapin...
  • Monad

    Mshsnapin (part 1): usage of mshsnapin commands.

    • 9 Comments
    Latest beta3 release of monad added the capability of adding/removing cmdlets and providers in current running session through mshsnapins. Mshsnapin is a logic group of cmdlets and providers can be manipulate as a unit in monad engine. Following commands...
  • Monad

    Using Monad for logon scripts

    • 6 Comments
    In case you were wondering, yes, you can use Monad for your logon scripts. You can't just assign a .MSH file as a logon script however, since only file types with file associations work as logon scripts. Monad installation doesn't create a file association...
  • Monad

    Managing non-terminating errors

    • 0 Comments
    Most errors which occur in your working scripts are likely to be "non-terminating". This means that Monad just reports the error and the command keeps running. ("Terminating" errors such as syntax errors will halt the command and, in some cases, the entire...
  • Monad

    Getting MSDN help urls for .NET BCL types and Members

    • 6 Comments
    Often when playing with .Net objects in Monad, I need to use MSDN class library reference to learn how to use a particular type and its members. Now, I have my bookmarks and favorite search engine but I always thought it would be cool if get-member cmdlet...
  • Monad

    Check Spelling Script

    • 2 Comments
    After reading Marcel's introductory piece on ScriptBlock, I decided to rewrite an old script of mine that checks the spelling of all text files in a directory. Here is what I came out with. #region Parse a line to a list of words $StringFind = ...
  • Monad

    A bit about Scriptblocks

    • 2 Comments
    When scripting with MSH one of the most useful things to know about are scriptblocks (lambda functions). Scriptblocks are compiled bits of MSH script which you can pass around and invoke whenever you feel like it. They turn out to be so useful that if...
  • Monad

    Monad portal in Script Center.

    • 1 Comments
    Most scripters are familar with Microsoft script center. Script center now has a portal for Microsoft Command Shell. You can access the portal at http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx -Arul Kumaravel
  • Monad

    PINVOKE or accessing WIN32 APIs

    • 6 Comments
    In the very early days of Monad, we focused on a world where everyone would publish Cmdlets and providers. Cmdlets and providers were designed around providing the best user experience. They provide the right, high-level, task-oriented abstractions that...
  • Monad

    Using-Culture -Culture culture -Script {scriptblock}

    • 5 Comments
    One of the traditional challenges with scripting is dealing with different CULTURES. Imagine the case where you are writing a script and you'll have to parse datetime string from different cultures. If it was just one culture, you could set the process...
  • Monad

    Debugging Monad Scripts, Part 7 (Final): How Traps Work

    • 2 Comments
    Did your command or script fail and/or report an error? We hope to have a proper script debugger in a future version, but until then, MSH has some handy features to help you figure out what went wrong. In this series of blog entries, I will present some...
  • Monad

    Debugging Monad Scripts, Part 6: Trace-Expression, Breakpoint Script

    • 4 Comments
    Did your command or script fail and/or report an error? We hope to have a proper script debugger in a future version, but until then, MSH has some handy features to help you figure out what went wrong. In this series of blog entries, I will present some...
  • Monad

    Debugging Monad Scripts, Part 5: Preferences and Commandline Options

    • 5 Comments
    Did your command or script fail and/or report an error? We hope to have a proper script debugger in a future version, but until then, MSH has some handy features to help you figure out what went wrong. In this series of blog entries, I will present some...
  • Monad

    Debugging Monad Scripts, Part 4: set-mshdebug

    • 4 Comments
    Did your command or script fail and/or report an error? We hope to have a proper script debugger in a future version, but until then, MSH has some handy features to help you figure out what went wrong. In this series of blog entries, I will present some...
  • Monad

    Debugging Monad Scripts, Part 3: Write-Host

    • 8 Comments
    Did your command or script fail and/or report an error? We hope to have a proper script debugger in a future version, but until then, MSH has some handy features to help you figure out what went wrong. In this series of blog entries, I will present some...
  • Monad

    Debugging Monad Scripts, Part 2: $error

    • 6 Comments
    Did your command or script fail and/or report an error? We hope to have a proper script debugger in a future version, but until then, MSH has some handy features to help you figure out what went wrong. In this series of blog entries, I will present some...
  • Monad

    Debugging Monad Scripts, Part 1: Teminating vs. Non-Terminating, ErrorRecord

    • 7 Comments
    Did your command or script fail and/or report an error? We hope to have a proper script debugger in a future version, but until then, MSH has some handy features to help you figure out what went wrong. In this series of blog entries, I will present some...
  • Monad

    Image Conversion

    • 8 Comments
    I needed to convert some images from bmp to gif for a web site I've been working on. I figured that I could script this pretty easy - here's what I came up with. It's a little more general than I needed, and I thought it might be useful to others. Anyway...
  • Monad

    Duplicate Files 2

    • 0 Comments
    A long time ago I posted a filter (AddNote) for adding notes to objects. Some time later I posted a function (Get-MD5) for calculating the MD5 hash of a file and somebody asked how that could be used in a script to list all the files in a given folder...
  • Monad

    Monad PDC talk rated #3 overall

    • 4 Comments
    PDC results are in and the Monad talk came in #3 based upon Presenter Effectiveness. Anders Hijlsberg's talks on C# and LINQ got the #1 and #2 slots. This is the second conference in row that Anders has edged out the Monad team for the #1 slot so this...
  • Monad

    Monad Beta 2 Available

    • 5 Comments
    We've just uploaded the new release to Download Center and the bits are now live! x86: http://go.microsoft.com/fwlink/?linkid=51989&clcid=0x409 x64: http://go.microsoft.com/fwlink/?linkid=52472&clcid=0x409 Please direct any questions or comments...
Page 2 of 3 (60 items) 123