Rico Baumgardt Posted July 19, 2018 #1 Share Posted July 19, 2018 Guten Tag, da das einrichten von Benutzern je nach Rechten bei uns Zeit verschlingt, versuche ich momentan hier zu ein Powershell Script zu schreiben. Dieses bekommt die Atribute der Benutzer aus einer CSV Datei mit welchem dann auch ein Active Directory und Exchange Konto erstellt wird. Dies funktioniert auch ohne Probleme. In diesem Script wird auch ein Swyx Benutzerkonto erstellt. Diesem Benutzerkonto wird auch eine Frei Nummer zugeteilt, die Leitungstasten werden auf 4 gestellt und die Einstellungen von einem Muster Benutzer übernommen. Was jedoch leider nicht klappt, dass dieser die Anzahl der Namenstasten auf 250 stellt. Dabei bekomme ich auch keine Fehlermeldung oder sonstiges und bei Konten, bei welchem diese Einstellungen bereits über die Swyx Administration geändert worden ist funktioniert der Befehl auch, sprich es ist mir möglich diese von 250 auf 249 und wieder auf 250 zu stellen. Hätte vielleicht jemand eine Problemlösung? Hier der Swyx teil des Scriptes: if ($user.Swyx -eq $True) { $AAA_Muster_UserData = Get-IpPbxUserData -Username "AAA_Muster-Benutzer" New-IpPbxUser -UserName $Anzeigename -Comment $Beschreibung | Add-IpPbxUser Set-IpPbxSpeedDialKeyCount -SpeedDialKeyCount 250 -UserName $Anzeigename Set-IpPbxUserLineKeyCount -Count 4 -UserName $Anzeigename Add-IpPbxInternalNumberToUser -InternalNumber (New-IpPbxInternalNumber -Number $number) -UserName $Anzeigename Add-IpPbxPublicNumber -InternalNumber $number -PublicNumber (New-IpPbxPublicNumber -PublicNumber $PublicNumber) Add-IpPbxUserWindowsAccount -NTAccount $WindowsAccount -UserName $Anzeigename Set-IpPbxUserData -UserName $Anzeigename -UserData $AAA_Muster_UserData Add-IpPbxGroupMember -UserName $Anzeigename -GroupName "Jeder" #Get-IpPbxFaxForwarding -UserName $Anzeigename | Remove-IpPbxFaxForwarding } Es funktioniert auch nicht, wenn der Befehl Set-IpPbxSpeedDialKeyCount weiter unten Platziert ist. Link to comment Share on other sites More sharing options...
Most Valued User Sebastian Dreier Posted July 19, 2018 Most Valued User #2 Share Posted July 19, 2018 Hallo Herr Baumgardt, mit dem folgenden Code sollte es funktionieren (nicht getestet): <INVALID CODE REMOVED> Link to comment Share on other sites More sharing options...
Rico Baumgardt Posted July 20, 2018 Author #3 Share Posted July 20, 2018 Erstmal Vielen Dank für die Schnelle Antwort. Leider hat diese aber mein Problem nicht gelöst. Als ich ihren Vorschlag eingefügt habe, bekam ich die Fehlermeldung: "WARNUNG: User 'test2, Swyx' has no internal number. Line key configuration cannot be updated." Daher habe ich zuerst die Telefonnummern festgelegt und ein Update-Ippbxuser eingefügt und den UserEntry nochmal eingelesen (was auch nicht grade schön ist). Leider besteht das Problem , dass die Anzahl der Namenstasten nicht erhöht wird, immer noch. Dabei bekomme ich keine Fehlermeldung oder desgleichen. Wenn ich jedoch die Anzahl der Namenstasten in der Konsole erhöhe, kann ich die Anzahl auch mittels der Powershell Befehle verstellen. Dies funktioniert dann mit dem Userentry sowohl als auf dem Anzeigenamen. Link to comment Share on other sites More sharing options...
Most Valued User Sebastian Dreier Posted July 20, 2018 Most Valued User #4 Share Posted July 20, 2018 Hallo Herr Baumgardt, ich habe den Code soeben noch einmal etwas verändert und erfolgreich auf einer meiner VMs getestet. Bitte prüfen Sie einmal, ob dieser auch bei Ihnen funktioniert. $templateUserName = "AAA_Muster-Benutzer" $newUserName = "TestUser1" $newUserComment = "Test Comment" $newUserInternalNumber = "444" $newUserPublicNumber = "+492525123444" $newUserWindowsAccount = "vm-dreier09\Administrator" # Get user data from template user $templateUserData = Get-IpPbxUserData -Username $templateUserName # Create new user New-IpPbxUser -UserName $newUserName -Comment $newUserComment | Add-IpPbxUser -AddToEveryoneGroup # Set user data from template user Set-IpPbxUserData -UserName $newUserName -UserData $templateUserData # Add internal and public number New-IpPbxInternalNumber -Number $newUserInternalNumber | Add-IpPbxInternalNumberToUser -UserName $newUserName New-IpPbxPublicNumber -PublicNumber $newUserPublicNumber | Add-IpPbxPublicNumber -InternalNumber $newUserInternalNumber # Get new user as UserEntry object $newUserEntry = Get-IpPbxUser -UserName $newUserName # Change line key count Set-IpPbxUserLineKeyCount -UserEntry $newUserEntry -Count 4 # Update speeddial key count Set-IpPbxSpeedDialKeyCount -UserEntry $newUserEntry -SpeedDialKeyCount 250 # Add NT Account for Windows Authentication Add-IpPbxUserWindowsAccount -UserEntry $newUserEntry -NTAccount $newUserWindowsAccount # Remove all existing fax forwardings # Get-IpPbxFaxForwarding -UserEntry $newUserEntry | Remove-IpPbxFaxForwarding # Save changes Update-IpPbxUser -UserEntry $newUserEntry 1 Link to comment Share on other sites More sharing options...
Rico Baumgardt Posted July 24, 2018 Author #5 Share Posted July 24, 2018 Guten Tag, der Befehl um die Anzahl der Namenstasten zu verstellen hat auch leider nach mehr maligen ausprobieren nicht funktioniert. Wir haben jedoch eine andere, etwas umständlichere Lösung gefunden. Dabei werden die Namenstasten von dem AAA_Muster-Benutzer in eine CSV Datei geladen und manuel in den neuen User hinzugefügt. Dies braucht leider etwas länger, was aber bei einem Srcipt für uns nicht so schlimm ist. Get-IpPbxSpeeddialkey -Username "AAA_Muster-Benutzer" | select-object label,dialnumber,namekeynumber | Export-Csv -Path "Netzwerkpfad\Keys.csv" -Delimiter ";" -Encoding UTF8 $Keys = Import-CSV „Netzwerkpfad\Keys.csv“ -Delimiter ";" Foreach ($Key in $Keys) { if ($Key.label) { $NameKey = New-IpPbxSpeedDialKey -ClearBeforeDialing -DialImmediately -Number $key.dialnumber -Label $key.label Add-IpPbxSpeedDialKey -SpeedDialKey $NameKey -UserName $Anzeigename -SpeedDialKeyId $Key.namekeynumber echo $NameKey $Anzeigename $Key.namekeynumber } } Link to comment Share on other sites More sharing options...
Most Valued User Sebastian Dreier Posted July 24, 2018 Most Valued User #6 Share Posted July 24, 2018 Hallo Herr Baumgardt, die Tatsache, dass mein Powershell Code bei Ihnen nicht funktioniert bereitet mir etwas Sorgen. Dies deutet möglicherweise daraufhin, dass das UserData Objekt des Template Benutzers "AAA_Muster-Benutzer" korrupt ist. Folglich rate ich Ihnen diesen Benutzer einmal neu anzulegen und meinen Code noch einmal zu testen. P.S.: Ich habe meinen Code mit einer SwyxWare 11.20 getestet. Welche Version ist bei Ihnen im Einsatz? Kind regards Sebastian Dreier Link to comment Share on other sites More sharing options...
Rico Baumgardt Posted July 24, 2018 Author #7 Share Posted July 24, 2018 Laut Systemsteuerung kommt die Swyx version 10.40.2694.0 zum Einsatz. Bevor ich den Muster Benutzer lösche, habe ich diesen im Script durch meinen Benutzer ausgewechselt. Jedoch die Probleme, bestehen weiter hin. Dass dies an dem Muster Benutzer liegt denke ich daher eher weniger, vor allem da bei dem Erstellen von Benutzern über die Swyx Administrations Konsole mit dem AAA_Muster-Benutzer keine Probleme gibt. Daher habe ich diesen bisher noch nicht gelöscht. Es kann aber auch gut sein, dass ich dort falsch liege. Viele Grüße Rico Baumgardt Link to comment Share on other sites More sharing options...
Rico Baumgardt Posted February 3, 2020 Author #8 Share Posted February 3, 2020 Hallo, ein kleiner Nachtrag von damals. Das Importieren der Namenstasten über den Swyx Client war möglich, nachdem per PowerShell eine Namenstaste importiert wurde. Viele Grüße Rico Baumgardt Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now