sirtobi27
Goto Top

Script um SIP Adressen zu erstellen

Hallo zusammen,
ich habe folgende Aufgabenstellung: Ich muss für über 500 User SIP-Einträge setzen.
Dafür wäre natürlich ein Script mit Variablen die perfekte Lösung, leider bin ich im Bereich Scripting nicht der erfahrenste.

Die SIP-Adresse soll folgendermaßen aussehen: vorname.nachname@domain.com

Kann mir hierfür jemand ein Script mit Variablen für "Vorname" und "Nachname" basteln, oder mir eine Alternativ-Idee nennen?

Es handelt sich um MS Exchange 2013.


Danke im Voraus, beste Grüße.

Content-ID: 278532

Url: https://administrator.de/contentid/278532

Ausgedruckt am: 13.11.2024 um 07:11 Uhr

daswelli
daswelli 28.07.2015 um 09:55:05 Uhr
Goto Top
Hallo alleine,

wie wäre es, wenn Du das über die eMail-Adressrichtlinie machst?

Grüße
daswelli
SirTobi27
SirTobi27 28.07.2015 um 10:05:33 Uhr
Goto Top
Diese Idee hatte ich auch ;)
Aber in den Richtlinie kann ich nur SMTP Adressen und folgende Nicht-SMTP-Adressen angeben:

◦EX (Anzeigename des Präfixes der Legacy-DN-Proxyadresse)
◦X.500
◦X.400
◦MSMail
◦CcMail
◦Lotus Notes
◦Novell GroupWise
◦Exchange Unified Messaging-Proxyadresse (EUM-Proxyadresse)

Jedenfalls laut dem Hilfe-Artikel zu diesem Feld.
colinardo
Lösung colinardo 28.07.2015 aktualisiert um 12:47:25 Uhr
Goto Top
Hallo SirTobi27,
dafür reicht ein einfacher Powershell Einzeiler:
Get-AdUser -Filter * | ?{$_.Surname -ne "" -and $_.Givenname -ne ""} | %{set-aduser $_.SamAccountName -Replace @{"msRTCSIP-PrimaryUserAddress"="$($_.GivenName).$($_.surname)@domain.com"}}  
Domänenname am Ende natürlich anpassen.

Das Script setzt bei jedem User der im AD einen Vor- und Nachnamen besitzt das Attribut msRTCSIP-PrimaryUserAddress auf den von dir gewünschten Wert.

Grüße Uwe
SirTobi27
SirTobi27 28.07.2015 um 10:38:58 Uhr
Goto Top
Das klingt sehr gut, danke!

Aber wo muss ich diesen Befehl absetzen? Weder die Powershell des DCs noch die Powershell/Exchange Management Shell des Exchanges kennt den term "Get-ADUser"?
colinardo
Lösung colinardo 28.07.2015 aktualisiert um 12:47:22 Uhr
Goto Top
Normalerweise sollte das AutoLoading die Module bei dir nachladen ! Da du Server2012R2 nutzt sollte das normalweise der Fall sein.
Wenn nicht, musst du sie vorher mit Import-Module ActiveDirectory laden.
SirTobi27
SirTobi27 28.07.2015 um 10:56:50 Uhr
Goto Top
Perfekt, das ist die Antwort.
Ich danke herzlich!
SirTobi27
SirTobi27 28.07.2015 um 12:02:32 Uhr
Goto Top
Eine Frage dazu noch.
Grundsätzlich hat das funktioniert, wenn ich die User nun mit in der Attribut-Editor Ansicht öffne wird mir dort beim Attribut msRTCSIP-PrimaryUserAddress auch die richtige SIP angezeigt. Jedoch steht im Exchange unter den Mail-Adressen noch die vorherige/falsche SIP Adresse.

Braucht hier die Replikation etwas, oder hängen diese beiden Felder gar nicht wirklich zusammen? Wenn es so bleibt habe ich leider nichts gewonnen face-sad
114757
114757 28.07.2015 aktualisiert um 12:40:15 Uhr
Goto Top
Moin,
du meinst dann wohl die in der jeweiligen Exchange Mailbox .. ?
Ändern einer SIP-Adresse

Das obige Attribut ist glaub ich nur für den Office Communications Server gültig.

Gruß jodel32
SirTobi27
SirTobi27 28.07.2015 um 12:49:57 Uhr
Goto Top
Okay, das befürchte ich gerade auch.
Gibt es denn auch für den Exchange eine Multi-Edit Lösung à la "Setze bei allen die SIP-Adresse auf Vorname.Nachname@domain.com"?
114757
114757 28.07.2015 aktualisiert um 12:52:29 Uhr
Goto Top
Zitat von @SirTobi27:
Gibt es denn auch für den Exchange eine Multi-Edit Lösung à la "Setze bei allen die SIP-Adresse auf
Vorname.Nachname@domain.com"?
Naja sollte sich ja mit der Steilvorlage von @colinardo jetzt anpassen lassen. Habe hier leider gerade keinen EX2013 mit UM zur Hand.
SirTobi27
SirTobi27 28.07.2015 um 13:14:05 Uhr
Goto Top
Naja, die Vorlage von @colinardo ist perfekt, allerdings halt auch nur fürs AD. Für Exchange siehts ja komplett anders aus.
colinardo
Lösung colinardo 28.07.2015, aktualisiert am 30.07.2015 um 08:57:17 Uhr
Goto Top
Hallo SirTobi27,
indem Fall bräuchte ich erst mehr Informationen zur Umgebung, d.h. folgende:
  • Sind die Mailboxen der User schon UM aktiviert ?
  • Haben alle User schon eine SIP-URI Adresse in Form einer E-Mail-Adresse oder nur eine Durchwahl in Form einer Durchwahl ?


Ich gehe jetzt für ein erstes Skript einfach mal davon aus, dass bereits SIP-URis vorhanden sind welche nur abgeändert werden sollen.

Folgendes Skript ist dabei herausgekommen was ich hier grob auf einem Exchange in einer VM angetestet habe.

Anpassen musst du den gewünschte Domainnamen für die SIP-Uris und den FQDN des Exchange-Servers in Zeilen 2 und 3.
Zur Info: Das Script stellt eine Verbindung zum Exchange Server her, also muss der User der Das Script ausführt über genügend Rechte auf dem Exchange verfügen um die Mailboxen zu modifizieren, das solle klar sein.

#Variablen
$domain = "@domain.de  
$exServer = 'ex01.domain.de'  

# AD Modul laden
Import-Module ActiveDirectory
# Verbindung zum Exchange Server herstellen
$exSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://$exServer/powershell"  
Import-PSSession $exSession

# Alle Mailboxen durchlaufen
get-mailbox -RecipientType UserMailbox | %{
    $all = $_.EmailAddresses
    if ($all -like 'EUM:*@*'){  
        $userobj = Get-AdUser $_.DistinguishedName
        $newSIPUri =  "$($userobj.GivenName).$($userobj.Surname)$domain"  
        for ($i = 0;$i -lt $all.Count -1;$i++){
             if($all[$i] -like 'EUM:*@*'){  
                $all[$i] = $all[$i] -replace '^(EUM:)([^;]+)',('$1' + $newSIPUri)  
             }
        }
        write-host "Ändere SIP-URI für User '$($userobj.SamAccountName)' auf '$newSIPUri'" -F green  
        Set-Mailbox $_.DistinguishedName -EmailAddresses $all
    }
}
Remove-PSSession $exSession
Verwendung erfolgt auf eigene Gefahr und sollte wenn möglich erst in einer Testumgebung getestet werden!

Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
SirTobi27
SirTobi27 30.07.2015 um 08:57:14 Uhr
Goto Top
Super, ich danke sehr herzlich!
Konnte es bisher noch nicht testen und habe etwas Skrupel direkt auf die Vollen zu gehen und es im Live-System rauszuhauen.

Werde die Frage aber mal als gelöst markieren, vielen Dank @colinardo.