Project Description

A Provider for powershell that allows to administrate your BizTalk Server.

The BizTalk PowerShell Provider is a common project between the community "http://www.soa-factory.org" and Logica Management Consulting.

The BizTalk PowerShell Provider is designed to give you access to most BizTalk artifacts by simply "navigating" through a virtual tree hierarchy. At each node in the hierarchy you can find an object that you can use to perform various administrative functions, such as starting an application, creating a new host instance, exporting an application to a Windows Installer MSI package, etc.

You can also perform several operations simultaneously by taking advantage of the PowerShell pipeline. For instance, you can stop all applications of a given BizTalk group by simply issuing the familiar Get-ChildItem command and piping the result to the Stop-Application CmdLet.

Project Releases

http://psbiztalk.codeplex.com/Release/ProjectReleases.aspx#ReleaseFiles
Status: Alpha 1.0.
Please, refer to the Releases tab for download instructions.

Getting Started

In order to make use of the BizTalk PowerShell Provider, please execute the following commands from within the PowerShell console. You can also put these commands into your profile or export the shell afterwards.

    . "$Env:SystemRoot\Microsoft.Net\Framework\v2.0.50727\installutil.exe" "BizTalkFactory.PowerShell.Extensions.dll"
    add-PSSnapIn BizTalkFactory.PowerShell.Extensions
    update-FormatData -appendPath Biztalk.Format.ps1xml
    
    Function Biztalk: { Set-Location Biztalk:\ }
    
    Set-Alias Enlist-SendPort Stop-SendPort


A more appropriate setup guide will be available in more mature releases.

Available CmdLets

The following cmdlets are available in this provider:
  • Start-Application
  • Stop-Application
  • Start-HostInstance
  • Stop-HostInstance
  • Reset-HostInstance
  • Start-SendPort
  • Stop-SendPort
  • Enlist-SendPort
  • Unenlist-SendPort
  • Disable-ReceiveLocation
  • Enable-ReceiveLocation
  • Import-Application
  • Export-Application
  • Export-Bindings
  • Export-Policy


You can also use the New-Item and Remove-Item builtin CmdLet to create and remove the following objects:
  • Application
  • Host
  • HostInstance

Please, refer to the readme.mht document for more information.

How to Contribute

You can contribute in many ways to this project. We ask that in order to join the project, you provide a first contribution, either to the documentation or the source code of the project. Please, keep in touch with us first so that we can coordonate who is doing what.

You may have a look to the following "Planned Features" section below for a comprehensive list of further planned changes. These are actual hints as to what contributions we might expect. Please, do not hesitate to provide your own ideas for a contribution if it does not already appears in this list.

Planned Features and Architectural Changes

The purpose of this alpha-release is to initiate community feedback.

There are still many features to add and a somewhat important refactoring is planned in order to increase the quality and maintainability of the source code.
  • This PowerShell provider is seriously lacking from a documentation standpoint. We would like to be able to generate a complete help system from the XML comments embedded in the source code. From the time being, there is not enough comments in the source code to make is useful, so that might be an opportunity for technical writers to contribute.
  • The objects displayed in the PowerShell console are not currently adapted. There is an extensive work to do in order to provide an appropriate and trimmed-down set of properties for all objects displayed in the console. This involves modifying the Biztalk.Format.ps1xml file.
  • A lot of Cmdlets act on underlying objects and do not necessarily benefit from being fully fledged compiled cmdlets. Since the release of Windows PowerShell 2.0 is around the corner, it might make sense to migrate some or all of the cmdlets to script-based cmdlets instead.Please do not hesitate to discuss the pros and cons.
  • This PowerShell provider tries very hard to integrate a lot of operations in a single consistent interface. The provider actually uses several distinct APIs in order to operate on different areas of BizTalk Server administration. For instance, we mainly use Microsoft.BizTalk.ExplorerOM objets for navigating the object model. We also use the Microsoft.BizTalk.Deployment and Microsoft.BizTalk.ApplicationDeployment.Engine for import/export operations (MSI, bindings). We strongly use BizTalk-specific WMI classes for host and host instances related activities. We use the Microsoft.BizTalk.Operations API for group-hub related queries (service instances). Finally, we use the Microsoft.RuleEngine API to export policies and vocabularies. We are planning to refactor the code in order to provide a separate backing engine to the actual PowerShell provider, and to abstract away and iron out the discrepencies between all the different technologies. Please, help us move in the right direction.
  • Probably others that I miss for the time being...

Contributors

Randal van Splunteren

Randal works as a consultant in the Netherlands. He focuses on Microsoft .Net technology especially on Microsoft BizTalk Server. He has customer experience with all BizTalk versions (2000, 2002, 2004, 2006, 2006 R2). On his blog he tries to write useful stuff about .Net and BizTalk. Certifications: MCAD, MCTS: BizTalk Server 2004, BizTalk Server 2006 & BizTalk Server 2006 R2.

Michel Hubert

Michel works as an information systems architect in France. As an Microsoft BizTalk MVP (Most Valuable Professional), Michel maintains a blog where he writes about various bits and topics about Microsoft.

Maxime Labelle

Maxime works as a consultant in France. He has been developing applications using Microsoft tools and languages for far too long... Among specialists circles, rumor has it that Maxime loves to tackle obscure problems related to encodings and character sets. He does not actually maintain a blog but that could change sometimes.
Last edited May 25 at 6:11 AM by mlabelle, version 10

 

Want to leave feedback?
Please use Discussions or Reviews instead.

Updating...
© 2006-2009 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | Version 2009.6.1.15196