Exchange 2016 Mailbox aktivieren und vorhandene Mailadresse aus AD übernehmen
Hallo zusammen!
Ich habe einen Exchange 2016 in einer vorhandenen Domäne installiert und möchte nun die Mailboxen für die vorhandenen Benutzer aktivieren.
Grundsätzlich kann ich dazu den Befehl "enable-Mailbox" benutzen.
Nun möchte ich aber für alle Benutzer aus einer OU die Mailboxen aktivieren. Das ist auc so weit kein Problem. Ich habe etwas gegoogelt und ein Powershellscript gefunden welches ich benutzen kann.
Dieses Script aktiviert mir für alle Benutzer die in der OU Users/Test liegen die Mailboxen.
Nun mein Problem:
Die AD Benutzer haben alle bereits im Feld E-Mail, eine Mailadresse definiert. Genau diese Mailadresse soll in Exchange übernommen werden. Mein Script legt aber die Mailboxen an, generiert nach eigenem Regelwerk neue Mailadressen, legt diese an UND beschreibt das Feld E-Mail des Benutzers im AD mit dem neu generierten Wert.
Ich hatte gehofft dass in der Variable $users auch die Mailadresse der Benutzer zwischengespeichert wird und ich diese somit im Script verwenden kann. Meine Idee war folgende:
Allerdings erhalte ich unter $user.mail keinen Wert.
Gibt es da eine Möglichkeit? Geht das überhaupt so, oder muss ich das in mehreren Schritten machen (Mailadressen und Benutzer exportieren, Mailboxen aktivieren, mittels dem Export die neuen Mailadressen festlegen) ?
Für eure Hilfe wäre ich dankbar!
Grüße
Christian
Ich habe einen Exchange 2016 in einer vorhandenen Domäne installiert und möchte nun die Mailboxen für die vorhandenen Benutzer aktivieren.
Grundsätzlich kann ich dazu den Befehl "enable-Mailbox" benutzen.
Nun möchte ich aber für alle Benutzer aus einer OU die Mailboxen aktivieren. Das ist auc so weit kein Problem. Ich habe etwas gegoogelt und ein Powershellscript gefunden welches ich benutzen kann.
Import-module activedirectory
$users = get-aduser -LDAPFilter '(name=*)' -SearchBase "OU=Test,OU=Users,DC=adatum,DC=com"
foreach ($user in $users)
{
Enable-mailbox -identity $user.SamAccountName
}
Dieses Script aktiviert mir für alle Benutzer die in der OU Users/Test liegen die Mailboxen.
Nun mein Problem:
Die AD Benutzer haben alle bereits im Feld E-Mail, eine Mailadresse definiert. Genau diese Mailadresse soll in Exchange übernommen werden. Mein Script legt aber die Mailboxen an, generiert nach eigenem Regelwerk neue Mailadressen, legt diese an UND beschreibt das Feld E-Mail des Benutzers im AD mit dem neu generierten Wert.
Ich hatte gehofft dass in der Variable $users auch die Mailadresse der Benutzer zwischengespeichert wird und ich diese somit im Script verwenden kann. Meine Idee war folgende:
Import-module activedirectory
$users = get-aduser -LDAPFilter '(name=*)' -SearchBase "OU=Test,OU=Users,DC=adatum,DC=com"
foreach ($user in $users)
{
Enable-mailbox -identity $user.SamAccountName
set-mailbox -identity $user.SamAccountName -emailadresses $user.mail
}
Allerdings erhalte ich unter $user.mail keinen Wert.
Gibt es da eine Möglichkeit? Geht das überhaupt so, oder muss ich das in mehreren Schritten machen (Mailadressen und Benutzer exportieren, Mailboxen aktivieren, mittels dem Export die neuen Mailadressen festlegen) ?
Für eure Hilfe wäre ich dankbar!
Grüße
Christian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 327679
Url: https://administrator.de/contentid/327679
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Moin.
Du musst bei Get-Aduser die erweiterten Properties mit angeben denn sonst werden sie nicht geladen.
Gruß mik
Du musst bei Get-Aduser die erweiterten Properties mit angeben denn sonst werden sie nicht geladen.
Import-module activedirectory
$users = get-aduser -LDAPFilter '(name=*)' -SearchBase "OU=LPP43_extest,OU=LPP4,OU=LPP,DC=polizei,DC=slpol,DC=de" -Properties EMailAddress | ?{$_.EmailAddress -ne ""} | %{
Enable-mailbox -identity $user.SamAccountName -PrimarySmtpAddress $_.EmailAddress -Force
}
Immer gerne .