Jump to content

User Mailadresse ändern ? Powershell?


SvenS

Recommended Posts

  • Most Valued User

Hallo,

 

kann mir jemand einen Tip geben, wie man bei ca 170 Usern auf möglichst einfache Weise die Mailadresse von .de auf .com ändern kann ?

Kann man das mit Powershell machen und falls ja wie ?

 

Danke und Gruß Sven

Link to comment
Share on other sites


  • Most Valued User

Hallo Sven,

 

ja das ist möglich und per Powershell relativ einfach gelöst.

 

Folgendes Script kannst du verwenden.. Getestet unter Swyx 2015.

Du musst nur den Schalter setzen, welches eMail-Feld du updaten möchtest.

 

Für Voicemail

$bSetVoicemail = $true

Für Benutzerinfo

$bSetVoicemail = $false

 

Komplettes Script (muss im Swyx-Admincontext ausgeführt werden, ansonsten Credentials mitgeben)

# welches eMail Feld soll gesetzt werden Benutzerinformationsfeld oder Voicemail?
$bSetVoicemail = $true
#$bSetVoicemail = $true
Import-Module IpPbx # Modul laden
Connect-IpPbx # Swyx Connection
$allUsers = Get-IpPbxUser -UserName "%" # Benutzer suchen >> % = alle
# Schleife
foreach($user in $allUsers){
    write-host "#################################"
    write-host "Benutzer: " $user.Name
    if($bSetVoicemail){
        $emailOld = $user.EMailAddr #Voicemail
    }else{
        $emailOld = $user.UserEmailAddressesEntryCollection.Address #Benutzerinfo (muss unique sein)
    }
    if($emailOld -ne $null){
        $emailOld = $emailOld.Trim()
        write-host "eMail: "$emailOld
        $bFoundDe = $emailOld -match ".de" #Not Case Sensitive
        #$bFoundDeL = $emailOld -cmatch ".de" #Case Sensitive Lower
        #$bFoundDeU = $emailOld -cmatch ".DE" #Case Sensitive Upper
        if($bFoundDe){
            write-host "eMail beinhaltet .de"
            $emailNew = $emailOld.Substring(0, $emailOld.Length - 3)
            $emailNew = $emailNew+".com"
            if($bSetVoicemail){
                $user.EMailAddr = $emailNew
            }else{
                Set-IpPbxUserEmailAddress -UserEntry $user -EmailAddress $emailNew # in Swyx speichern
            }
            $user.Update($true)
            write-host "neue eMail Adresse lautet: $emailNew" -ForegroundColor Green
        }
        #elseif($bFoundDeU){ #Upper Case
        #    write-host "eMail beinhaltet .DE"
        #    $emailNew = $emailOld.Substring(0, $emailOld.Length - 3)
        #    $emailNew = $emailNew+".COM"
        #    if($bSetVoicemail){
        #        $user.EMailAddr = $emailNew
        #    }else{
        #        Set-IpPbxUserEmailAddress -UserEntry $user -EmailAddress $emailNew # in Swyx speichern
        #    }
        #    $user.Update($true)
        #    write-host "neue eMail Adresse lautet: $emailNew" -ForegroundColor Green
        #}
        else{
            write-host "Benutzer hat keine eMail mit .de oder .DE" -ForegroundColor Red
        }
    }else{ # Skip
        write-host "keine eMail vergeben" -ForegroundColor Red
    }
}

 

Viel Erfolg!

Link to comment
Share on other sites


  • 2 months later...

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.