211 lines
7.1 KiB
Markdown
211 lines
7.1 KiB
Markdown
# 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:
|
|
|
|
```cmd
|
|
BizTalkApplicationCatalog.exe --self-test
|
|
```
|
|
|
|
ACC:
|
|
|
|
```cmd
|
|
run-inventory.cmd ACC C:\BizTalk-Doku\ACC
|
|
```
|
|
|
|
PROD:
|
|
|
|
```cmd
|
|
run-inventory.cmd PROD C:\BizTalk-Doku\PROD
|
|
```
|
|
|
|
Direkter Aufruf:
|
|
|
|
```cmd
|
|
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:
|
|
|
|
```text
|
|
[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
|
|
|
|
```text
|
|
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`.
|
|
|
|
```cmd
|
|
scripts\build-release.cmd
|
|
scripts\package-release.cmd
|
|
```
|
|
|
|
Das Deployment liegt anschließend unter:
|
|
|
|
```text
|
|
artifacts\BizTalkApplicationCatalog-deploy\
|
|
```
|
|
|
|
## Quellpaket und Base64-Text
|
|
|
|
Für eine dateibasierte Übergabe:
|
|
|
|
```cmd
|
|
scripts\package-source.cmd
|
|
```
|
|
|
|
Erzeugt werden:
|
|
|
|
```text
|
|
artifacts\BizTalkApplicationCatalog-source.zip
|
|
artifacts\BizTalkApplicationCatalog-source.zip.txt
|
|
```
|
|
|
|
Dekodieren unter Windows:
|
|
|
|
```cmd
|
|
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](Dokumentation.md).
|