-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
Schritt-für-Schritt Anleitung zur Installation von os4k2excel.
- Windows: 10, 11, Server 2016+
- PowerShell: 5.1+ (in Windows enthalten)
- .NET Framework: 4.5+ (in Windows enthalten)
-
api2hipath.exe — XIE-API Tool von Unify/Mitel
- Bestandteil von OpenScape 4000 Assistant/Manager V11
- Standardpfad:
C:\Program Files (x86)\Unify\OpenScape 4000 Export Table\api2hipath.exe - Muss lokal installiert sein
- Dokumentation: XIE API Service Documentation
- Netzwerkzugriff zum OpenScape 4000 Server
- Port 8080 frei (für Webserver, optional)
Das Script benötigt das ImportExcel Modul, um Excel-Dateien ohne Microsoft Office zu erstellen (basiert auf EPPlus/OfficeOpenXml).
Wenn der PC Internetzugang hat, kann das Modul direkt aus der PowerShell Gallery installiert werden.
1. NuGet Package Provider installieren (falls noch nicht vorhanden):
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force2. PSGallery als vertrauenswürdige Quelle setzen (optional, vermeidet Rückfragen):
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted3. ImportExcel installieren:
Install-Module -Name ImportExcel -Scope CurrentUserBei der ersten Installation wird nach Bestätigung gefragt:
- NuGet-Paket installieren →
Y - PSGallery Repository vertrauen →
Y
4. Installation überprüfen:
Get-Module -ListAvailable ImportExcel5. Update auf neueste Version (zu einem späteren Zeitpunkt):
Update-Module -Name ImportExcelWenn der Ziel-PC keinen Internetzugang hat (z.B. in abgeschotteten Netzwerken), muss das Modul auf einem anderen PC heruntergeladen und manuell übertragen werden.
Es gibt zwei Wege:
Weg 1 — Per PowerShell (empfohlen):
# Modul in einen beliebigen Ordner herunterladen (wird NICHT installiert)
Save-Module -Name ImportExcel -Path "C:\Temp\PSModules"Das erstellt automatisch die korrekte Ordnerstruktur:
C:\Temp\PSModules\
└── ImportExcel\
└── 7.8.10\ ← Versionsnummer (Beispiel)
├── ImportExcel.psd1
├── ImportExcel.psm1
└── ...
Weg 2 — Manueller Download über den Browser:
- Öffne https://www.powershellgallery.com/packages/ImportExcel/
- Klicke auf den Tab "Manual Download"
- Klicke auf "Download the raw nupkg file"
- Die Datei
importexcel.<version>.nupkgwird heruntergeladen - Dateiendung von
.nupkgin.zipumbenennen - ZIP-Datei entpacken (Rechtsklick → "Alle extrahieren")
- Im entpackten Ordner befinden sich die Modul-Dateien (
ImportExcel.psd1,ImportExcel.psm1, etc.) - Den Ordner in
ImportExcelumbenennen (ohne Versionsnummer im Namen) - Die Dateien
[Content_Types].xml,_rels/undpackage/können gelöscht werden — sie gehören zum NuGet-Paketformat und werden nicht benötigt
Den Ordner ImportExcel (inkl. aller Unterordner und Dateien) per USB-Stick, Netzlaufwerk oder anderem Medium auf den Ziel-PC kopieren.
Das Modul muss in einen der PowerShell-Modulpfade kopiert werden:
Option 1 — Nur für den aktuellen Benutzer (kein Admin erforderlich):
# Zielpfad
$targetPath = "$env:USERPROFILE\Documents\WindowsPowerShell\Modules\ImportExcel"
# Ordner erstellen
New-Item -Path $targetPath -ItemType Directory -Force
# Dateien vom USB-Stick kopieren (Laufwerk anpassen!)
Copy-Item -Path "D:\ImportExcel\*" -Destination $targetPath -Recurse -ForceOption 2 — Für alle Benutzer auf dem PC (PowerShell als Administrator starten):
# Zielpfad (systemweit)
$targetPath = "C:\Program Files\WindowsPowerShell\Modules\ImportExcel"
# Ordner erstellen
New-Item -Path $targetPath -ItemType Directory -Force
# Dateien vom USB-Stick kopieren (Laufwerk anpassen!)
Copy-Item -Path "D:\ImportExcel\*" -Destination $targetPath -Recurse -Force# Modul muss in der Liste erscheinen
Get-Module -ListAvailable ImportExcel
# Test-Import durchführen
Import-Module ImportExcel
# Verfügbare Befehle anzeigen (sollte ca. 40+ Befehle zeigen)
Get-Command -Module ImportExcel | Measure-ObjectPowerShell erkennt das Modul nur, wenn die Dateien korrekt abgelegt sind:
...\Modules\
└── ImportExcel\ ← Ordnername MUSS "ImportExcel" heissen
├── ImportExcel.psd1 ← Modul-Manifest (Pflicht)
├── ImportExcel.psm1 ← Modul-Code
└── ... ← weitere Dateien
Alternativ mit Versionsunterordner (wird von Save-Module automatisch erstellt):
...\Modules\
└── ImportExcel\
└── 7.8.10\ ← Versionsnummer
├── ImportExcel.psd1
├── ImportExcel.psm1
└── ...
Beide Varianten werden von PowerShell erkannt.
Falls unsicher, welche Pfade PowerShell durchsucht:
$env:PSModulePath -split ';'Typische Ausgabe:
| Pfad | Geltungsbereich |
|---|---|
C:\Users\<Name>\Documents\WindowsPowerShell\Modules |
Aktueller Benutzer |
C:\Program Files\WindowsPowerShell\Modules |
Alle Benutzer |
C:\Windows\System32\WindowsPowerShell\v1.0\Modules |
System (nicht verwenden) |
PowerShell-Module werden nicht automatisch aktualisiert. Updates müssen manuell angestossen werden.
# Installierte Version anzeigen
Get-Module -ListAvailable ImportExcel | Select-Object Name, Version, ModuleBaseBeispiel-Ausgabe:
Name Version ModuleBase
---- ------- ----------
ImportExcel 7.8.10 C:\Users\MeinName\Documents\WindowsPowerShell\Modules\ImportExcel\7.8.10
Falls keine Ausgabe erscheint, ist das Modul nicht installiert — siehe Variante A oder Variante B.
Falls mehrere Zeilen erscheinen, sind mehrere Versionen parallel installiert. PowerShell verwendet automatisch die neueste. Alte Versionen können entfernt werden — siehe Alte Versionen aufräumen.
# 1. Aktuell installierte Version prüfen
Get-Module -ListAvailable ImportExcel | Select-Object Name, Version
# 2. Update durchführen
Update-Module -Name ImportExcel
# 3. Neue Version überprüfen
Get-Module -ListAvailable ImportExcel | Select-Object Name, VersionHinweis:
Update-Modulefunktioniert nur, wenn das Modul ursprünglich mitInstall-Moduleinstalliert wurde. Bei einer manuellen (Offline-)Installation muss auch das Update manuell erfolgen (siehe unten).
Nach einem Update mit Update-Module wird die neue Version neben der alten installiert — die alte Version wird nicht automatisch entfernt. Das ist gewollt (Rollback-Möglichkeit), kann aber auf Dauer unnötig Speicherplatz belegen.
Prüfen ob mehrere Versionen installiert sind:
Get-Module -ListAvailable ImportExcel | Select-Object Name, VersionBeispiel-Ausgabe mit zwei Versionen:
Name Version
---- -------
ImportExcel 7.8.10
ImportExcel 7.8.9
Alte Version deinstallieren:
# Alte Version gezielt entfernen (Versionsnummer anpassen!)
Uninstall-Module -Name ImportExcel -RequiredVersion 7.8.9Überprüfen, dass nur noch die aktuelle Version vorhanden ist:
Get-Module -ListAvailable ImportExcel | Select-Object Name, VersionHinweis: Falls
Uninstall-Modulefehlschlägt (z.B. bei Offline-Installation), kann der Ordner auch manuell gelöscht werden:# Installationspfade anzeigen Get-Module -ListAvailable ImportExcel | Select-Object Name, Version, ModuleBase # Alten Versionsordner manuell löschen (Pfad aus ModuleBase übernehmen) Remove-Item -Path "C:\Users\<Name>\Documents\WindowsPowerShell\Modules\ImportExcel\7.8.9" -Recurse -Force
Bei einer Offline-Installation muss die neue Version erneut heruntergeladen und manuell übertragen werden.
Schritt 1: Neue Version herunterladen (auf einem PC MIT Internet)
Weg 1 — Per PowerShell:
# Neueste Version in einen Ordner herunterladen
Save-Module -Name ImportExcel -Path "C:\Temp\PSModules"Weg 2 — Per Browser:
- Öffne https://www.powershellgallery.com/packages/ImportExcel/
- Tab "Manual Download" → "Download the raw nupkg file"
-
.nupkgin.zipumbenennen und entpacken - Ordner in
ImportExcelumbenennen - NuGet-Dateien entfernen (
[Content_Types].xml,_rels/,package/)
Schritt 2: Auf den Offline-PC übertragen (USB-Stick, Netzlaufwerk, etc.)
Schritt 3: Alte Version ersetzen
# Installationspfad ermitteln
Get-Module -ListAvailable ImportExcel | Select-Object ModuleBase
# Sicherstellen, dass das Modul nicht geladen ist
Remove-Module ImportExcel -ErrorAction SilentlyContinue
# Alte Dateien löschen und neue kopieren
$modulePath = "$env:USERPROFILE\Documents\WindowsPowerShell\Modules\ImportExcel"
Remove-Item -Path "$modulePath\*" -Recurse -Force
Copy-Item -Path "D:\ImportExcel\*" -Destination $modulePath -Recurse -ForceWichtig: Vor dem Überschreiben muss das Modul entladen werden (
Remove-Module), da Windows geladene Dateien sperrt. Alternativ PowerShell schliessen und neu öffnen.
Schritt 4: Update überprüfen
# Neue Version prüfen
Get-Module -ListAvailable ImportExcel | Select-Object Name, Version
# Test-Import
Import-Module ImportExcel -ForceKommandozeilen-Tool von Unify/Mitel zum Zugriff auf die OpenScape 4000 Datenbank via XIE (Import/Export) API.
| Eigenschaft | Details |
|---|---|
| Hersteller | Unify / Mitel |
| Bestandteil von | OpenScape 4000 Assistant / Manager V11 |
| Standardpfad | C:\Program Files (x86)\Unify\OpenScape 4000 Export Table\api2hipath.exe |
| Installation | Wird mit dem OpenScape 4000 Assistant/Manager installiert. Nicht separat verfuegbar. |
| Dokumentation | OpenScape 4000 Assistant/Manager V11, Import/Export (XIE) API, Service Documentation (P31003-H34B0-S102-02-0020, 08/2024) — Mitel Document Center: DE | EN |
Das Tool muss auf dem Rechner installiert sein, auf dem das Skript ausgefuehrt wird, und Netzwerkzugriff auf den OpenScape 4000 Server haben.
Die api2hipath.exe wird ueber den Export Table Client bereitgestellt. Die Installation erfolgt direkt ueber den OpenScape 4000 Assistant:
- Im Assistant navigieren zu: Dienstprogramme > Export Table Client installieren
- Voraussetzung: Microsoft Visual C++ 2010 Redistributable Package x86 muss installiert sein (auch auf 64-Bit-Systemen)
- Die Export Table Installationsdatei herunterladen und
ExTable.exeausfuehren

Nach der Installation befindet sich api2hipath.exe im Standardpfad C:\Program Files (x86)\Unify\OpenScape 4000 Export Table\.
Fuer den Zugriff auf die OpenScape 4000 Datenbank wird ein dedizierter API-Benutzer benoetigt. Die Einrichtung erfolgt im OpenScape 4000 Assistant unter Zugangsverwaltung > Kennungsverwaltung > Benutzerkennungsverwaltung.
- + Benutzer hinzufuegen klicken
-
Neue Kennung: z.B.
xieapi -
Beschreibung: z.B.
Powershell Script -
Sicherheitsprofil:
Kunden-Benutzer (cust)(minimale Berechtigung) - Benutzer hinzufuegen klicken

- Den neu angelegten Benutzer auswaehlen und Benutzer bearbeiten klicken
- Neues Passwort setzen und wiederholen
- Unter Eigenschaften:
- Passwort ist unbegrenzt gueltig aktivieren (Checkbox)
- Unter Automatisch sperren:
-
Kennung automatisch sperren:
nie
-
Kennung automatisch sperren:
- Speichern klicken

Der API-Benutzer benoetigt ausschliesslich Lesezugriff auf die vom Skript abgefragten Tabellen ueber die Import/Export API (XIE).
In der Zugangsverwaltung > Zugriffsrechtegruppen-Konfiguration:
- Neue Gruppe anlegen, z.B.
XIEAPI - Unter Import/Export API (XIE) folgende Tabellen freigeben:
CFWDEVCONSTDOMAINHUNTGRPHUNTGRP_SERVICENUMBERING_PLANPERSPORT-
PICKUPGRP— NEU (ab Version M26) -
PICKUP_SUB— NEU (ab Version M26) PORTSWITCH

In der Zugangsverwaltung > Zugriffsrechtekonfiguration:
- Benutzer
xieapiauswaehlen - Die Zugriffsrechtegruppe
XIEAPIzuweisen (blau markiert) - Im unteren Bereich wird die Zusammenfassung der Rechte angezeigt: Import/Export API (XIE): CFW, DEVCONST, DOMAIN, HUNTGRP, HUNTGRP_SERVICE, NUMBERING_PLAN, PERSPORT, PICKUPGRP, PICKUP_SUB, PORT, SWITCH

Hinweis: Es werden bewusst nur die minimal notwendigen Tabellen freigegeben. Die Tabelle
PORTwird pro Domain/Switch dynamisch abgefragt und muss daher ebenfalls in der Zugriffsrechtegruppe enthalten sein. Die TabellenPICKUPGRPundPICKUP_SUBsind ab Version M26 erforderlich.
Die Standardpfade sind meist korrekt, aber überprüfe:
# Überprüfe den Standard-Pfad zu api2hipath.exe
$path = 'C:\Program Files (x86)\Unify\OpenScape 4000 Export Table\api2hipath.exe'
Test-Path $path # Sollte True zurückgebenFalls ein anderer Pfad vorhanden ist, wird er per -ApiPath Parameter angegeben.
Öffne PowerShell und starte das Script:
# Minimal (erforderliche Parameter)
.\getall_cfw.ps1 -ApiHost "10.10.206.18" -ApiUser "engr" -ApiPassword "geheim"
# Mit Debug-Modus für Diagnose
.\getall_cfw.ps1 -ApiHost "10.10.206.18" -ApiUser "engr" -ApiPassword "geheim" -Debug
# Mit allen Optionen
.\getall_cfw.ps1 -ApiHost "10.10.206.18" -ApiUser "engr" -ApiPassword "geheim" `
-OutputPath "C:\Exports" -MarkDuplicate -ShowSecretsParameter:
-
-ApiHost— IP des OpenScape 4000 Servers -
-ApiUser— API-Benutzername (z.B.engr) -
-ApiPassword— API-Passwort -
-OutputPath— Zielverzeichnis (Standard: Skriptverzeichnis) -
-MarkDuplicate— Doppelte PENs orange markieren -
-ShowSecrets— SIP-Secrets im Klartext (Standard: maskiert) -
-Debug— Detaillierte Diagnose-Ausgaben
Nach der Ausführung erhältst du:
- OS4K-PORT-{datum}.xlsx — Excel-Report mit mehreren Arbeitsblättern
- OS4K-PORT-{datum}.log — Ausführungsprotokoll
- OS4K-{tabelle}-{datum}.csv — Rohdaten der Abfragen
Mit -Debug enthalten die Logs detaillierte diagnostische Informationen.
Für ein Webinterface installiere den Webserver:
.\os4k2excel-server.ps1 -ApiHost "10.10.206.18" -ApiUser "engr" `
-ApiPassword "geheim" -WebPassword "team2024"Dann öffne im Browser: http://localhost:8080
Siehe Webserver für vollständige Dokumentation.
Lösung:
- Überprüfe, ob OpenScape 4000 Manager/Assistant V11 installiert ist
- Überprüfe den Pfad mit
Test-Path 'C:\Program Files (x86)\Unify\OpenScape 4000 Export Table\api2hipath.exe' - Falls anders:
-ApiPath "C:\pfad\zu\api2hipath.exe"Parameter verwenden
Lösung:
Install-Module -Name ImportExcel -Scope CurrentUser -ForceLösung:
- Überprüfe Benutzerkennungsverwaltung → Zugriffsrechtegruppen
- Stelle sicher, dass alle erforderlichen Tabellen auf Lesen gesetzt sind
- Überprüfe, dass der API-Benutzer der Gruppe zugewiesen ist
Lösung:
- Starte Script mit
-Debugum detaillierte Logs zu sehen:.\getall_cfw.ps1 -ApiHost "..." -ApiUser "..." -ApiPassword "..." -Debug
- Überprüfe die Log-Datei auf Fehler
- Teste die Verbindung mit
api2hipath.exemanuell
Lösung:
- Überprüfe die API-Exit-Codes im Log
- Stelle sicher, dass alle erforderlichen Tabellen in den Zugriffsrechten enthalten sind
- Überprüfe Netzwerkverbindung zum OS4K Server
Installiert: Version M26.20260310.1239
Für aktuelle Änderungen siehe GitHub Release v2.26.0.
Letztes Update: 2026-03-10 | Release: v2.26.0 (M26.20260310.1239)