Distributed PowerShell Available Today Via Specops Command

Distributed PowerShell Available Today Via Specops Command

  • Comments 2

When I worked in the CTO office at Tivoli, I identified the fact that there were just a handful of design patterns for distributed applications and distributed management in particular.  We then started a management framework project to support those design patterns which we would then build all our products on top of.  Then one day I got this call from Microsoft...   Anyway, with PowerShell V2, we are working to deliver one of those distributed management design patterns:  Transient One to Many Command execution.  (By "Transient", I mean that we issue the commands and get the results, there is no scheduling, no retry every hour for a time period, to ability to survive a system reboot , etc.) 

Special Operations Software's Specops Command product combines PowerShell V1 and Group Policy to deliver another one of those distributed management design patterns.  I got a demo of this in Barcelona and when I finally understood what they were doing, the top of my head exploded.  They are using Group Policy to target script execution to particular machines and particular conditions.  Those scripts can potentially be run at each  group policy interval (every 90 minutes, system startup, user login, etc).  That said, they provide fine control over script execution schedule including which days and time intervals it should be run at and whether it is run once or repeated.  You can also specify an undo script to be executed in the situation where a set of conditions that caused a script to be run are no longer valid.  They will run the scripts and report on the status and results of those scripts across all the machines. 

A lot of people want to use PowerShell for login scripts.  We always caution people that while this can be quite powerful, it requires that both .NET and PowerShell are installed on those systems.  Specops Command not only solves this problem loading those components if they are not already on the systems but it will also analyze the script to be run to determine if a 3rd party PowerShell Snapin is required and it will ensure that that Snapin is distributed and available for the script to run.

Once you realize what they are doing and the degree power and control that it gives to IT Pros - the top of your head will explode as well.

So could it get any better?  Yup! ... put your seatbelts on!  Keeping with what appears to be the emerging gestalt of PowerShell community, they are giving away a free version and selling the full featured version.  Is that great or what? 

I'm not sure what to make of the fact that this is the same business model that crack dealers use ("your first dose of crack is on the house").  :-)

You can find out more about Specops Command and download a beta of the free version HERE.  If you do so, I would love to hear your experience with it.

Cheers!

Jeffrey Snover [MSFT]
Windows Management Partner Architect
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

Leave a Comment
  • Please add 8 and 7 and type the answer here:
  • Post
  • PingBack from http://msdnrss.thecoderblogs.com/2007/11/28/distributed-powershell-available-today-via-specops-command/

  • Jeffrey,

    I am an avid reader of the powershell blog

    I would appreciate, if you can provide me suggestions or ideas on executing the ps1 file using .NET, below is the code i am using, i cannot find how to snap in pshost...

    Dim PSRunspace As Runspace = RunspaceFactory.CreateRunspace

               PSRunspace.Open()

    Dim PSpipe As Pipeline = PSRunspace.CreatePipeline()

               Dim PSCmd As Command = New Command(PSFilePath, False)

    PSpipe.Commands.Add("out-String")

               PSpipe.Commands(0).MergeMyResults(PipelineResultTypes.Error, PipelineResultTypes.Output)

    'execute the script

               Dim resultObject = PSpipe.Invoke()

               'close the runspace

               PSRunspace.Close()

    powershell file just sends an email fron database. works fine, if i run through powershell gui, but not working when i try to use runspace

    help me out

    Neel

    thank you

Page 1 of 1 (2 items)