by Sandro Pereira | Mar 17, 2020 | BizTalk Community Blogs via Syndication
BizTalk Server 2020 – 20 days, 20 posts – day 4. Again a bit behind on this post, I need to recover the missing days but I will get there. Today I have chosen to migrate another productivity tool that I use often especially when I’m working with pure pub-sub solutions: BizTalk Filter Finder Tool to be compatible with BizTalk Server 2020. I hope you enjoy and find this tool useful.
BizTalk Filter Finder Tool
BizTalk Filter Finder Tool is a simple tool that aims to simplify the process for better understand and maintain solutions based on pub-sub and content-based routing. By allowing you to have a quick overview of all the artifacts, send ports or orchestrations that have filters associated.
This tool will extend default BizTalk Server capabilities transforming this tedious and sometimes complicate analyze a little simple, easy and fast.

This tool will extend default BizTalk Server capabilities transforming this tedious and sometimes complicate analysis a little simple, easy and fast. You can read more details about this tool in the original post here: BizTalk Filter Finder Tool.
Other versions
This tool is also available for the following BizTalk Server versions:
Download
You can download BizTalk Filter Finder Tool from:
BizTalk Filter Finder Tool
GitHub
The post BizTalk Server 2020 – 20 days, 20 posts: BizTalk Filter Finder Tool for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.
by Sandro Pereira | Mar 15, 2020 | BizTalk Community Blogs via Syndication
BizTalk Server 2020 – 20 days, 20 posts – day 3. Sorry for the delay but with this COVID-19 situation and with 3 small kids at home, sometimes it can be a challenge to find time to do community work and to write. Nevertheless, for today I have chosen to migrate another crucial and productivity tool that I really enjoy using it: BizTalk Bindings Exporter Tool to be compatible with BizTalk Server 2020. Once again, I hope you enjoy it as much as I do.
BizTalk Bindings Exporter Tool
BizTalk Binding Exporter Tool is a simple tool that will suppress the absence of advanced binding file generation capabilities in the BizTalk Server Administration Console allowing you to generate and export a binding file from BizTalk Applications in an intuitive and easy way.
Exporting a BizTalk Server Application binding is, at first sight, a simple and quick task that can be done using the BizTalk Server Administration Console. But even in simple tasks, we may encounter challenges that require us to perform some monotonous and boring manual operations that consume some of our precious time and are always subject to failures.
Normally the binding exportation starts in development, but we also will need to generate the same bindings for other environments like production and for that we normally need to open the binding file and replace/fix the differences for each different environment… which is normally a tedious operation. What we need to replace is mainly:
- the URI’s: it should be fixed, but it is not mandatory. If you know what you are doing, you can fix them directly on the environment after you import the Binding.
- the host instances: not mandatory, if you have the same host and host instances names across all your different environments (as best practices will tell you to do).
- the NT Group Name associated in the Services (Orchestrations): according to securities best practices you shouldn’t use the same BizTalk Groups in different environments, so in this case, if you follow these best practices, you need to change these parameters in your binding file.
Normally, everyone changes the URI’s but neglecting the other parameters may be causing problems during the Binding import.
This tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate binding generation a little simple and easy.
You just need to specify the connection string to the BizTalk Management database (BizTalkMgmtDb)
And this tool allows you to generate and export binding files with the following capabilities:
- Export binding(s) file(s) for an entire Application or a list of Applications;
- Export binding(s) file(s) from a specify Assembly or list of Assemblies;
- Export binding(s) file(s) from a Receive Port or list of Receive Ports;
- Export binding(s) file(s) from a Send Port or list of Send Ports;
- Or Generate different binding files for each environment if you create an Excel File with the mapping for each environment ;
Other versions
This tool is also available for the following BizTalk Server versions:
Download
You can download BizTalk Bindings Exporter Tool from:
BizTalk Bindings Exporter Tool
GitHub
The post BizTalk Server 2020 – 20 days, 20 posts: BizTalk Bindings Exporter Tool for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.
by Sandro Pereira | Mar 11, 2020 | BizTalk Community Blogs via Syndication
You probably wonder why I haven’t written anything significant yet about this new version of the product. And I could come up with several real reasons but that is not the point here. However, to compensate for this “delay” I will start a crazy personal challenge, which I don’t know where I will find the time, to write 20 posts focus on BizTalk Server 2020 in the next 20 days: BizTalk Server 2020 – 20 days, 20 posts.
This series of posts could be about how to do certain things, what’s new in the product, step by steps guides, tools, components, tips and so on. And to start this series of posts I have chosen to migrate the BizTalk Port Multiplier Tool to be compatible with BizTalk Server 2020.
BizTalk Port Multiplier Tool
BizTalk Port Multiplier Tool is a simple tool that aims to simplify the port “cloning” process by allowing you to quickly “clone or duplicate” any existing port: Receive Port or Send Port.
- Send Ports are quite easy to archive, you only need to give a different name to the port, and you can clone it;
- Receive Ports are tricky because they may contain several Receive Locations and each URI needs to be unique;
This tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate port creation based on an existing one a little simple and easy allowing you to:
- Create a new Receive Port based on an existing one;
- It will also export the binding file from that new Receive Port;
- Create a new Send Port based on an existing one;
- It will also export the binding file from that new Send Port;
- Generate different binding files for each environment
Why do I need to “clone” a Receive Port?
Sometimes you also need to create a receive port with similar configurations of an existing one, also changing only a few settings or simple the URI, and instead of manually recreating, you can have 90% of the process done automatically.
Sometimes it is practical, occasionally, or in some scenarios, it may not work, but in most cases, it will. So it is a best-effort operation and not an exact clone because they may have several Receive Locations, and each Address/URI needs to be unique. So, you then need to go to each receive location and reconfigure them.
Other versions
This tool is also available for the following BizTalk Server versions:
Download
You can download BizTalk Port Multiplier Tool from:
BizTalk Port Multiplier Tool
GitHub
The post BizTalk Server 2020 – 20 days, 20 posts: BizTalk Port Multiplier Tool for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.
by Sandro Pereira | Dec 22, 2019 | BizTalk Community Blogs via Syndication
Recently my team and I developed and released several tools that extend the out-of-box capabilities of BizTalk Server 2016 for developer and administration teams to be more productive, saving times in some simple but time-consuming tasks that should d supposed to be. One of these tools was BizTalk Port Multiplier Tool.
Because many clients still are using BizTalk Server 2013 R2, and because I had received some requests from the community, I will be releasing these tools for BizTalk Server 2013 R2 also. And today, we will stat with the BizTalk Port Multiplier Tool.
BizTalk Port Multiplier Tool
BizTalk Port Multiplier Tool is a simple tool that aims to simplify the port “cloning” process by allowing you to quickly “clone or duplicate” any existing port: Receive Port or Send Port.
- Send Ports are quite easy to archive, you only need to give a different name to the port, and you can clone it;
- Receive Ports are tricky because they may contain several Receive Locations and each URI needs to be unique;
This tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate port creation based on an existing one a little simple and easy allowing you to:
- Create a new Receive Port based on an existing one;
- It will also export the binding file from that new Receive Port;
- Create a new Send Port based on an existing one;
- It will also export the binding file from that new Send Port;
- Generate different binding files for each environment
Why do I need to “clone” a Receive Port?
Sometimes you also need to create a receive port with similar configurations of an existing one, also changing only a few settings or simple the URI, and instead of manually recreating, you can have 90% of the process done automatically.
Sometimes it is practical, occasionally, or in some scenarios, it may not work, but in most cases, it will. So it is a best-effort operation and not an exact clone because they may have several Receive Locations, and each Address/URI needs to be unique. So, you then need to go to each receive location and reconfigure them.
Credits
Credits also to my team member at DevScope, Pedro Almeida that collaborated in the development of this tool.
Download
You can download BizTalk Port Multiplier Tool from:
BizTalk Port Multiplier Tool
GitHub
The post BizTalk Port Multiplier Tool for BizTalk Server 2013 R2 appeared first on SANDRO PEREIRA BIZTALK BLOG.
by Sandro Pereira | Dec 21, 2019 | BizTalk Community Blogs via Syndication
Recently my team and I developed and released several tools that extend the out-of-box capabilities of BizTalk Server 2016 for developer and administration teams to be more productive, saving times in some simple but time-consuming tasks that should d supposed to be. One of these tools was BizTalk Bindings Exporter Tool.
Because many clients still are using BizTalk Server 2013 R2, and because I had received some requests from the community, I will be releasing these tools for BizTalk Server 2013 R2 also. And today, we will stat with the BizTalk Bindings Exporter Tool
BizTalk Bindings Exporter Tool
BizTalk Binding Exporter Tool is a simple tool that will suppress the absence of advanced binding file generation capabilities in the BizTalk Server Administration Console, allowing you to generate and export a binding file from BizTalk Applications in an intuitive and easy way.
Exporting a BizTalk Server Application binding is, at first sight, a quick and straightforward task that can be done using the BizTalk Server Administration Console:
- Click Start, click All Programs, click Microsoft BizTalk Server 20xx, and then click BizTalk Server Administration
- In the console tree, expand BizTalk Server Administration, expand the BizTalk Group, and then expand Applications
- Right-click the application whose bindings you want to export, point to Export, and then click Bindings…
- On the Export Bindings page, in Export to file, type the absolute path of the .xml file to which to export the bindings
- Ensure that Export all bindings from the current application option is selected, and then click OK
But even in simple tasks, we may encounter challenges that require us to perform some monotonous and boring manual operations that consume some of our precious time and are always subject to failures. Because out-of-the-box BizTalk Administration Console doesn’t allow you to:
- Export a Binding file of a specif Receive Port or list of Receive Ports;
- Export a Binding file of a specif Send Port or list of Send Ports;
- Export a Binding file of a specif Assembly or list of Assemblies;
And these are just a few scenarios. You can only fully Export the binding files of an entire application, which will lead you to sometimes extensive and fallible manual work to clean the binding files.
Usually, the binding exportation starts in development. Still, we also need to generate the same bindings for other environments like production, and for that, we usually need to open the binding file and replace/fix the differences for each different environment… which usually is a tedious operation. What we need to replace is mainly:
- the URI’s: it should be fixed, but it is not mandatory. If you know what you are doing, you can fix them directly on the environment after you import the Binding.
- the host instances: not mandatory, if you have the same host and host instances names across all your different environments (as best practices will tell you to do).
- the NT Group Name associated in the Services (Orchestrations): according to securities best practices you shouldn’t use the same BizTalk Groups in different environments, so in this case, if you follow these best practices, you need to change these parameters in your binding file.
Normally, everyone changes the URI’s but neglecting the other parameters may be causing problems during the Binding import.
Once again, this tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate binding generation a little simple and easy.
You just need to specify the connection string to the BizTalk Management database (BizTalkMgmtDb)
And this tool allows you to generate and export binding files with the following capabilities:
- Export binding(s) file(s) for an entire Application or a list of Applications;
- Export binding(s) file(s) from a specify Assembly or list of Assemblies;
- Export binding(s) file(s) from a Receive Port or list of Receive Ports;
- Export binding(s) file(s) from a Send Port or list of Send Ports;
- Or Generate different binding files for each environment if you create an Excel File with the mapping for each environment ;
Credits also to my team member at DevScope, Pedro Almeida that collaborated in the development of this tool.
Download
You can download BizTalk Bindings Exporter Tool from:
BizTalk Bindings Exporter Tool
GitHub
The post BizTalk Bindings Exporter Tool for BizTalk Server 2013 R2 appeared first on SANDRO PEREIRA BIZTALK BLOG.
by Sandro Pereira | Aug 21, 2019 | BizTalk Community Blogs via Syndication
You may all remember Richard Seroter BizTalk SendPort Duplicator tool and how he descrived that frequently during development, and even in production, we have a need to create new BizTalk ports that are virtually identical to an existing one where we just need to change some small configurations like:
- Address/URI;
- Send Port Filter criteria;
- Different pipelines or pipeline components configuration;
- And so on.
And by default, the only options we have are:
- Export the application binding files, manually clean the file and change the values; And then import the Binding file again;
- Or manually recreate the entire port again;
Both options are time-consuming and need a lot of manually work.
And Richard Seroter was, and still is, an amazing lifesaving tool that allows you to duplicate send ports easily, so why a new tool?
“BizTalk Port Multiplier Tool” it has all Richard tool functionalities but is more than a Send Port Duplicator, and that is the reason I decided to create a new tool.
“BizTalk Port Multiplier Tool” is a simple tool that aims to simplify port “cloning” process by allowing you to easily “clone or duplicate” any existing port: Receive Port or Send Port.
- Send Ports are easy, you only need to give a different name to the port, and you can clone it;

- Receive Ports are tricky because they may contain several Receive Locations and the URI needs to be unique;

This tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate port creation based on an existing one a little simple and easy allowing you to:
- Create a new Receive Port based on an existing one;
- It will also export the binding file from that new Receive Port;
- Create a new Send Port based on an existing one;
- It will also export the binding file from that new Send Port;
- Generate different binding files for each environment
Why do I need to “clone” a Receive Port?
Sometimes you also need to create a receive port with similar configurations of an existing one, also changing only few configurations or simple the URI and instead of manually recreating you can have 90% of the process done automatically.
Sometimes is practical, sometimes or in some scenarios it may not work but in most of the cases it will. So it is basically a best-effort operation and not an exact clone because they may have several Receive Locations and the Address/URI needs to be unique. So, you then need to go to each receive location and reconfigure them.
Download
Credits also to my team member at DevScope, Pedro Almeida that collaborated in the development of this tool.
You can download BizTalk Port Multiplier Tool from:
BizTalk Port Multiplier Tool
GitHub
Or from:
BizTalk Port Multiplier Tool
Microsoft | Code Gallery
The post BizTalk Port Multiplier Tool appeared first on SANDRO PEREIRA BIZTALK BLOG.
by Sandro Pereira | Aug 20, 2019 | BizTalk Community Blogs via Syndication
Following my commitment with the attendees at Integrate 2019 London and US that shared with me the same headaches and concerns, and following my series of posts about “BizTalk Bindings Exportation” published on BizTalk360 blog. I’m happy to announce the birth of a new BizTalk Server tool: BizTalk Bindings Exporter Tool.
“BizTalk Binding Exporter Tool” is a simple tool which will suppress the absence of advanced binding file generation capabilities in the BizTalk Server Administration Console allowing you to generate and export a binding file from BizTalk Applications in an intuitive and easy way.
Exporting a BizTalk Server Application binding is, at first sight, a simple and quick task that can be done using the BizTalk Server Administration Console:
- Click Start, click All Programs, click Microsoft BizTalk Server 20xx, and then click BizTalk Server Administration
- In the console tree, expand BizTalk Server Administration, expand the BizTalk Group, and then expand Applications
- Right-click the application whose bindings you want to export, point to Export, and then click Bindings…
- On the Export Bindings page, in Export to file, type the absolute path of the .xml file to which to export the bindings
- Ensure that Export all bindings from the current application option is selected, and then click OK
But even in simple tasks, we may encounter challenges that require us to perform some monotonous and boring manual operations that consume some of our precious time and are always subject to failures. Because out-of-the-box BizTalk Administration Console doesn’t allow you to:
- Export a Binding file of a specif Receive Port or list of Receive Ports;
- Export a Binding file of a specif Send Port or list of Send Ports;
- Export a Binding file of a specif Assembly or list of Assemblies;
And these are just a few scenarios. You can only fully Export the binding files of an entire application which will lead you sometimes an extensive and fallible manual work to clean the binding files.
Normally the binding exportation starts in development, but we also will need to generate the same bindings for other environments like production and for that we normally need to open the binding file and replace/fix the differences for each different environment… which is normally a tedious operation. What we need to replace is mainly:
- the URI’s: it should be fixed, but it is not mandatory. If you know what you are doing, you can fix them directly on the environment after you import the Binding.
- the host instances: not mandatory, if you have the same host and host instances names across all your different environments (as best practices will tell you to do).
- the NT Group Name associated in the Services (Orchestrations): according to securities best practices you shouldn’t use the same BizTalk Groups in different environments, so in this case, if you follow this best practices, you need to change these parameters in your binding file.
Normally, everyone changes the URI’s but neglecting the other parameters may be causing problems during the Binding import.
Once again, this tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate binding generation a little simple and easy.

You just need to specify the connection string to the BizTalk Management database (BizTalkMgmtDb)

And this tool allows you to generate and export binding files with the following capabilities:
- Export binding(s) file(s) for an entire Application or a list of Applications;
- Export binding(s) file(s) from a specify Assembly or list of Assemblies;
- Export binding(s) file(s) from a Receive Port or list of Receive Ports;
- Export binding(s) file(s) from a Send Port or list of Send Ports;
- Or Generate different binding files for each environment if you create an Excel File with the mapping for each environment ;
Credits also to my team member at DevScope, Pedro Almeida that collaborated in the development of this tool.
You can download BizTalk Bindings Exporter Tool from:
BizTalk Bindings Exporter Tool
GitHub
Or from:
BizTalk Bindings Exporter Tool
Microsoft | Code Gallery
The post BizTalk Bindings Exporter Tool appeared first on SANDRO PEREIRA BIZTALK BLOG.
by Sandro Pereira | Nov 13, 2018 | BizTalk Community Blogs via Syndication
After a tweet exchange with Mark Brimble a fellow “BizTalker” that I respect and admire, I realized that I had developed a PowerShell script some time ago to monitoring BRE Policies that could help him solve his problem. The initial question or need he was facing was:
- How would you detect when there is no rules policy in a deployed state? I don’t know how many times I import a rule an forget to set it to deployed…

This is a common problem, and to be honest, I sometimes forget what is the correct state of a policy: Deployed or Published. (the correct answer is Deployed). And unfortunately, there isn’t a simple solution to solve this need and the solutions that I found was:
- Using BizTalkFactory PowerShell Provider that nowadays come with BizTalk Server (“SDKUtilitiesPowerShell” folder)
- Create my own monitor script – more work involved
Using BizTalkFactory PowerShell Provider is quite simple, but it has some limitations for what I would like to archive, for example, it only shows the policies that are bound to a particular BizTalk Application.

And I would like to know and have visibility to all of them because you don’t need to bind a policy to a BizTalk Application on the BizTalk Administration Console to use that policy.
And for that reason, I decide to create my own monitor script that I can easily change and optimize for my scenarios.
The problem I faced in the past was in fact quite similar to what Mark Brimble was describing, maybe with some small differences but the end goal is the same, so I decide to help him (at least try) and publish this PowerShell script.
The purpose of this PowerShell script is to:
- Monitor BRE Policies and check if the highest version of a given policy is on Deployed state
- If not notify someone (your BizTalk administration team);
So how can PowerShell help us?
With this script, you can be able to monitor your BizTalk Server BRE Policies, highest versions, that aren’t in the deployed state. Only if the script finds any non-compliance, an email notification will be sent.
Taking this sample:

The result will be a notification that includes two warnings:
- Policy1 is in a non-compliance state because version 1.2 is not deployed
- Policy2 is in a compliance state
- Policy3 is in a non-compliance state because version 1.2 is neither published nor deployed (this is optional, but I choose to include in my monitoring script)
This script is a combination of a PowerShell script and a SQL Server Script that allows you to set:
- Set your email notification settings:
#Set mail variables
[STRING]$PSEmailServer = "mySMTPServer" #SMTP Server.
[STRING]$SubjectPrefix = "MBV Notification Report - "
[STRING]$From = "[email protected]"
[array]$EmailTo = ("[email protected]")
- And configure a SQL Server script, that in fact were the magic happens. The SQL Script will have the ability to check what rules are in a non-compliance state:
/****** Sandro Pereira & José Barbosa - DevScope ******/
;with
cteHist as (
select h.* from [BizTalkRuleEngineDb].[dbo].[re_deployment_history] h
join (select strname, max(dttimestamp) as dttimestamp from [BizTalkRuleEngineDb].[dbo].[re_deployment_history] group by strname) q on h.strName=q.strName and h.dtTimeStamp=q.dttimestamp
),
ctetDeployed as (
SELECT StrName, nMajor, nMinor, nStatus
FROM (
SELECT StrName, nMajor, nMinor, nStatus
, row_number() OVER(PARTITION BY StrName ORDER BY nMajor, nMinor DESC) AS rn
FROM [BizTalkRuleEngineDb].[dbo].[re_ruleset]
) sub
WHERE rn = 1
)
select * from ctetDeployed d
where nStatus = 0
or exists (select 1 from cteHist h where h.strName=d.strname and bDeployedInd=0)
The following Windows PowerShell script is a fragment that will help us demonstrate the monitoring capabilities:
$mydata = invoke-sqlcmd -inputfile $sqlQuery -serverinstance $server
Foreach ($log in $mydata)
{
#Create mail body content
$mailBody += "..."
}
Here is example expected report output from running the Windows PowerShell script sample, if any of the BRE Policies are in an unwanted state.

Note: This type of script must be viewed as a complement to the tools mentioned above or used in the absence of them. The script should also be adjusted to your needs.
THIS POWERSHELL & SQL SCRIPT ARE PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.
Special thanks to my coworker José Barbosa for helping me optimize the SQL Server script!
The script can be found and download on Microsoft TechNet Gallery:
Monitoring BRE Policies in your BizTalk environment with PowerShell (18.0 KB)
Microsoft TechNet Gallery
Author: Sandro Pereira
Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community. View all posts by Sandro Pereira
by Sandro Pereira | May 9, 2018 | BizTalk Community Blogs via Syndication
In my last post, I described how can you fix the issue regarding:
Executed as user: BIZDEMOsaspereira. Could not find server ‘BIZDEMO’ in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers. [SQLSTATE 42000] (Error 7202). The step failed.).
See more about this error here: https://blog.sandro-pereira.com/2018/05/08/backup-biztalk-server-job-failed-could-not-find-server-in-sys-servers/
And I told that this was not the only issue that you will find. The truth is that if you try to execute the Backup BizTalk Server job after you fix this last problem, the job will fail again this time with the following error:
Executed as user: NT SERVICESQLSERVERAGENT. Could not connect to server ‘BIZDEMO’ because ” is not defined as a remote login at the server. Verify that you have specified the correct login name. . [SQLSTATE 42000] (Error 18483). The step failed.

Cause
This error can be related to several possible problems and a common solution you will find in SQL Server forums and post is that you should Drop and re-create the linked server will resolved this problem.
However, and forgive me in advance for my SQL ignorance, I don’t have any linked Server configured, my BizTalk Server Virtual Machine is a simple standalone machine with BizTalk and SQL installed… so, it couldn’t be that problem!

So, after several tests, I started to think as a truly genuine old-school technical guy:
- It doesn’t work? did you try to restart it?
Or as a true BizTalk developer guy:
- Did you restart the host after your solution deployment?
And I thought that it might be necessary to restart the SQL services so that all the settings of the previous command execution have the correct effect – execution of the commands: sp_dropserver and sp_addserver necessary to fix the issue reported in the previous post.
And it was!
Solution
To fix this issue, we need to restart the SQL services
After you restart the SQL Server Services you will be able to run the Backup BizTalk Server job successfully.
Author: Sandro Pereira
Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community. View all posts by Sandro Pereira
by Sandro Pereira | Feb 7, 2017 | BizTalk Community Blogs via Syndication
To finalize this series of posts about how to check what BizTalk Server <version> Cumulative Updates are installed in your Servers with PowerShell:
We just need to talk about BizTalk Server 2013 to cover the last 4 versions of the product. And I know some environments that still are running in this version, for this reason, it is still a valid and quite useful script.
This script is very similar to the script that I created for BizTalk Server 2010 because, in earlier versions, such as BizTalk Server 2010 and 2013, there were dedicated versions for BizTalk Server and BizTalk Adapter Pack. This has changed since BizTalk Server 2013 R2 where Microsoft decide to create Cumulative Updates for BizTalk Server, Adapter Pack, and Accelerators in a single resource and part of a single download.
PowerShell to check what BizTalk Server 2013 Cumulative Updates are installed in your Servers with PowerShell: This is a simple script that allows you to configure the template name of the cumulative updates, that will change from version to version, and will give you the list of all BizTalk Server 2013 cumulative updates installed on your machine:
This is the list of BizTalk Server 2013 Cumulative Update installed in this machine: BTS2013LAB01
- Microsoft BizTalk Server 2013 CU1
- Microsoft BizTalk Server 2013 CU2
This is the list of BizTalk Server 2013 Adapter Pack Cumulative Update installed in this machine: BTS2013LAB01
- BizTalk Adapter Pack 2013 CU1
The sample script (the link to the full script is available at the end of this post):
#Name template for BizTalk Server CU's for BizTalk Server 2013 (normally they are "Microsoft BizTalk Server 2013 CU#")
$CUNameTemplate = 'Microsoft BizTalk Server 2013 CU'
#The Wow6432 registry entry indicates that you're running a 64-bit version of Windows.
#It will use this key for 32-bit applications that run on a 64-bit version of Windows.
$keyResults = Get-ChildItem -path HKLM:SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall -Recurse -ErrorAction SilentlyContinue | where { $_.Name -match $CUNameTemplate}
if($keyResults.Count -gt 0)
{
write-host "This is the list of BizTalk Server 2013 Cumulative Update installed in this machine: $env:computername"
}
else
{
write-host "There is the no BizTalk Server 2013 Cumulative Update installed in this machine: $env:computername"
}
foreach($keyItem in $keyResults)
{
if ($keyItem.GetValue("DisplayName") -like "*$CUNameTemplate*")
{
write-host "-" $keyItem.GetValue("DisplayName").ToString().Substring(0,$keyItem.GetValue("DisplayName").ToString().IndexOf(" CU")+4)
}
}
...
#Name template for BizTalk Server Adapter Pack CU's for BizTalk Server 2013 (normally they are "BizTalk Adapter Pack 2013 CU#")
$CUNameTemplate = 'BizTalk Adapter Pack 2013 CU'
#The Wow6432 registry entry indicates that you're running a 64-bit version of Windows.
#It will use this key for 32-bit applications that run on a 64-bit version of Windows.
$keyResults = Get-ChildItem -path HKLM:SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall -Recurse -ErrorAction SilentlyContinue | where { $_.Name -match $CUNameTemplate}
...
THIS SQL SCRIPT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.
Check all BizTalk 2013 Cumulative Updates installed in server with PowerShell (3 KB)
Microsoft | TechNet Gallery
Author: Sandro Pereira
Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community. View all posts by Sandro Pereira