Stepke97 Posted February 1, 2017 #1 Share Posted February 1, 2017 Hallo zusammen, ich würde gerne den Skin aller User einer Gruppe per Powershell ändern. Soweit ich weiß, hat der User selbst kein Attribut "Skin" o.ä. - ich habe nur die folgenden Funktionen zu diesem Thema gefunden: Get-IpPbxDefaultSkin Set-IpPbxDefaultSkin Reset-IpPbxUserSkin Wobei sich Get-IpPbxDefaultSkin und Set-IpPbxDefaultSkin ja auf den Server-Standard-skin beziehen und nur Reset-IpPbxUserSkin auf einen User-Skin bezieht. Somit hier vielleicht ein kleiner Weg wie man es umgehen könnte...?: # ------------------- # Config # ------------------- [string]$NeuerSkin = "4Sellers Shop.cab" [string]$zuaendernde_Gruppe = "IT Intern (Gruppe)" # ------------------- # Script # ------------------- #Connect to Server Connect-IpPbx #Standard Skin abspeichern $DefaultSkin = Get-IpPbxDefaultSkin # Temporär den neuen Skin als default einstellen Set-IpPbxDefaultSkin -SkinFileName $NeuerSkin # Für jeden User der Gruppe den Skin reseten Get-IpPbxGroupMember -GroupName $zuaendernde_Gruppe | ForEach-Object { Reset-IpPbxUserSkin } # Änderung des Default Skins rückgängig machen. Set-IpPbxDefaultSkin -SkinFileName $DefaultSkin Ist dies so möglich? Normal dürfte es ja nichts ausmachen, wenn ich den Standard-Skin des Servers kurz ändere, oder? Vielleicht auch ein generelles Missverständnis der oben genannten Funktionen? (Bin gerade in Swyx-Shell noch ein rechter Neuling...) Bin auch für alternative/bessere Scriptvorschläge dankbar! Freue mich auf Antworten! Link to comment Share on other sites More sharing options...
AchimCom Posted September 27, 2017 #2 Share Posted September 27, 2017 Hallo, würde mich Interessieren ob das so geklappt hat? Wäre erfreut über eine Positive Antwort ^^ LG Achim Link to comment Share on other sites More sharing options...
Bobele23 Posted October 5, 2017 #3 Share Posted October 5, 2017 Ja es geht,man muss aber mit den Befehlen Get-IpPbxUserData die Attribute des Benutzers auslesen, modifizieren und danach wieder mit Set-IpPbxUserData in die Datenbank schreiben. Ich nutze es selber, wenn ich die Speeddialkeys für unsere User ändere. Der Charme an dieser Methode ist, dass man das Updaten von 150 Namekeys im laufenden Betrieb machen kann, ohne dass der Netphone Clienten beim User bestürzt. Man muss aber darauf achten, dass hier nur der Name eingetragen wird, die der User laden soll. Es empfiehlt sich nach einiger Zeit den Skin wieder auf Systemstandard wieder zu resetten. # Establish connection to the Swyx database Write-Host " Establish connection to the Swyx database " # Import Netphone Module Import-Module IpPbx # Establisch Connection to Netphone/Swyx Server Connect-IpPbx -ServerName *EIGENER_SWYXSERVER #************************************************************************** # # Import Speeddialkeys to an Array $Keys = Import-Csv -Path "PATH_TO_NAMEKEY_IN_TXT\namekey.txt" -Delimiter ";" -Encoding UTF8 # Get the User, that will have their Speeddialkeys modified and put them into an Array. # We Are Using Netphone/Swyx Groups to select the users. $Members = Get-IpPbxGroupMember -GroupName "Konfig-Gruppe" #************************************************************************** Foreach($Member in $Members) { ######################################################################### # Optional - change the Skin manually # # # ######################################################################### ### Change the Skin the User Loads ( New Skin ) $UserData = Get-IpPbxUser -UserName $Member.Name | Get-IpPbxUserData $UserData.m_szSkinName = "NAME_OF_THE_NEW_SKIN.cab" Set-IpPbxUserData -UserData $UserData -UserName $Member.Name Foreach($Key in $Keys) { ### Get the Users Namekey object, that we want to modify. $updatenamekey = Get-IpPbxSpeedDialKey -UserName $Member.Name -SpeedDialKeyId $Key.Idx ### modify the existing namekey according to our new $Keys list. $updatenamekey.Label = $Key.Name $updatenamekey.DialNumber = $Key.Nummer $updatenamekey.DialImmediately = $False $updatenamekey.DeleteforDial = $True $updatenamekey.DirectCall = $False $updatenamekey.UserBitmap = $Automatic ### Update the selected $Key with the modiefied Namekey from $updatenamekey Update-IpPbxSpeedDialKey -UserName $Member.Name -SpeedDialKey $updatenamekey } Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.