<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Office365 &#8211; Haikos Blog</title>
	<atom:link href="https://www.hertes.net/tag/office365/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hertes.net</link>
	<description>Blog von Haiko Hertes zu allen Themen rund um Microsoft, Cloud und Datacenter</description>
	<lastBuildDate>Tue, 23 Jun 2020 13:57:50 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Office 365 &#8211; Verteiler eines Benutzers mittels PowerShell herausfinden</title>
		<link>https://www.hertes.net/2018/06/office-365-verteiler-eines-benutzers-mittels-powershell-herausfinden/</link>
					<comments>https://www.hertes.net/2018/06/office-365-verteiler-eines-benutzers-mittels-powershell-herausfinden/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Sat, 16 Jun 2018 22:35:24 +0000</pubDate>
				<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Distribution Group]]></category>
		<category><![CDATA[Distribution List]]></category>
		<category><![CDATA[Group]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Verteiler]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=3678</guid>

					<description><![CDATA[Immer mal wieder stell sich uns die Frage, in welchen Verteilern ein bestimmter Benutzer Mitglied ist. Natürlich kann man sich im Office365 Admin-Portal das Postfach ansehen, dort wird einem aufgelistet, wo der User Mitglied ist – allerdings werden hier nur die direkten Mitgliedschaften aufgelistet. In der Regel sind Verteiler / Distribution Lists aber in einander verschachtelt, um z.B. Team- / Gruppen- /Abteilungsstrukturen abzubilden. Um nun nicht von Hand alle Verteiler auf deren Mitgliedschaft in weiter oben liegenden Verteilern prüfen zu müssen, habe ich ein PowerShell-Skript geschrieben. Dieses ermittelt zunächst, in welchen Verteilern der Benutzer unmittelbar enthalten ist und prüft dann&#8230;]]></description>
										<content:encoded><![CDATA[<p>Immer mal wieder stell sich uns die Frage, in welchen Verteilern ein bestimmter Benutzer Mitglied ist. Natürlich kann man sich im Office365 Admin-Portal das Postfach ansehen, dort wird einem aufgelistet, wo der User Mitglied ist – allerdings werden hier nur die direkten Mitgliedschaften aufgelistet. In der Regel sind Verteiler / Distribution Lists aber in einander verschachtelt, um z.B. Team- / Gruppen- /Abteilungsstrukturen abzubilden. Um nun nicht von Hand alle Verteiler auf deren Mitgliedschaft in weiter oben liegenden Verteilern prüfen zu müssen, habe ich ein PowerShell-Skript geschrieben.</p>
<p>Dieses ermittelt zunächst, in welchen Verteilern der Benutzer unmittelbar enthalten ist und prüft dann diese Verteiler auf “Eltern”, also weiter oben stehende Verteiler, die den betreffenden Verteiler (und damit dann eben indirekt den Bnutzer) enthalten.</p>
<p>Hier ist das Skript:</p>
<pre lang="PowerShell">[string[]]$global:AllreadyChecked = $null

function Get-DistributionGroupAllParents
{
    param ([string]$GroupName)
    
    [string[]]$Parents = $null
    
    ForEach ($Group in Get-DistributionGroup) 
    {
       If((Get-DistributionGroupMember $Group.Name | Where RecipientType -NE "UserMailbox").Name -contains $Groupname)
       {
          # Make sure, we are only checking every DGs parents once as many DG tree leafs may lead to the same parent DG
          If($global:AllreadyChecked -notcontains ($Group.Name))
          {
                $Parents += $Group.Name
                Get-DistributionGroupAllParents -GroupName $Group.Name
                $global:AllreadyChecked += $Group.Name
          }
       } 
    }
    Return $Parents
}

# Connect to Office 365
If((Get-PSSession | Where Computername –like "*ps.outlook.com*" | Where State –eq "Opened" | Measure-Object).Count -lt 1)
{
    $Credentials = Get-Credential –UserName "USER@DOMAIN.COM" -Message "Please enter your Office 365 / Azure AD password!"
    $ExchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $Credentials -Authentication Basic -AllowRedirection -WarningAction SilentlyContinue
    Import-PSSession $ExchangeSession -AllowClobber -DisableNameChecking &gt;&gt; $null
}
elseif((Get-PSSession | Where Computername -like "*ps.outlook.com*" | Where Availability -eq "Available" | Where State -ne "Opened" | Measure-Object).Count -ge 1)
{
    Import-PSSession -Session (Get-PSSession | Where Computername -like "*ps.outlook.com*" | Where Availability -eq "Available" | Select -Last 1)
}

# Get all DGs a user is member of
$User = Read-Host -Prompt "Enter User to check!" 
$Recipient = (Get-Recipient -RecipientType UserMailbox -Identity $User).Name
Write-Host "Script started discovery - this could take a while" -ForegroundColor Red

[string[]]$AllParents = $null
ForEach ($Group in Get-DistributionGroup) 
{
   If((Get-DistributionGroupMember $Group.Name).Name -contains $Recipient)  # Find all Groups the User is immediate member of:
   {
      $AllParents += $Group.Name
      Write-Host -ForegroundColor Green "$($Group.Name) ($($Group.PrimarySmtpAddress))"
      $AllParents += (Get-DistributionGroupAllParents -Group $Group.Name)
   } 
}

Write-Host "User is member of these groups (for some of them, he may be member through nested groups!):"
$AllParents.Where({ $_ -ne "" }) | select -uniq | sort | Get-DistributionGroup | ft DisplayName,Name,PrimarySmtpAddress -AutoSize</pre>
<p>&nbsp;</p>
<p>Viel Spaß damit!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2018/06/office-365-verteiler-eines-benutzers-mittels-powershell-herausfinden/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Office 365: Letzten Exchange-Server entfernen</title>
		<link>https://www.hertes.net/2017/02/office-365-letzten-exchange-server-entfernen/</link>
					<comments>https://www.hertes.net/2017/02/office-365-letzten-exchange-server-entfernen/#comments</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Sun, 05 Feb 2017 20:52:40 +0000</pubDate>
				<category><![CDATA[ActiveDirectory]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Azure AD]]></category>
		<category><![CDATA[DirSync]]></category>
		<category><![CDATA[Entfernen]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[Office365]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=3381</guid>

					<description><![CDATA[Nach einer Migration zu Office 365 kann es sinnvoll bzw. gewünscht sein, alle on-premise Exchange-Server zu deinstallieren. Microsoft selbst beschreibt dies z.B. in der Schritt-für-Schritt-Anleitung für eine Cutover-Migration (Übernahmemigration): Außerbetriebnahme der lokalen Exchange Server.    Nachdem Sie sich vergewissert haben, dass alle E-Mails direkt an die Office 365-Postfächer weitergeleitet werden, und wenn Sie Ihre lokale E-Mail-Organisation nicht mehr benötigen oder nicht planen, eine Lösung für einmaliges Anmelden zu implementieren, können Sie Exchange auf Ihren Servern deinstallieren und Ihre lokale Exchange-Organisation entfernen. (https://support.office.com/de-de/article/Durchf%C3%BChren-einer-%C3%9Cbernahmemigration-von-E-Mails-zu-Office-365-9496e93c-1e59-41a8-9bb3-6e8df0cd81b4?ui=de-DE&#38;rs=de-DE&#38;ad=DE#postmigration) Im Nachsatz dazu heisst es dann interessanterweise: HINWEIS : Eine Außerbetriebnahme von Exchange kann unerwartete Folgen haben. Vor der&#8230;]]></description>
										<content:encoded><![CDATA[<p>Nach einer Migration zu Office 365 kann es sinnvoll bzw. gewünscht sein, alle on-premise Exchange-Server zu deinstallieren. Microsoft selbst beschreibt dies z.B. in der Schritt-für-Schritt-Anleitung für eine Cutover-Migration (Übernahmemigration):</p>
<blockquote><p><b>Außerbetriebnahme der lokalen Exchange Server.</b>    Nachdem Sie sich vergewissert haben, dass alle E-Mails direkt an die Office 365-Postfächer weitergeleitet werden, und wenn Sie Ihre lokale E-Mail-Organisation nicht mehr benötigen oder nicht planen, eine Lösung für einmaliges Anmelden zu implementieren, können Sie Exchange auf Ihren Servern deinstallieren und Ihre lokale Exchange-Organisation entfernen.</p></blockquote>
<p>(<a title="https://support.office.com/de-de/article/Durchf%C3%BChren-einer-%C3%9Cbernahmemigration-von-E-Mails-zu-Office-365-9496e93c-1e59-41a8-9bb3-6e8df0cd81b4?ui=de-DE&amp;rs=de-DE&amp;ad=DE#postmigration" href="https://support.office.com/de-de/article/Durchf%C3%BChren-einer-%C3%9Cbernahmemigration-von-E-Mails-zu-Office-365-9496e93c-1e59-41a8-9bb3-6e8df0cd81b4?ui=de-DE&amp;rs=de-DE&amp;ad=DE#postmigration">https://support.office.com/de-de/article/Durchf%C3%BChren-einer-%C3%9Cbernahmemigration-von-E-Mails-zu-Office-365-9496e93c-1e59-41a8-9bb3-6e8df0cd81b4?ui=de-DE&amp;rs=de-DE&amp;ad=DE#postmigration</a>)</p>
<p>Im Nachsatz dazu heisst es dann interessanterweise:</p>
<blockquote><p><b>HINWEIS :</b> Eine Außerbetriebnahme von Exchange kann unerwartete Folgen haben. Vor der Außerbetriebnahme Ihrer lokalen Exchange-Organisation sollten Sie Kontakt mit dem Microsoft-Support aufnehmen.</p></blockquote>
<p>Ich für meinen Teil wollte in erster Linie den Alten Exchange 2010 loswerden. Vermutlich werde ich später einen neuen Exchange 2016 installieren…</p>
<p><strong><em>ACHTUNG:</em></strong> Wenn DirSync bzw. Azure AD verwendet werden, dann können AD-Attribute nur on-premise und nicht in Azure geändert werden. Wenn Exchange entfernt wird, können einige Mail-relevante Attribute nicht mehr geändert werden. Einige Attribute könnten zwar über ADSIEdit geändert werden, das wird aber offiziell nicht unterstützt!</p>
<p>Aber reden wir weniger über das WARUM als viel mehr über das WIE…</p>
<p>Wenn man sich nun also entschieden hat, den (letzten) Exchange-Server los zu werden und die Deinstallation gestartet hat, wird man relativ schnell feststellen, dass es nicht ganz so einfach ist! Die Deinstallation stört sich nämlich daran, dass es noch Postfächer gibt:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2017/02/Exch1.png"><img fetchpriority="high" decoding="async" style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;" title="Exch1" src="https://www.hertes.net/wp-content/uploads/2017/02/Exch1_thumb.png" alt="Exch1" width="556" height="484" border="0" /></a></p>
<p>Nun <strong>könnte</strong> man natürlich einfach alle Mailboxen löschen (bzw. deaktivieren – löscht man eine Mailbox, löscht man den dahinterstehenden AD Benutzer, also keine gute Idee), aber: Nach dem Deaktivieren der Mailbox hat der entsprechende AD-Benutzer keine E-Mail-Adresse mehr (und er verliert auch auf anderen Attributen die Werte), was durchaus ein Problem für DirSync bzw. eine Synchronisation zu Azure AD sein kann. Was ist nun also der richtige Weg?</p>
<p>Im wesentlichen sind zwei Schritte notwendig:</p>
<ol>
<li>Mailbox deaktivieren</li>
<li>Benutzer in einen so genannten “Mail-Enabled-User” umwandeln</li>
</ol>
<p>Die Schwierigkeit dabei besteht darin, dass die E-Mailadresse “zwischengespeichert” werden muss, damit diese dem Mail-Enabled-User zugewiesen werden kann (oder man hat eine Syntax, nach der sich ALLE E-Mail-Adressen bilden lassen, da könnte man das weglassen)</p>
<p>Das Ganze habe ich natürlich mit PowerShell gelöst. Das folgende Skript soll ein Anhalt sein, passt es bitte an eure Gegebenheiten an!</p>
<pre lang="PowerShell" line="1">Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
Import-Module ActiveDirectory

$mbxs = Get-Mailbox # This will disable ALL mailboxes! Pay attention...

foreach ($mbx in $mbxs) 
{
    $adusr = Get-ADUser $mbx.SamAccountName -Properties mail,mailNickname,msExchShadowProxyAddresses,proxyAddresses,UserPrincipalName
        
    # Getting Mailboxes mail adress befor disabling it
    If($adusr.Mail -eq "")
    {
        [string]$MailAdress = $mbx.UserPrincipalName
    }
    else
    {
        [string]$MailAdress = $adusr.Mail
    }

    Disable-Mailbox -Id $mbx.Identity -Confirm:$False
    Enable-MailUser -Id $mbx.Identity -ExternalEmailAddress $MailAdress
    Set-MailUser -Id $mbx.Identity -EmailAddresses $MailAdress
}

# Make users MailEnabled users that never had a mailbox

$newUsersWithoutMailbox = Get-ADUser -Filter * -SearchBase "OU=Useraccounts,DC=DOMAIN,DC=local" -Properties Mail,UserPrincipalName
foreach($user in $newUsersWithoutMailbox)
{
    $FullDistinguishName = “LDAP://” + $user.distinguishedName
    $AccountEntry = New-Object DirectoryServices.DirectoryEntry $FullDistinguishName
    $AccountEntry.PutEx(1, “msExchHomeServerName”, $null)
    $AccountEntry.SetInfo()

    If($user.Mail -ne "")
    {
        [string]$MailAdress = $user.Mail
    }
    else
    {
        [string]$MailAdress = $user.UserPrincipalName
    }
    # Enable-MailUser 

    If((Get-MailUser $user.SamAccountName -ErrorAction SilentlyContinue).RecipientType -ne "MailUser")
    {
        Enable-MailUser -Id $user.SamAccountName -ExternalEmailAddress $MailAdress
    }

    Set-MailUser -Id $user.SamAccountName -EmailAddresses $MailAdress
}</pre>
<p>Nach dem nun keine Mailboxen mehr vorhanden sind, wäre es möglich, dass der Deinstallationsassistent weitere Probleme meldet, u.a. könnten:</p>
<ul>
<li>noch Public Folder Databases mit Replikaten,</li>
<li>Arbitration-Mailboxes oder</li>
<li>weitere Inhalte in der Mailbox Database</li>
</ul>
<p>vorhanden sein.</p>
<p>Für die Replicas in der Public Folder Database bzw. die Database selbst könnten folgende PowerShell-Aufrufe nützlich sein:</p>
<pre lang="PowerShell" line="1">Get-PublicFolder -Identity \ -GetChildren | Remove-PublicFolder -Recurse 

Remove-PublicFolderDatabase -Identity "My Public Folder Database" 

Get-PublicFolderDatabase | Remove-PublicFolderDatabase –RemoveLastAllowed</pre>
<p>Für das Entfernen der (ggf. letzten) Arbitration Mailbox hilft</p>
<pre lang="PowerShell" line="1">Get-Mailbox –Arbitration | Disable-Mailbox –Arbitration –DisableLastArbitrationMailboxAllowed</pre>
<p>Danach sollte es möglich sein, Exchange “normal” zu entfernen:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2017/02/Exch4.png"><img decoding="async" style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;" title="Exch4" src="https://www.hertes.net/wp-content/uploads/2017/02/Exch4_thumb.png" alt="Exch4" width="557" height="484" border="0" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2017/02/office-365-letzten-exchange-server-entfernen/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Office 365 / Azure AD: Kennwort eines Benutzers soll nicht ablaufen</title>
		<link>https://www.hertes.net/2016/11/office-365-azure-ad-kennwort-eines-benutzers-soll-nicht-ablaufen/</link>
					<comments>https://www.hertes.net/2016/11/office-365-azure-ad-kennwort-eines-benutzers-soll-nicht-ablaufen/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Mon, 14 Nov 2016 15:39:40 +0000</pubDate>
				<category><![CDATA[ActiveDirectory]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Azure AD]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[Passwort]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=3305</guid>

					<description><![CDATA[Wenn man Office 365 Konten hat, die keinem Benutzer fest zugeordnet sind (in meinem Fall für Konferenz-Telefone), dann ist es eher ungünstig, wenn das Kennwort abläuft. Auch bei regulären Benutzern kann es gewünscht sein, dass das Kennwort nicht abläuft. Wenn der Benutzer aus dem lokalen Active Directory synchronisiert wird, dann kann man diese Option einfach im lokalen AD einstellen. Aber bei einem Benutzer, der nur online existiert geht das nicht. Wie also dort das Ablaufen eines Kennwortes deaktivieren? Natürlich per PowerShell! Dazu muss erst mit Connect-MsolService eine Verbindung mit Azure AD aufgebaut werden. Danach kann dann mit Set-MsolUser -UserPrincipalName USER@MAIL.DE&#8230;]]></description>
										<content:encoded><![CDATA[<p>Wenn man Office 365 Konten hat, die keinem Benutzer fest zugeordnet sind (in meinem Fall für Konferenz-Telefone), dann ist es eher ungünstig, wenn das Kennwort abläuft. Auch bei regulären Benutzern kann es gewünscht sein, dass das Kennwort nicht abläuft.</p>
<p>Wenn der Benutzer aus dem lokalen Active Directory synchronisiert wird, dann kann man diese Option einfach im lokalen AD einstellen. Aber bei einem Benutzer, der nur online existiert geht das nicht. Wie also dort das Ablaufen eines Kennwortes deaktivieren? Natürlich per PowerShell!</p>
<p>Dazu muss erst mit</p>
<blockquote>
<p>Connect-MsolService</p>
</blockquote>
<p>eine Verbindung mit Azure AD aufgebaut werden. Danach kann dann mit</p>
<blockquote>
<p>Set-MsolUser -UserPrincipalName <a href="mailto:USER@MAIL.DE">USER@MAIL.DE</a> -PasswordNeverExpires $True</p>
</blockquote>
<p>die entsprechende Einstellung vorgenommen werden.</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/11/O365_User_Password_Expire.png"><img decoding="async" title="O365_User_Password_Expire" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="O365_User_Password_Expire" src="https://www.hertes.net/wp-content/uploads/2016/11/O365_User_Password_Expire_thumb.png" width="644" height="181" /></a></p>
<p>Viel Spaß damit!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2016/11/office-365-azure-ad-kennwort-eines-benutzers-soll-nicht-ablaufen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>H&#252;rden bei der Office 365 Migration in Bezug auf AD Connect</title>
		<link>https://www.hertes.net/2016/10/hrden-bei-der-office-365-migration-in-bezug-auf-ad-connect/</link>
					<comments>https://www.hertes.net/2016/10/hrden-bei-der-office-365-migration-in-bezug-auf-ad-connect/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Thu, 13 Oct 2016 19:35:00 +0000</pubDate>
				<category><![CDATA[ActiveDirectory]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[Office365]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=3283</guid>

					<description><![CDATA[Vor zwei Wochen habe ich nun endlich die E-Mail-Kommunikation meiner Firma auf Office 365 umstellen können. Diese eigentlich gar nicht so aufwändige Projekt war leider durch zu viele kleine Dinge im Alltag zeitlich in die Länge gezogen worden. Aus den Erfahrungen bei der Migration möchte ich hier ein paar Hürden und Stolpersteine, die mir im Zusammenhang mit Azure AD Connect begegnet sind, erläutern, in der Hoffnung, dass andere diese so umgehen können. Azure AD Connect zu früh benutzt I Ich hatte Azure AD Connect bereits aktiviert, bevor ich den Migrationsendpunkt (Migration Endpoint) für die Cutover-Migration angelegt hatte. Danach ließ sich&#8230;]]></description>
										<content:encoded><![CDATA[<p>Vor zwei Wochen habe ich nun endlich die E-Mail-Kommunikation meiner Firma auf Office 365 umstellen können. Diese eigentlich gar nicht so aufwändige Projekt war leider durch zu viele kleine Dinge im Alltag zeitlich in die Länge gezogen worden.</p>
<p>Aus den Erfahrungen bei der Migration möchte ich hier ein paar Hürden und Stolpersteine, die mir im Zusammenhang mit Azure AD Connect begegnet sind, erläutern, in der Hoffnung, dass andere diese so umgehen können.</p>
<h2>Azure AD Connect zu früh benutzt I</h2>
<p>Ich hatte Azure AD Connect bereits aktiviert, bevor ich den Migrationsendpunkt (Migration Endpoint) für die Cutover-Migration angelegt hatte. Danach ließ sich die Option “Übernahmemigration” (Das ist die Cutover-Migration) nicht mehr auswählen, diese war ausgegraut (siehe <a href="http://www.hertes.net/?p=3245">mein Blogpost vom 12.09.2016</a>)</p>
<p><u>Erkenntnis:</u> Azure AD Connect erst benutzen, wenn der Migrationsendpunkt angelegt ist. (siehe auch nächster Punkt!) Alternativ kann AD Connect auch wieder abgeschaltet werden: (kann ggf. einige Stunden dauern)</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/10/image-2.png"><img loading="lazy" decoding="async" title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://www.hertes.net/wp-content/uploads/2016/10/image_thumb-2.png" width="642" height="191" /></a></p>
<h2>Azure AD Connect zu früh benutzt II</h2>
<p>Ich hatte, bevor alle Postfächer durch Cutover-Migration umgezogen waren, schon Azure AD Connect (früher DirSync) auf unseren Systemen installiert und einige Benutzer aus unserem Active Directory zu Azure bzw. Office 365 synchronisiert. Für diese Benutzer konnte ich dann keine Postfächer mehr per CutOver-Migration migrieren, weil dann bemängelt wird, dass es bereits Objekte mit der selben Mailadresse gibt.</p>
<p><u>Erkenntnis:</u> Azure AD Connect erst benutzen, wenn alle Postfächer migriert sind.</p>
<h2>Azure AD Connect kommt mit multiplen Mail-Adressen im AD nicht so gut klar</h2>
<p>Neben der finalen Mailadresse unserer Public Domain hatten die Exchange-Postfächer (und damit auch die AD Objekte der Benutzer) mehrere Mailadresse, u.a. die der lokalen internen AD Domäne. Diese sind u.a. im Attribut “ProxyAddresses” gespeichert. Die primäre Mailadresse hat dabei ein großgeschriebenes “SMTP:” vorangestellt, alle anderen ein kleingeschriebenes:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/10/image-3.png"><img loading="lazy" decoding="async" title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://www.hertes.net/wp-content/uploads/2016/10/image_thumb-3.png" width="397" height="283" /></a></p>
<p>Daran aber stört sich anscheinend Azure AD Connect. Darauf deutet auch ein <a href="https://blogs.technet.microsoft.com/hot/2012/06/25/how-to-use-smtp-matching-to-match-on-premises-user-accounts-to-office-365-user-accounts-for-directory-synchronization/">älterer Blog-Artikel bei Microsoft</a> hin. Dort heisst es:</p>
<ul>
<li>“SMTP:<var>username</var>@contoso.com” is an acceptable value. </li>
<li>“<var>username</var>@contoso.com” and “smtp:<var>username</var>@contoso.com” are not acceptable values. </li>
</ul>
<p>Als Fehler kommt “Das Objekt kann nicht aktualisiert werden, weil die folgenden dem Objekt zugeordneten Attribute Werte aufweisen, die möglicherweise bereits einem anderen Objekt in Ihren lokalen Verzeichnisdiensten zugeordnet sind” – und zwar für jeden User der Domäne.</p>
<p>Also habe ich vorübergehend alle kleingeschriebenen “smtp” durch großgeschriebene ersetzt (<em>ACHTUNG: Das ist nur temporär, in der Zwischenzeit solltet ihr keine Exchange-Konsolen benutzen, da diese damit ein Problem haben, dass es mehrere primäre Adressen gibt! Alternativ könnte man auch alle sekundären Adressen entfernen – das kam für mich aber nicht in Betracht</em>). Dies habe ich natürlich mit PowerShell erledigt:</p>
<pre lang="PowerShell" line="1">Get-ADUser -SearchBase &quot;OU=SOMEOU,DC=MYDOMAIN,DC=local&quot; -Filter * | 
    Get-ADObject -Properties proxyAddresses | 
        ForEach-Object 
        {

            $ProxyA = $_.proxyAddresses.Replace(&quot;smtp&quot;,&quot;SMTP&quot;) 
            ForEach($Adress in $_.proxyAddresses) 
            { 
                if($Adress -like &quot;*@THEDOMAIN.COM&quot;) 
                { 
                   $ProxyA = $Adress 
                } 
            } 
            $_.ProxyAddresses = $ProxyA 
            Set-ADObject -Instance $_ 
        }</pre>
<p>Selbst nach dem ich dies bei allen Benutzer gemacht hatte kam ausgerechnet für mein eigenes Konto noch immer der selbe Fehler:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/10/image-4.png"><img loading="lazy" decoding="async" title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://www.hertes.net/wp-content/uploads/2016/10/image_thumb-4.png" width="642" height="118" /></a></p>
<p>Dabei hatte ich meinen Account ebenso behandelt wie alle anderen. Dieses Mal war die Ursache aber eine andere: Es gab noch einen gelöschten O365-Benutzer mit dieser Adresse! Also musst auch noch der gelöschte Benutzer endgültig gelöscht werden. Dies habe ich ebenfalls per PowerShell gelöst:</p>
<pre lang="PowerShell" line="1">Get-MsolUser -ReturnDeletedUsers | Remove-MsolUser -RemoveFromRecycleBin –Force</pre>
<p>(Achtung: Das löscht ALLE gelöschten Benutzer endgültig! Will man nur einen einzelnen Benuter löschen geht dies mittels:</p>
<pre lang="PowerShell" line="1">Remove-MsolUser -UserPrincipalName Lynn@office365bootcamp.com –RemoveFromRecycleBin</pre>
<p>
  <br />Danach klappte auch die Synchronisierung des letzten Kontos problemlos…</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2016/10/hrden-bei-der-office-365-migration-in-bezug-auf-ad-connect/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Office 365 und Exchange Server &#8211; n&#252;tzliche PowerShell-Schnipsel</title>
		<link>https://www.hertes.net/2016/08/office-365-und-exchange-server-ntzliche-powershell-schnipsel/</link>
					<comments>https://www.hertes.net/2016/08/office-365-und-exchange-server-ntzliche-powershell-schnipsel/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Tue, 09 Aug 2016 19:32:00 +0000</pubDate>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[PowerShell]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=3227</guid>

					<description><![CDATA[Im folgenden möchte ich euch einige Code-Schnipsel für die PowerShell zur Verfügung stellen, die das Arbeiten mit Office 365 bzw. einem Exchange Server mittels PowerShell erleichtern sollen. Dabei ist immer kurz angegeben, was der Code macht. Der Artikel wird regelmäßig ergänzt und erweitert. Allgemein Verbinden der PowerShell mit Office 365: Import-Module "PFAD-ZUR-EXCHANGE-PSM-DATEI.psm1" $credential = Get-Credential -UserName "USER@DOMÄNE.DE" -Message &#34;Bitte das Passwort für O365 eingeben!&#34; $ExchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $credential -Authentication Basic -AllowRedirection Import-PSSession $ExchangeSession -AllowClobber >> $null Verteiler / Distribution Groups Auflisten aller Verteiler: Get-DistributionGroup Mitglieder (Postfächer) eines bestimmten oder mehrerer Verteiler(s) auflisten: $Mailbox = Get-Mailbox&#8230;]]></description>
										<content:encoded><![CDATA[<p>Im folgenden möchte ich euch einige Code-Schnipsel für die PowerShell zur Verfügung stellen, die das Arbeiten mit Office 365 bzw. einem Exchange Server mittels PowerShell erleichtern sollen. Dabei ist immer kurz angegeben, was der Code macht.</p>
<p>Der Artikel wird regelmäßig ergänzt und erweitert.</p>
<h2>Allgemein</h2>
<h4>Verbinden der PowerShell mit Office 365:</h4>
<pre lang="PowerShell" line="1">Import-Module "PFAD-ZUR-EXCHANGE-PSM-DATEI.psm1" 
$credential = Get-Credential -UserName "USER@DOMÄNE.DE" -Message &quot;Bitte das Passwort für O365 eingeben!&quot; 
$ExchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $credential -Authentication Basic -AllowRedirection 
Import-PSSession $ExchangeSession -AllowClobber >> $null</pre>
<h2>Verteiler / Distribution Groups</h2>
<h4>Auflisten aller Verteiler:</h4>
<pre lang="PowerShell" line="1">Get-DistributionGroup</pre>
<h4>Mitglieder (Postfächer) eines bestimmten oder mehrerer Verteiler(s) auflisten:</h4>
<pre lang="PowerShell" line="1">$Mailbox = Get-Mailbox "Haiko Hertes" 
$DN=$Mailbox.DistinguishedName 
$Filter = &quot;Members -like ""$DN&""" 
Get-DistributionGroup -ResultSize Unlimited -Filter $Filter</pre>
<h4>Mitglieder (Kontakte) eines bestimmten oder mehrerer Verteiler(s) auflisten:</h4>
<pre lang="PowerShell" line="1">
$Mailbox = Get-MailContact "*KONTAKTNAME*" 
$DN=$Mailbox.DistinguishedName 
$Filter = "Members -like ""$DN""" 
Get-DistributionGroup -ResultSize Unlimited -Filter $Filter
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2016/08/office-365-und-exchange-server-ntzliche-powershell-schnipsel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft bietet 4 kostenlose Zertifizierungspr&#252;fungen f&#252;r Azure und Office365</title>
		<link>https://www.hertes.net/2014/10/microsoft-bietet-4-kostenlose-zertifizierungsprfungen-fr-azure-und-office365/</link>
					<comments>https://www.hertes.net/2014/10/microsoft-bietet-4-kostenlose-zertifizierungsprfungen-fr-azure-und-office365/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 17 Oct 2014 07:32:11 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[Zertifizierungen]]></category>
		<category><![CDATA[kostenlos]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[Prometric]]></category>
		<category><![CDATA[zertifikat]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=2502</guid>

					<description><![CDATA[Microsoft bietet einem Blog-Beitrag von Andrew Parson zufolge aktuell für Prüfungen über Prometric kostenlos an. Damit lassen sich 2 Zertifizierungen erreichen: Für den Microsoft Certified Specialist in Azure muss mindestens eine dieser beiden Prüfungen abgelegt werden: 70-532: Developing Microsoft Azure Solutions 70-533: Implementing Azure Infrastructure Solutions Um den Microsoft Certified Solutions Associate in Office 365 zu erreichen müssen die beiden folgenden Prüfungen abgelegt werden: 70-346: Managing Office 365 Identities and Requirements 70-347: Enabling Office 365 Services Die Voucher zum kostenlosen Ablegen der Prüfungen können von hier bezogen werden: http://borntolearn.mslearn.net/goodstuff/p/mcp.aspx Das Angebot ist nur begrenzt gültig und maximal bis zum 31.&#8230;]]></description>
										<content:encoded><![CDATA[<p>Microsoft bietet einem <a href="http://borntolearn.mslearn.net/btl/b/weblog/archive/2014/10/16/get-certified-on-microsoft-azure-or-office-365-with-free-exams.aspx" target="_blank">Blog-Beitrag von Andrew Parson</a> zufolge aktuell für Prüfungen über Prometric kostenlos an. Damit lassen sich 2 Zertifizierungen erreichen:</p>
<p>Für den <b>Microsoft Certified Specialist in Azure </b>muss mindestens eine dieser beiden Prüfungen abgelegt werden:</p>
<ul>
<li>
<p>70-532: Developing Microsoft Azure Solutions</p>
</li>
<li>
<p>70-533: Implementing Azure Infrastructure Solutions</p>
</li>
</ul>
<p><img decoding="async" src="http://borntolearn.mslearn.net/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/0003.Surfer_5F00_facebook_5F00_400x209.jpg" /></p>
<p>Um den <b>Microsoft Certified Solutions Associate in Office 365 </b>zu erreichen müssen die beiden folgenden Prüfungen abgelegt werden:</p>
<ul>
<li>
<p>70-346: Managing Office 365 Identities and Requirements</p>
</li>
<li>
<p>70-347: Enabling Office 365 Services</p>
</li>
</ul>
<p><img decoding="async" src="http://borntolearn.mslearn.net/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-00-08/7651.dunk_5F00_facebook_5F00_400x209.jpg" /></p>
<p>Die Voucher zum kostenlosen Ablegen der Prüfungen können von hier bezogen werden: <a title="http://borntolearn.mslearn.net/goodstuff/p/mcp.aspx" href="http://borntolearn.mslearn.net/goodstuff/p/mcp.aspx">http://borntolearn.mslearn.net/goodstuff/p/mcp.aspx</a></p>
<p>Das Angebot ist nur begrenzt gültig und maximal bis zum 31. Dezember 2014 verfügbar – schnell sein ist also die Devise!</p>
<p><em>PS: 70-532 ist ein Beta-Examen!</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2014/10/microsoft-bietet-4-kostenlose-zertifizierungsprfungen-fr-azure-und-office365/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
