Haikos Blog Blog von Haiko Hertes zu allen Themen rund um Microsoft und Datacenter

28Jun/171

Office 365 – E-Mail-Adresse enthält einen Unterstrich (“_”)

Heute bin ich über folgendes Problem gestolpert: Bei einem neuen Mitarbeiter enthielt die E-Mail-Adresse im Office 365 einen Unterstrich (“Underscore”) an erster Stelle:

underscore1

(Zusätzlich wurde nicht die reguläre Domäne sondern eine “@*.onmicrosoft.com” verwendet…)

Die Benutzer werden mittels “Azure AD Connect” vom lokalen Active Directory nach Azure AD synchronisiert und bilden dort die Grundlage für die Office 365 Benutzer. Daher kann man die E-Mail-Adressen auch nicht online ändern, sondern nur on-premise. Im lokalen AD war aber auf den ersten Blick alles in Ordnung:

underscore2

Nach kurzer Recherche fand ich einen Microsoft KB Artikel, der mich auf die Lösung brachte:

In this scenario, after directory synchronization is run, the special character is replaced by an underscore character. Therefore, the user’s Office 365 email address contains an underscore character instead of the special character.

Dabei wird eine Liste mit “verbotenen” Zeichen aufgeführt (die merkwürdigerweise auch das @-Zeichen enthält…), zu denen auch das Leerzeichen gehört. Bezogen ist das ganze auf die AD-Attribute “mail” und “proxyAddresses”. “Mail” war in Ordnung, aber “proxyAddresses”…

underscore3

…nicht! Hier war ein Leerzeichen zwischen “SMTP:” und der eigentlichen E-Mailadresse. Nach dem ich dieses entfernt hatte und schnell noch den DirSync mit

Start-ADSyncSyncCycle -PolicyType Delta

angestoßen hatte, war der Benutzer mit seiner korrekten E-Mail-Adresse in Office 365 vorhanden!

veröffentlicht unter: Allgemein 1 Kommentar
5Jun/170

PowerShell – Benutzer über ablaufendes AD Konto informieren

Hat man häufig wechselnde Benutzer in seinem Active Directory (wie z.B. bei mir an der Hochschule, oder auch bei Lehrlingen, Werkstudenten oder ähnlichem), dann ist es sinnvoll, die Benutzerkonten dieser Personenkreise von vornherein mit einem Ablaufdatum zu versehen:

Ablauf1

Ein mögliches Problem hierbei ist, dass die Benutzer erst NACH dem Ablauf feststellen, dass sie nicht mehr arbeiten können und sich bis zur Verlängerung durch einen Admin daran auch nichts ändert. Also wäre es doch schön, wenn die Benutzer schon vor dem Ablaufdatum daran erinnert werden, um sich zeitnah zu melden. Eine mögliche Lösung hierfür liegt wie so oft in einem PowerShell-Skript.

Der Kern des Skriptes ist die Suche nach den relevanten Accounts. Dazu dient “Search-ADAccount”:

Search-ADAccount -AccountExpiring -TimeSpan "32"

Diese Abfrage liefert alle Accounts, die in den nächsten 32 Tagen ablaufen (32 habe ich hier gewählt, um bei monatlicher Ausführung des Skriptes niemanden zu “vergessen”.

Der Rest ist dann eher schmückendes Beiwerk. Mit einer Schleife wird über alle entsprechenden Benutzer iteriert und jedem eine passende E-Mail gesendet:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Import-Module ActiveDirectory
 
# Werte wie gewünscht anpassen:
[int]$AnzahlTage = 32
[TimeSpan]$Zeitraum = New-TimeSpan -Days $AnzahlTage
[string]$subject = "Ihr Benutzeraccount wird in den nächsten 31 Tagen ablaufen!"
[string]$MailSender = "ich@domain.de"
[string]$MailServer = "mail.server.com"
ForEach($ExpiringUser in (Search-ADAccount -AccountExpiring -TimeSpan $Zeitraum | Get-ADObject -Properties samaccountname,mail,accountExpires))
{
$ExpDate = [datetime]::FromFileTime($($ExpiringUser.accountExpires))
 
$body =
 
"Werter Benutzer!`r
`r
Ihr Benutzerkonto `"$($ExpiringUser.samaccountname)`" wird in den kommenden 31 Tagen ablaufen. Das genaue Ablaufdatum lautet:`r
`r
$(Get-Date ($ExpDate.AddDays(-1)) -Format "dd.MM.yyyy")`r
`r
Mit freundlichen Grüßen,`r
Ihre IT-Abteilung"
 
Send-MailMessage -From $MailSender -To $ExpiringUser.mail -Subject $subject -Body $body -SmtpServer $MailServer -Encoding UTF8 -Priority High -Bcc $MailSender
 
}

Das war es dann auch schon. Viel Spaß beim Adaptieren…

Das vollständige Skript kann auch hier heruntergeladen werden:

BenutzerÜberAblaufendesKontoInformieren.ps1

veröffentlicht unter: Allgemein keine Kommentare
26Apr/173

Office 365 – E-Mail-Adressen von neuen Benutzern aus on-premise AD falsch

Wenn man mit Azure AD Sync arbeitet und einen neuen Mitarbeiter im lokalen on-premise Active Directory anlegt, dann kann es einem passieren, dass dieser im Office 365 Portal eine *.onmicrosoft.com E-Mail-Adresse als primäre Mailadresse bekommt, selbst wenn man im AD-Konto die richtige Adresse eingetragen hat:

o365_1

Das lässt sich über das Office 365 Admin-Portal auch nicht ändern, da der Benutzer eben aus dem lokalen AD synchronisiert wird:

o365_2

Der Trick besteht darin, im lokalen AD das Attribute “proxyAddresses” zu erweitern (entweder ist es leer oder es enthält bereits einen Eintrag “x500:/o=…”).

Der neue Eintrag muss mit “SMTP:” (Großbuchstaben und den Doppelpunkt nicht vergessen) gefolgt von der gewünschten E-Mail-Adresse (ohne Leerzeichen) bestehen:

o365_4

Nach der nächsten Synchronisierung sollte es dann auch in Office 365 passen! Viel Spaß damit…

 

Nachtrag: In meinem Fall existiert kein on-premise Exchange Server! Wenn ihr einen solchen doch habt, dann verändert ihr mit der Änderung des AD-Attributes natürlich auch dort die Mailadresse...

veröffentlicht unter: Allgemein 3 Kommentare