Jump to content

Beziehung aus Benutzer und Telefon und IP


marocco13

Recommended Posts

Hallo zusammen 

Wir haben bei uns ca. 100 Telefone (Open Stage L640) im Einsatz .

Gibt es die Möglichkeit eine Beziehung von Benutzern zu Telefon und IP herzustellen und

zwar von allen Benutzern in einer Liste?

Ich möchte eigentlich nur wissen welche Benutzer welches Telefon benutzt......

Man kann das ja in den Eigenschaften für jeden einzelnen Benutzer aufrufen (Eigenschaften-Reiter Endgeräte).

 

Vielen Dank vorab für Eure Hilfe

 

Gruß Ralf

Link to comment
Share on other sites


  • Most Valued User

Per Powershell kannst du dir die Infos direkt in einer Grid-View anzeigen lassen. Hatte mal ein Script erstellt:

# import Swyx Modul
Import-Module IpPbx
# Init Credentials
$cred = new-object System.Net.NetworkCredential("Admin","123456")
# Connect to Swyx CDS
Connect-IpPbx -ServerName "localhost" -Credentials $cred

#### Zuordnung pro Endgerät
#### Zuordnung pro Endgerät
#### Zuordnung pro Endgerät
function proDevice{
    # get Params
    $getOut = $args[0]
    #$args[1]

    $allUsers = Get-IpPbxUser | select "Name","UserId"
    # eigene Liste initialisieren
    $arrMyUsers = @()
    foreach($item in $allUsers){
        # Get Devices vom Benutzer
        $gcud = $AdminFacade.GetCurrentUserDevices($item.UserID)

        # Devices gefunden?
        if($gcud.Count -gt 0){ # 
            foreach($gcud_entry in $gcud){
                # Internal Numbers
                $intNumber = Get-IpPbxInternalNumber -UserName $item.Name
                # nur wenn interne Nummer vergeben
                $arrIntNumbers = @()
                if($intNumber -ne $null){
                    if(($intNumber.Number.GetType().Name -eq "String") -And ($intNumber -ne "")){
                        # String - also hat Benutzer nur eine interne 
                        $intNumberEntry = $intNumber.Number
                        $arrIntNumbers = $arrIntNumbers + $intNumberEntry
                    }
                    elseif(($intNumber.Number.GetType().Name -eq "Object[]") -And ($intNumber -ne "")){
                        # Array - also hat Benutzer mehrere interne Rufnummern (inkl. Fax)
                        foreach($intNumberEntry in $intNumber.Number){
                            $arrIntNumbers = $arrIntNumbers + $intNumberEntry
                        }
                    }
                }
                # Interne Nummer, komma-getrennt
                $stringlistIntNumbers = ""
                foreach($entryArr in $arrIntNumbers){
                    # Last Item - ohne Komma
                    if($entryArr -eq $arrIntNumbers[-1]){
                        $stringlistIntNumbers = $stringlistIntNumbers + $entryArr
                    }else{
                        $stringlistIntNumbers = $stringlistIntNumbers + $entryArr + ","
                    }
                }

                # Benutzer Objekt MIT Device
                $objUser = [PSCustomObject]@{
                    "Benutzername" = $item.Name
                    "Benutzer ID" = $item.UserID
                    #"interne Nummern" = ($arrIntNumbers | foreach {$_ + ", "} | Out-String).Trim()
                    "interne Nummern" = $stringlistIntNumbers
                    "IP" = $gcud_entry.strIPAddress
                    "MAC" = $gcud_entry.strMACAddress
                    "Client" = $gcud_entry.strName
                    "OS" = $gcud_entry.strOS
                    "OS Version" = $gcud_entry.strOSVersion
                    "angemeldet am" = $gcud_entry.dLoginTime
                }
            }
        }else{
            # Internal Numbers
            $intNumber = Get-IpPbxInternalNumber -UserName $item.Name
            # nur wenn interne Nummer vergeben
            $arrIntNumbers = @()
            if($intNumber -ne $null){
                if(($intNumber.Number.GetType().Name -eq "String") -And ($intNumber -ne "")){
                    # String - also hat Benutzer nur eine interne 
                    $intNumberEntry = $intNumber.Number
                    $arrIntNumbers = $arrIntNumbers + $intNumberEntry
                }
                elseif(($intNumber.Number.GetType().Name -eq "Object[]") -And ($intNumber -ne "")){
                    # Array - also hat Benutzer mehrere interne Rufnummern (inkl. Fax)
                    foreach($intNumberEntry in $intNumber.Number){
                        $arrIntNumbers = $arrIntNumbers + $intNumberEntry
                    }
                }
            }

            # Interne Nummer, komma-getrennt
            $stringlistIntNumbers = ""
            foreach($entryArr in $arrIntNumbers){
                # Last Item - ohne Komma
                if($entryArr -eq $arrIntNumbers[-1]){
                    $stringlistIntNumbers = $stringlistIntNumbers + $entryArr
                }else{
                    $stringlistIntNumbers = $stringlistIntNumbers + $entryArr + ","
                }
            }

            # Benutzer Objekt OHNE Device
            $objUser = [PSCustomObject]@{
                "Benutzername" = $item.Name
                "Benutzer ID" = $item.UserID
                #"interne Nummern" = $arrIntNumbers
                "interne Nummern" = $stringlistIntNumbers
                "IP" = ""
                "MAC" = ""
                "Client" = ""
                "OS" = ""
                "OS Version" = ""
                "angemeldet am" = ""
            }
        }
        # Add to AllUser Array
        $arrMyUsers = $arrMyUsers + $objUser
    }
    # Set Out View
    if($getOut -eq "Html"){
        # Out HTML File
        $htmlFile = "D:\dev\Test.htm"
        $arrMyUsers | Select-Object "Benutzername","Benutzer ID","interne Nummern","IP","MAC","Client","OS","OS Version","angemeldet am" | ConvertTo-HTML | Out-File $htmlFile
        # Open HTML via Browser
        Invoke-Expression $htmlFile
    }
    elseif($getOut -eq "Grid"){
        # .net Grid View
        $arrMyUsers | out-gridview -Title "Swyx Benutzer angemeldet an.." -wait
    }
    else{
        # .net Grid View
        $arrMyUsers | out-gridview -Title "Swyx Benutzer angemeldet an.." -wait
    }
}

# Run Function
#proDevice Html # HTML View
#proUser
proDevice # Grid View

 

Link to comment
Share on other sites


Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and have taken note of our Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.