Anwendungsfälle#
Benutzer#
Gehen wir davon aus, dass Benutzer in der XPhone Web-Administration gesperrt sind. So suchen Sie nach allen gesperrten Benutzern:
Get-XpUsers | Where{$_.Interlock –eq "True"}
Alternativ:
Get-XpUsers | Where-Object { $_.Interlock -eq "True"}
Hinweis
Folgende Vergleichsoperatoren können verwendet werden:
eq= equal (ist gleich)gt= greater than (größer als)ge= greater or equal (größer oder gleich)lt= lower than (kleiner als)le= lower or equal (kleiner oder gleich)ne= not equal (nicht gleich)like= Vergleiche mit *match= Vergleich mit RegEx
In allen gesperrten Benutzern soll Achtung! in der Beschreibung stehen:
Get-XpUsers | Where{$_.Interlock –eq "True"} | foreach{$_.Description = "Achtung!";$_} | Set-XpUsers
Danach sollen alle gesperrten Benutzer entsperrt werden:
Get-XpUsers | where-object {$_.Interlock -eq $True} | foreach{$_.Interlock = $False;$_} | Set-XpUsers
Standorte und Konfigurationsgruppen#
Hier sollen alle Benutzer eines Standortes oder einer Konfigurationsgruppe aufgelistet und dann geändert werden. Dieses Beispiel verwendet die Fallback-Szenarien, kann aber beliebig für andere Änderungen abgeändert werden.
Suche#
Variante 1#
Mit dem folgenden Befehl können Sie eine Suche durchführen:
Get-XpUsers Berlin
Sie erhalten eine Liste aller Benutzer, die etwas mit Berlin zu tun haben. Die Suche entspricht der Suche im XPhone Server:

Wie Sie jedoch sehen können, werden auch die Benutzerinformationen angezeigt. Bei dieser Suche werden alle Felder der Benutzer berücksichtigt. Daher werden z.B. auch Benutzer mit dem Nachnamen Berlin in der Liste angezeigt. Wenn Sie also mit dem obigen Befehl auch nach Standorten und Konfigurationsgruppen filtern wollen, müssen Sie diese eindeutig benennen (z.B. Standort_Berlin, Config_Hamburg o.ä.).
Variante 2#
Wie man sieht, ist Variante 1 fehleranfällig für Informationen, die im Benutzer konfiguriert sind. Bei Variante 2 sind die Namen der Standorte und Konfigurationsgruppen irrelevant, da mit den eindeutigen IDs der Standorte und Konfigurationsgruppen gearbeitet wird.
$id = Get-XpConfigGroups "Hauptstandort" -ConfigGroupNames "Berlin" | Select-Object Id | foreach { $_.Id }
Get-XpUsers | Where-Object -Property ParentGuid -eq $id
User-Objekte#
Die Suche der o.g. Variante 2 wird in diesem Beispiel erweitert, um die Anrufweiterleitung für das Fallbackszenario zu setzen.
$id = Get-XpConfigGroups "Hauptstandort" -ConfigGroupNames "Berlin" | Select-Object Id | foreach { $_.Id }
$u = Get-XpUsers | Where-Object -Property ParentGuid -eq $id
$n = $u | foreach { $_.Accountname }
Get-XpLineForwardData -ForwardMode "noanswer" -UserNames $n | foreach{$_.NoAnswerDelaySeconds = 30; $_.NoAnswerTargetInternal = 'forward'; $_.NoAnswerTargetInternalCallNumber = "+4989840798666"; $_.NoAnswerTargetExternal = 'off';$_} | Set-XpLineForwardData
Export und Import#
Exportieren Sie die angezeigten User-Objekte mit zugehörigen Properties in eine CSV-Datei:
Get-XpUsers | Select-Object -Property AccountName,TelephoneNumber | Export-Csv C:\cf.csv
Sie erhalten eine Datei mit AccountNamen und Telefonnummer:
"AccountName","TelephoneNumber"
"Eve.1@ucserver.local","+4989840798120"
"Christin.1@ucserver.local","+4989840798121"
"basti@ucserver.local","+4989840798122"
"Jonas.1@ucserver.local","+4989840798123"
"Daniel.1@ucserver.local","+4989840798124"
Ändern Sie die Datei folgendermaßen ab:
"AccountName","Destination"
"Eve.1@ucserver.local","+4940123456"
"Christin.1@ucserver.local","+4940123456"
"basti@ucserver.local","+4940123456"
"Jonas.1@ucserver.local","+49306666666"
"Daniel.1@ucserver.local","+4940123456"
Statt der eigenen Telefonnummer, soll ein Weiterleitungsziel als Fallbackszenario für Softphone/AnyDevice pro Benutzer konfiguriert werden. Der Import erfolgt über die Powershell wie folgt:
Import-Csv c:\cf.csv | ForEach-Object {
$dest = $_.Destination;
Get-XpLineForwardData -ForwardMode 'NoAnswer' -UserNames $_.AccountName | foreach{$_.NoAnswerDelaySeconds = 30; $_.NoAnswerTargetInternal = 'forward'; $_.NoAnswerTargetInternalCallNumber = $dest; $_.NoAnswerTargetExternal = 'off';$_} | Set-XpLineForwardData
}
Konnektoren#
CTI-Gateways auswählen#
Wenn Sie in allem Konnektoren das CTI-Gateway im Dialogfenster Unter Berücksichtigung erweiterter Einstellungen zur Leitungserzeugung auswählen müssen, können Sie mit dieser Anleitung das gewünschte Gateway in allen Konnektoren gleichzeitig festlegen.
In diesem Dialogfenster entspricht die Position der Sortierung innerhalb der Listenbox von oben nach unten. Beachten Sie, dass der Index bei 0 beginnt:
Index 0: CTI-Gateway Innovaphone SOAP
Index 1: CTI-Gateway OSBiz CTI
Mit folgendem Befehl setzen Sie in allen Konnektoren das Gateway an Position 0 und markieren es als ausgewählt:
PS C:\Windows\system32> get-xpconnectors | foreach{$_.optionslinecreation.pbx[0].selected=$true;$_} | select-object -Property Name,OptionsLineCreation
Beispielausgabe:
Name OptionsLineCreation
---- -------------------
Support DialParams = , PBX = Innovaphone SOAP ...
Sales DialParams = , PBX = Innovaphone SOAP ...
Dieser erste Befehl ändert nur die lokalen Objekte. Es ist aber noch keine Übertragung zum Server erfolgt.
Um die Einstellung tatsächlich zu speichern, leiten Sie das Ergebnis an Set-XpConnectors weiter:
get-xpconnectors | foreach{$_.optionslinecreation.pbx[0].selected=$true;$_} | set-xpconnectors
Achtung
Diese Kommandos ändern alle vorhandenen Konnektoren gleichzeitig und führt keine Rückfrage durch. Nutzen Sie es daher nur, wenn Sie sich der Konsequenzen bewusst sind.
Das Ergebnis in allen Konnektoren sollte wie folgt aussehen:
Flags setzen#
Hier wird beschrieben, wie Sie in allen Konnektoren das Weitere Flags (optional) Feld setzen:
Dieser Befehl ändert nur die lokalen Objekte und setzt das Flag 0x10000000. Es ist aber noch keine Übertragung zum Server erfolgt.
get-xpconnectors | foreach{$_.optionslinecreation.PBXAutoConfigExt=0x10000000;$_} | select-object -Property Name,OptionsLineCreation
Beispielausgabe:
Active Directory connector DialParams = , PBX = Innovaphone SOAP ...
Sales DialParams = , PBX = Innovaphone SOAP ...
Um die Einstellung tatsächlich zu speichern, leiten Sie das Ergebnis an Set-XpConnectors weiter:
get-xpconnectors | foreach{$_.optionslinecreation.PBXAutoConfigExt=0x10000000;$_} |set-xpconnectors
Achtung
Diese Kommandos ändern alle vorhandenen Konnektoren gleichzeitig und führt keine Rückfrage durch. Nutzen Sie es daher nur, wenn Sie sich der Konsequenzen bewusst sind.


