Files
biztalk-application-catalog/Readme.md
T

7.1 KiB

BEW BizTalk Application Catalog

BEW BizTalk Application Catalog inventarisiert die auf einem BizTalk Server 2020 installierten Anwendungen und erzeugt eine kompakte, filterbare Microsoft-Excel-Arbeitsmappe (.xlsx).

Das Tool wird lokal einmal auf dem BizTalk-Server in ACC und einmal auf dem BizTalk-Server in PROD ausgeführt. Beide Umgebungen bestehen jeweils aus:

  • einem BizTalk Server 2020 auf Windows Server 2019
  • einem separaten SQL Server für die BizTalk-Datenbanken

Microsoft Excel, Microsoft Office, PowerShell, Internetzugriff und ein .NET SDK werden auf dem Zielserver nicht benötigt.

Ergebnis

Die erzeugte Arbeitsmappe enthält zehn Tabellenblätter:

Blatt Inhalt
Übersicht Umgebung, Server, BizTalk-/Windows-Metadaten, Gesamtzahlen und Laufstatus
Anwendungen vollständige, kompakte Anwendungsliste mit Status, Beschreibung und Artefaktzahlen
Artefakte konsolidierte technische Detailansicht
Ports Send Ports, Send Port Groups, Receive Ports und Receive Locations
Orchestrierungen Orchestrierungen, Status und Hostzuordnung
Schemas-Maps-Pipelines Schemas, Maps und Pipelines
Assemblies bereitgestellte BizTalk-Assemblies
Hosts-Handler Hosts, Hostinstanzen sowie Receive-/Send-Handler
Abdeckung Erfolg, Zeilenzahl und mögliche Lücken jeder WMI-Datenquelle
Findings Warnungen, Fehler und empfohlene Prüfungen

Alle Detailblätter besitzen Filter, fixierte Kopfzeilen und angepasste Spaltenbreiten.

Kernparameter je Anwendung

Das Blatt Anwendungen enthält unter anderem:

  • Umgebung und ausführenden BizTalk Server
  • Anwendungsname, Beschreibung, Status und Standardanwendungskennzeichen
  • Gesamtzahl zugeordneter Artefakte
  • Anzahl Orchestrierungen
  • Anzahl Send Ports und Send Port Groups
  • Anzahl Receive Ports und Receive Locations
  • Anzahl Assemblies, Schemas, Maps und Pipelines
  • erkannte Hosts beziehungsweise Handler
  • verwendete Adapter
  • expliziten Status der Detailabdeckung

Die vollständige Anwendungsliste stammt aus MSBTS_Application. Eine nicht verfügbare optionale Artefaktklasse wird nicht stillschweigend als fachliche Null interpretiert, sondern im Blatt Abdeckung ausgewiesen.

Sicherheits- und Betriebsprinzip

  • ausschließlich lokale, lesende WMI- und Registry-Abfragen
  • keine Änderungen an Anwendungen, Ports, Hosts oder Runtime-Instanzen
  • keine direkte SQL-Abfrage und keine Datenbankänderung
  • keine Office-Automation und keine COM-Interop
  • zusätzliche Redigierung versehentlich gelieferter Kennwort-/Tokenwerte
  • atomare XLSX-Erzeugung über eine temporäre Datei
  • Fehler optionaler WMI-Klassen stoppen die übrige Erfassung nicht
  • identische Fortschrittsausgabe auf Konsole und in der Logdatei

Die XLSX- und Logdatei enthält interne Server-, Anwendungs-, Host- und Endpunktinformationen und muss entsprechend geschützt abgelegt werden.

Voraussetzungen auf ACC und PROD

  • lokale Ausführung auf dem jeweiligen BizTalk Server 2020
  • Windows Server 2019
  • administrative cmd.exe empfohlen
  • Konto mit Leserechten auf root\MicrosoftBizTalkServer, regulär ein BizTalk-Administratoren- oder geeignetes Operatorenkonto
  • .NET Framework 4.7.2 oder höher
  • funktionierender lokaler BizTalk-WMI-Provider

Microsoft Office ist ausdrücklich keine Voraussetzung.

Schnellstart

  1. Deployment-Ordner auf den BizTalk Server kopieren.
  2. Administrative cmd.exe öffnen.
  3. Self-Test ohne BizTalk-Zugriff ausführen.
  4. Inventar für die jeweilige Umgebung erzeugen.

Self-Test:

BizTalkApplicationCatalog.exe --self-test

ACC:

run-inventory.cmd ACC C:\BizTalk-Doku\ACC

PROD:

run-inventory.cmd PROD C:\BizTalk-Doku\PROD

Direkter Aufruf:

BizTalkApplicationCatalog.exe ^
  --environment ACC ^
  --output C:\BizTalk-Doku\ACC

Konsolenausgabe

Das Tool zeigt laufend, was es gerade erfasst und wann die Excel-Datei geschrieben wurde:

[INFO] Starte Abschnitt: Anwendungen und Artefakte
[INFO] 34 installierte BizTalk-Anwendung(en) gefunden.
[INFO] Send Port: 87 Datensatz/Datensätze.
[INFO] Erzeuge Microsoft-Excel-Datei: C:\BizTalk-Doku\ACC\...
[INFO] Excel-Datei erfolgreich erzeugt: C:\BizTalk-Doku\ACC\...

Ausgabedateien

BizTalk-Anwendungsinventar-ACC-BIZTALKSERVER-20260727-150000.xlsx
BizTalk-Anwendungsinventar-ACC-BIZTALKSERVER-20260727-150000.log

Optionen und Exitcodes

Option Bedeutung
--environment NAME Umgebung, regulär ACC oder PROD
--output PFAD Zielordner für XLSX und Log
--management-server NAME optionaler Management-SQL-Server-Hinweis
--management-database NAME optionale Management-Datenbank; Fallback BizTalkMgmtDb
--self-test prüft XLSX-Struktur, Tabellen und Secret-Redaktion
--help zeigt die Hilfe
Exitcode Bedeutung
0 vollständige Anwendungserfassung und XLSX erfolgreich
1 XLSX erzeugt, aber ein Pflichtabschnitt war unvollständig
2 Aufruf-, Ausgabe- oder Berichtserzeugungsfehler

Build mit Visual Studio 2019

Die Solution vermeidet bewusst den beim früheren IIS Inventory aufgetretenen .NET-SDK-/MSBuild-Konflikt:

Komponente Vorgabe
Ziel .NET Framework 4.7.2
Sprache C# 7.3
Solution Visual Studio 2019, Formatversion 16
Projektformat klassisches MSBuild mit ToolsVersion="15.0"
MSBuild 16.x, einschließlich 16.11
NuGet keine Pakete und kein Restore
.NET SDK / global.json nicht erforderlich

Voraussetzung auf dem Buildrechner ist das .NET Framework 4.7.2 Developer/Targeting Pack.

scripts\build-release.cmd
scripts\package-release.cmd

Das Deployment liegt anschließend unter:

artifacts\BizTalkApplicationCatalog-deploy\

Quellpaket und Base64-Text

Für eine dateibasierte Übergabe:

scripts\package-source.cmd

Erzeugt werden:

artifacts\BizTalkApplicationCatalog-source.zip
artifacts\BizTalkApplicationCatalog-source.zip.txt

Dekodieren unter Windows:

certutil -decode BizTalkApplicationCatalog-source.zip.txt BizTalkApplicationCatalog-source.zip

Gitea

Das Repository enthält .gitea/workflows/build.yml. Ein Windows-Runner mit Visual Studio 2019 Build Tools und .NET Framework 4.7.2 Developer Pack baut die Solution, führt Tests und Self-Test aus und stellt den Deployment-Ordner als Artefakt bereit.

Troubleshooting

Solution lässt sich in VS 2019 nicht öffnen

Prüfen, dass wirklich diese klassische Solution geöffnet wird und das .NET Framework 4.7.2 Developer Pack installiert ist. Das Repository enthält weder SDK-Style-Projekte noch global.json oder PackageReference.

Keine Anwendungen

  • Tool lokal auf dem BizTalk Server ausführen
  • Konto und WMI-Leserechte prüfen
  • Namespace root\MicrosoftBizTalkServer prüfen
  • BizTalk Administration Console auf demselben Konto testen

Einzelne Zählwerte sind 0

Zuerst das Blatt Abdeckung prüfen. Nur bei Status Vollständig ist die Null durch eine erfolgreich gelesene WMI-Klasse belegt. Bei Nicht verfügbar oder Begrenzt muss die Ursache geprüft werden.

Weitere technische Details stehen in Dokumentation.md.