-
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 -ForceIm OpenScape 4000 Manager müssen die API-Zugriffsrechte für den XIE-API Benutzer konfiguriert werden.
- Öffne OpenScape 4000 Manager
- Gehe zu Benutzerkennungsverwaltung → Zugriffsrechtegruppen-Konfiguration
- Klicke auf Neu um eine neue Gruppe zu erstellen
- Gib einen Namen ein (z.B.
XIEAPI)
Aktiviere Lesen für folgende Tabellen:
| Tabelle | Beschreibung |
|---|---|
| CFW | Call Forwarding (Rufumleitung) |
| DEVCONST | Device Constraint (Gerätekonfiguration) |
| DOMAIN | Domains |
| HUNTGRP | Hunting Groups (Sammelanschluss) |
| HUNTGRP_SERVICE | Hunting Group Services |
| NUMBERING_PLAN | Rufnummernplan |
| PERSPORT | Personal Port (Port-Verbindungstypen) |
| PICKUPGRP | Pickup Groups (Rufannahmegruppen) — NEU (M26) |
| PICKUP_SUB | Pickup Group Members — NEU (M26) |
| PORT | Port (wird dynamisch pro Domain/Switch abgerufen) |
| SWITCH | Switches |
Wichtig:
- Die PORT Tabelle muss enthalten sein, da sie dynamisch pro Domain/Switch abgerufen wird
- Die neuen Tabellen PICKUPGRP und PICKUP_SUB sind ab Version M26 erforderlich
- Nur Lesen (Read) Berechtigung ist erforderlich
- Gehe zu Benutzerkennungsverwaltung → Benutzerkennungsverwaltung
- Bearbeite den XIE-API Benutzer (z.B.
engr,xieapi) - Weise die neue Zugriffsrechtegruppe zu
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)