Files
BizTalkPlatformManagementTool/README.md
T

3.3 KiB

BizTalk Platform Management Tool

WinForms tool for controlled Microsoft BizTalk Server 2020 platform operations during maintenance windows. The tool captures runtime snapshots, creates shutdown and restore plans, executes those plans in a safe order, and writes diff reports for validation.

Current State

  • Application: C# WinForms
  • Target framework: .NET Framework 4.6.1
  • Solution: BizTalkPlatformManagementTool.sln
  • Project: src/BizTalkPlatformManagementTool/BizTalkPlatformManagementTool.csproj
  • Primary namespace and assembly: BizTalkPlatformManagementTool
  • Legacy PowerShell archive: archive/powershell/BizTalkPlatformManagementTool.ps1

Features

  • Snapshot before and after downtime as JSON, CSV and HTML
  • Diff between before.json and after.json
  • Controlled shutdown from the current runtime state
  • Controlled restore from before.json
  • Host instance handling for the selected BizTalk server
  • Dry-run mode enabled by default
  • WMI access through root\MicrosoftBizTalkServer
  • Detailed operation logging in the GUI and daily rolling log files next to the executable
  • No compile-time dependency on BizTalk ExplorerOM assemblies

Safe Usage

  1. Start the app on a BizTalk server or a management host with WMI access.
  2. Keep Dry run enabled.
  3. Click Diagnose to verify WMI access.
  4. Click Snapshot Before.
  5. Click Shutdown and review shutdown-plan.json.
  6. Disable Dry run only when the plan is correct.
  7. After maintenance, click Restore using the saved before.json.
  8. Click Snapshot After and Compare.

Operation Order

Shutdown:

  • Disable receive locations that were enabled.
  • Stop orchestrations that were started.
  • Stop send ports that were started.
  • Stop host instances that were started on the selected server.

Restore:

  • Start host instances that were previously started.
  • Restore send ports to Started, Stopped or Bound.
  • Restore orchestrations where safe.
  • Restore receive locations last.

Orchestrations that were Bound are deliberately left unchanged during restore to avoid accidentally making them Unbound.

Outputs

  • before.json, after.json
  • shutdown-plan.json, restore-plan.json
  • shutdown-after.json, restore-after.json
  • diff.json, diff.csv, diff.html
  • Snapshot sidecars: *.csv, *.hosts.csv, *.html
  • Runtime logs next to the executable: BizTalkPlatformManagementTool-yyyy-MM-dd.log

Log files are retained for the current day plus the previous four days. Older BizTalkPlatformManagementTool-*.log files are removed on startup.

Troubleshooting

The Operation Log shows the WMI class, key property, key value and method for real shutdown and restore steps. WMI objects are resolved with a broad SELECT * FROM <class> query and a client-side key filter so names containing special characters do not break the WMI query parser.

Build

Open BizTalkPlatformManagementTool.sln in Visual Studio on Windows with the .NET Framework 4.6.1 Developer Pack installed, then build the Release|Any CPU configuration.

The app targets .NET Framework 4.6.1 for compatibility with customer environments that do not have newer .NET Framework developer packs installed.

Documentation