Stabilize BizTalk inventory collection and diagnostics
Build und Test / build (push) Has been cancelled

This commit is contained in:
2026-07-28 10:55:57 +02:00
parent 439427cc17
commit d1e10920c9
11 changed files with 1008 additions and 172 deletions
+47 -11
View File
@@ -7,14 +7,18 @@ Das Tool wird einmal auf dem BizTalk Server in `ACC` und einmal auf dem BizTalk
- einem BizTalk Server 2020
- einem separaten SQL Server für die BizTalk-Datenbanken
Microsoft Office, Word, PowerShell, ein .NET SDK, Internetzugriff und zusätzliche BizTalk-Programmier-DLLs werden auf dem Zielserver nicht benötigt.
Microsoft Office, Word, PowerShell, ein .NET SDK, Internetzugriff und separat
mitgelieferte BizTalk-DLLs werden auf dem Zielserver nicht benötigt. Die mit den
lokalen BizTalk-Verwaltungskomponenten installierte
`Microsoft.BizTalk.ExplorerOM.dll` wird zur Laufzeit aus GAC beziehungsweise
BizTalk-Installationspfad geladen.
## Erfasster Umfang
### Vollständige BizTalk-Anwendungsliste
- alle Anwendungen aus `MSBTS_Application`
- Anwendungsstatus und Beschreibung
- alle Anwendungen read-only aus dem BizTalk Explorer Object Model
- Anwendungsstatus und Beschreibung, soweit ExplorerOM sie bereitstellt
- Anzahl und Zuordnung von Orchestrierungen
- Send Ports und Send Port Groups
- Receive Ports und Receive Locations
@@ -69,7 +73,7 @@ Das Tool erfindet hierfür keine Werte. Es dokumentiert nur lokal belegbare Indi
## Sicherheitsprinzip
- ausschließlich read-only WMI- und Registry-Abfragen
- ausschließlich read-only ExplorerOM-, WMI- und Registry-Zugriffe
- `BTSTask ExportBindings /GroupLevel` wird nur zum Lesen verwendet
- temporärer Binding-Export wird nach dem Parsen gelöscht
- BizTalk entfernt Kennwörter bereits beim Binding-Export
@@ -86,6 +90,8 @@ DOCX und Log enthalten trotzdem interne Host-, Anwendungs-, Zertifikats- und Pfa
- Konto ist Mitglied von `BizTalk Server Administrators` oder besitzt vergleichbare Leserechte
- .NET Framework 4.7.2 oder höher
- Zugriff auf die konfigurierte BizTalk Management Database
- lokale BizTalk-Verwaltungskomponenten einschließlich
`Microsoft.BizTalk.ExplorerOM.dll`
- `BTSTask.exe` aus der lokalen BizTalk-Installation
## Schnellstart
@@ -127,15 +133,25 @@ BizTalkSapEnvironmentInventory.exe ^
Das Tool zeigt jeden Abschnitt und die erzeugten Dateien direkt auf der Konsole an:
```text
[INFO] Starte Abschnitt: BizTalk-Anwendungen und WMI-Artefakte
[INFO] 34 BizTalk-Anwendung(en) über WMI gefunden.
[INFO] Ermittle die BizTalk-Gruppe über MSBTS_GroupSetting.
[DETAIL] WQL: SELECT Name,MgmtDbServerName,MgmtDbName FROM MSBTS_GroupSetting
[INFO] MSBTS_GroupSetting abgeschlossen: Datensätze=1; Dauer=84 ms.
[INFO] Suche die lokale Assembly Microsoft.BizTalk.ExplorerOM.dll.
[INFO] ExplorerOM-Assembly geladen: Microsoft.BizTalk.ExplorerOM, Version=...
[INFO] 34 BizTalk-Anwendung(en) geladen (412 ms).
[INFO] Verbinde lokal mit dem BizTalk-WMI-Namespace für optionale Zusatzdaten.
[INFO] WMI-Abfrage abgeschlossen: SendPort; Datensätze=91; Dauer=173 ms.
[INFO] Exportiere BizTalk-Gruppenbindings read-only mit BTSTask.
[INFO] BTSTask ExportBindings erfolgreich abgeschlossen (1865 ms).
[INFO] 12 SAP-Endpunkt(e) aus dem Binding-Export ausgewertet.
[INFO] Erzeuge Microsoft-Word-Dokument: C:\BizTalk-Doku\ACC\...
[INFO] Word-Dokument erfolgreich erzeugt: C:\BizTalk-Doku\ACC\...
[INFO] Ergebnisübersicht: Anwendungen=34; SAP-Endpunkte=12; Findings=4.
```
Fehler eines Collectors stoppen die übrigen Abschnitte nicht. Sie erscheinen im Log, im Erfassungsstatus und als Finding im Word-Bericht.
Konsole und Log erhalten dieselben Fortschritts- und Diagnosemeldungen. Fehler
enthalten Ausnahmetyp, HRESULT, WMI-Status, innere Ausnahmen und Stacktrace.
Fehler eines Collectors stoppen die übrigen Abschnitte nicht. Fehlende optionale
WMI-Klassen verwerfen insbesondere nicht die über ExplorerOM geladene
Anwendungsliste.
## Ausgabedateien
@@ -200,7 +216,28 @@ Die Gitea-Workflowdatei `.gitea/workflows/build.yml` baut, testet und veröffent
- lokal auf dem BizTalk Server ausführen
- Konto und Mitgliedschaft in den BizTalk-Administrator-/Operator-Gruppen prüfen
- WMI-Namespace `root\MicrosoftBizTalkServer` prüfen
- im Log das ermittelte Management-Datenbankziel prüfen
- geladene ExplorerOM-Assembly einschließlich Version und Pfad prüfen
- Zugriff auf die BizTalk Management Database mit integrierter
Windows-Authentifizierung prüfen
- bei fehlender Erkennung `--management-server` und
`--management-database` explizit angeben
### WMI meldet `Invalid class`
Die Anwendungsliste verwendet nicht mehr die nicht verlässlich vorhandene Klasse
`MSBTS_Application`, sondern ExplorerOM. Ein `Invalid class` für eine optionale
Artefaktklasse erscheint mit WQL, HRESULT und WMI-Status im Log, wird als Finding
übernommen und der Lauf wird fortgesetzt. Schlägt bereits
`MSBTS_GroupSetting` fehl, kann die Management-Datenbank über die beiden
`--management-*`-Optionen vorgegeben werden.
### ExplorerOM-Assembly fehlt
- prüfen, ob die BizTalk-Verwaltungskomponenten lokal installiert sind
- im Log die geprüften GAC-/Installationspfade kontrollieren
- keine DLL von einem anderen BizTalk-Server oder einer anderen CU-Version
in den Deployment-Ordner kopieren
### BTSTask findet die Management Database nicht
@@ -228,4 +265,3 @@ BizTalkSapEnvironmentInventory.exe ^
- DOCX-Findings und Log prüfen
Weitere Architektur- und Sicherheitsdetails stehen in [Dokumentation.md](Dokumentation.md).