Nützliche Powershell-Befehle für die Administration von Netphone bzw. Swyx VoIP-Anlagen
An Netphone angemeldete Hardware eines Benutzers auslesen
(In diesem Beispiel wird zusätzlich noch eine Einschränkung vorgenommen. Es werden nur die Telefone selectiert, deren Modellbezeichnung mit L oder F anfängt. Dies ist bei Swyx Anlagen für die Hardwaretelefone der Fall.)
$User = Get-IpPbxUser -UserName "Hr. Benutzer" $Tel = $adminfacade.GetCurrentUserDevices($User.UserID) | Where-Object { ($_.strVersion -like "L*") -or ($_.strVersion -like "F*") }
Ermitteln welchem Benutzer die MAC Adresse eines Telefons für das Autologin zugeordnet ist
(In diesem Beispiel wird die MAC Adresse zusätzlich für das Autologin dieses Benutzers entfernt. Dies ist nötig, um die MAC Adresse einem anderen Benutzer zuweisen zu können. Z.B. wenn das Telefon getauscht wird oder ein Mitarbeiter einen neuen, festen Arbeitsplatz bekommt)
Get-IpPbxUser | where {$_.AutoLoginPhone -eq "00-1a-e8-8d-f6-d1"} | Set-IpPbxUserPhoneLogin -PhoneMAC ""
Autologin für einen Benutzer aktivieren
Get-IpPbxUser -UserName "Hr. Benutzer" | Set-IpPbxUserPhoneLogin -PhonePIN "1234" -PhoneMAC "ff-1a-e8-8d-f6-9f" -EnableAutoLogin:$true
Maximale Anzahl an Kurzwahlnummern abrufen / festlegen
Get-IpPbxSpeedDialKeyCount -UserName "Hr. Benutzer" Set-IpPbxSpeedDialKeyCount -UserName "Hr. Benutzer" -SpeedDialKeyCount 50
Kurzwahlnummern anzeigen / festlegen
(Die Kurzwahlnummern sind unabhängig von der Tastenkonfiguration auf den Telefonen)
Get-IpPbxUser -UserName "Hr. Benutzer" | Get-IpPbxSpeedDialKey New-IpPbxSpeedDialKey -Title "Fr. Ziel" -Number "1234" | Add-IpPbxSpeedDialKey -UserName "Hr. Benutzer" -SpeedDialKeyId 3
Collaboration für alle Benutzer zulassen (Remotesupport)
Get-IpPbxUser | foreach { $x = Get-IpPbxUserData -UserName $_.Name $x.m_bAppSharingEnabled=1 Set-IpPbxUserData -UserName $_.Name -UserData $x }
Parameter für alle Benutzer anpassen
Get-IpPbxUser | foreach { $x = Get-IpPbxUserData -UserName $_.Name $x.m_bRecordingEnabled=0 $x.m_bRecordAllCalls=0 $x.m_bUseIMClientAllowed=0 $x.m_bSignalGroupNotificationCall=0 Set-IpPbxUserData -UserName $_.Name -UserData $x }
Netphone Client – Tabs beschriften
$UserData = Get-IpPbxUser -UserName "Hr. Benutzer" | Get-IpPbxUserData $t1 = New-Object CTab $t1.GroupID = 1 $t1.PageNumber = 1 $t1.Title = "Test" $t2 = New-Object CTab $t2.GroupID = 1 $t2.PageNumber = 2 $t2.Title = "Test2" $Tabs = @($t1,$t2) $UserData.m_Tabs = $Tabs $UserData.m_iNumberOfTabs=2 Get-IpPbxUser -UserName "Hr. Benutzer" | Set-IpPbxUserData -UserData $UserData
Telefonbücher verwalten
Die Telefonbücher in der Netphone – ob global oder privat pro Benutzer – verwaltet man über folgende CMDlets. Generell wird per Get-IpPbxPhonebookEntry zuerst der Eintrag gesucht und dann fürs Update oder das Löschen an die entsprechenden CMDlets übergeben.
Auslesen
Gibt alle Einträge im persönlichen Telefonbuch des Benutzers aus, deren Name exact „Test“ ist. Die Parameter sind optional. Der Parameter SearchName darf keine Wildcards enthalten.
Get-IpPbxPhonebookEntry -PersonalPhoneBook -UserName <username> -SearchName "Test"
Updaten
$pbs = Get-IpPbxPhonebookEntry -PersonalPhoneBook -UserName foreach ($pb in $pbs) { if ($pb.Hide -eq $false) { $pb.Hide = $true Update-IpPbxPhonebookEntry -PhonebookEntry $pb } }
Löschen
Get-IpPbxPhonebookEntry -PersonalPhoneBook -UserName <username> -SearchName "Test" | Remove-IpPbxPhonebookEntry
Feature Profile Benutzern zuweisen
$FeatureProfileEntry = Get-IpPbxFeatureProfile -FeatureProfileName "TestProfile" $UserEntry = Get-IpPbxUser -UserName "Hr. Benutzer" $UserEntry.FeatureProfileID = $FeatureProfileEntry.FeatureProfileID Update-IpPbxUser -UserEntry $UserEntry
Rufumleitung aktivieren
Import-Module ippbx Connect-IpPbx -ServerName server $UserName = "Benutzername" $u = Get-IpPbxUser -UserName $UserName $u.DefaultFwd = 1 Update-IpPbxUser $u