Jump to content

Eiheitliche Namenstasten / Liste für die Mitarbeiter


lob01

Recommended Posts

Hallo,

 

wir nutzen den neuen 2015 Skin. Auf der ersten Seite sind unsere internen Mitarbeiter mit Bild und Namen. Besteht die Möglichkeit, weitere Namenstasten der 50 ext. Mitarbeiter für alle parallel anzulegen? Ich kann es nur Arbeitsplatz für Arbeitsplatz und das ist sehr Zeitaufwendig.

Grüße,

 

Stefan Lob

Link to comment
Share on other sites


  • Most Valued User

Hallo Stefan,

 

das könntest du über die Import-/Export Funktion über die Adminkonsole realisieren.

rechte Maustaste auf den Benutzer Namens- / Verknüpfungstasten > Exportieren../Importieren..

 

Wenn du es etwas mehr automatisieren möchtest, kannst du dies über den CDS machen, hierzu hatte ich kürzlich für einen Kunden eine Web-Lösung gebaut. Einen Dummy Benutzer anlegen, diesem die Namenstasten zuweisen. Aus einer Gruppe dann die Benutzer auslesen und entsprechend die Namenstasten importieren.

var filesFacade = libManager().GetFilesFacade();
var phoneClientFacade = libManager().GetPhoneClientFacade();

var groupEnum = libManager().GetGroupEnum();
groupEnum.ExecuteNameFilter("Namenstastengruppe", new SWConfigDataClientLib.Data.OrderByList());
var groupEnumColl = groupEnum.PrimaryCollection.CreateSortableFilterCollection();

var nameKeyListDummy = phoneClientFacade.GetNameKeyList(GetUsernameToUserid("Dummy-User"), 250);

var groupEnumCollEntryColl = new SWConfigDataClientLib.Proxies.Groups.MembershipEntrySortableCollection();
foreach (var groupEnumCollEntry in groupEnumColl)
{
	groupEnumCollEntryColl = groupEnumCollEntry.MembershipEntryCollection.CreateSortableFilterCollection();
}

foreach (var groupEnumCollEntryCollEntry in groupEnumCollEntryColl)
{
	var nameKeyList = phoneClientFacade.GetNameKeyList(groupEnumCollEntryCollEntry.UserID, 250);

	foreach (var nameKey in nameKeyList)
	{

		foreach (var nameKeyListDummyEntry in nameKeyListDummy)
		{
			if (nameKey.Value.NameKeyNumber == nameKeyListDummyEntry.Value.NameKeyNumber)
			{
				nameKey.Value.Label = nameKeyListDummyEntry.Value.Label;
				nameKey.Value.DialNumber = nameKeyListDummyEntry.Value.DialNumber;
			}
		}
	}
	nameKeyList.UpdateList(phoneClientFacade, true);
}

// Freeing
filesFacade.FreeForReuse();
phoneClientFacade.FreeForReuse();
groupEnum.FreeForReuse();

 

Viel Erfolg!

Link to comment
Share on other sites


  • Most Valued User

ich hatte mir mal ein Script für Powershell gebastelt. Das kann man bestimmt auch schöner lösen, aber es funktioniert bei mir. Damit kopierst du die Speeddials von einem Template User auf User einer Gruppe

 

connect-ippbx
echo "Mit diesem Script kopieren Sie die Namenstasten von einem Templateuser auf Mitglieder einer Gruppe"
$tempuser = read-host "Bitte Templateuser eingeben: "
$group = read-host "Bitte Gruppenname eingeben: "
Get-IpPbxSpeeddialkey -Username $tempuser | select-object label,dialnumber,namekeynumber |export-csv -path c:\tmp\keys.txt -Delimiter ";" -Encoding UTF8
$Keys = Import-Csv -Path c:\tmp\keys.txt -Delimiter ";" -Encoding UTF8

$Members = Get-IpPbxGroupMember -GroupName $group 
	Foreach ($Member in $Members) {    
		Foreach ($Key in $Keys) {
				if ($key.label){
					if ($key.dialnumber){
						$NameKey = New-IpPbxSpeedDialKey -ClearBeforeDialing -DialImmediately -Number $key.dialnumber -Label $key.label

						Add-IpPbxSpeedDialKey -SpeedDialKey $NameKey -UserName $member.name -SpeedDialKeyId $Key.namekeynumber		

				}
				
			}
    

	}
}
Read-Host "Bitte Taste druecken zum Beenden..."
exit

 

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.