marocco13 Posted September 20, 2016 #1 Share Posted September 20, 2016 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 More sharing options...
Most Valued User srom Posted September 20, 2016 Most Valued User #2 Share Posted September 20, 2016 Mit Powershell wird der einzige Weg sein, es gab mal einen Beitrag hierzu...ich finde ich nur gerade nicht. Link to comment Share on other sites More sharing options...
Most Valued User ogoettlich Posted September 20, 2016 Most Valued User #3 Share Posted September 20, 2016 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 More sharing options...
Most Valued User SvenS Posted September 20, 2016 Most Valued User #4 Share Posted September 20, 2016 ogoettlich das gefällt mir richtig gut. Vielen Dank dafür. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.