Rico Baumgardt

Namenstasten werden bei Powershell script nicht übernommen

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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        
            }
        }

Edited by Rico Baumgardt

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Edited by Rico Baumgardt

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now