<?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>Microsoft &#8211; abow &#8211; how do you do IT</title>
	<atom:link href="https://abow.info/category/microsoft/feed/" rel="self" type="application/rss+xml" />
	<link>https://abow.info</link>
	<description>Alle möglichen Handkniffe, die ich mir so zusammentrage im Berufsalltag</description>
	<lastBuildDate>Tue, 02 Jun 2026 22:26:25 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://abow.info/wp-content/uploads/2026/06/cropped-favicon-512-32x32.png</url>
	<title>Microsoft &#8211; abow &#8211; how do you do IT</title>
	<link>https://abow.info</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Microsoft Exchange // CU Update Installation</title>
		<link>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-cu-update-installation-2/</link>
					<comments>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-cu-update-installation-2/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 17:00:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Microsoft Exchange Online]]></category>
		<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[CU Update]]></category>
		<category><![CDATA[Cumulative Update]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange Server SE]]></category>
		<category><![CDATA[Extended Protection]]></category>
		<category><![CDATA[IIS URL Rewrite]]></category>
		<category><![CDATA[Mailflow]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[Patchmanagement]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Schema]]></category>
		<guid isPermaLink="false">https://abow.info/?p=453</guid>

					<description><![CDATA[Die Installation eines Exchange Cumulative Updates ist keine simple Routineaufgabe – es sind zahlreiche Aspekte zu beachten. Die Rückmeldung während der Installation ist oft spärlich; es kann durchaus…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Die Installation eines Exchange Cumulative Updates ist keine simple Routineaufgabe – es sind zahlreiche Aspekte zu beachten. Die Rückmeldung während der Installation ist oft spärlich; es kann durchaus minutenlang so aussehen, als passiere nichts. Solange das Setup-Fenster noch reagiert, besteht in der Regel kein Grund zur Sorge.</p>



<p class="wp-block-paragraph">Diese Dokumentation basiert auf der Installation eines CU auf dem eigenständigen Exchange-Server <strong>exch01.domain.tld</strong>, der vorab mit allen aktuellen Windows-Updates versorgt wurde. Die zugrunde liegende Umgebung ist ein Multi-AD-Forest mit Child-Domain – also deutlich komplexer als eine Single-Forest-/Single-Domain-Struktur.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Wichtig vorab (Stand: Juni 2026): Exchange 2016/2019 sind End of Support</h2>



<p class="wp-block-paragraph">Exchange Server 2016 und 2019 haben am <strong>14. Oktober 2025</strong> das Support-Ende erreicht. Es gibt seitdem <strong>keine regulären Sicherheitsupdates, Bugfixes oder technischen Support</strong> mehr. Wer noch im Programm der <strong>Extended Security Updates (ESU)</strong> ist, erhält Updates nur noch <strong>bis April 2026</strong> – das ist ausdrücklich nur ein Übergang, keine Dauerlösung.</p>



<p class="wp-block-paragraph">Die einzige weiterhin unterstützte On-Prem-Variante ist <strong>Exchange Server Subscription Edition (SE)</strong>. Exchange SE RTM ist code-identisch mit Exchange 2019 CU15; <strong>SE CU1</strong> kam in H1/2026, <strong>SE CU2</strong> folgt in H2/2026 und blockt dann die Koexistenz mit 2016/2019.</p>



<p class="wp-block-paragraph"><strong>Konsequenz für dieses Thema:</strong> Reine CU-Installationen auf 2016/2019 sind heute fast nur noch im Rahmen einer In-Place-Migration nach SE relevant (2019 CU14/CU15 → SE) oder mit aktivem ESU. Der hier beschriebene Ablauf gilt aber <strong>technisch unverändert auch für Exchange Server SE</strong> – Modern Servicing bedeutet lediglich: Es ist immer nur das <strong>aktuellste</strong> CU supported (kein „N-1&#8243; mehr).</p>
</blockquote>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="389" src="https://abow.info/wp-content/uploads/2026/06/inlay_lifecycle_se-1024x389.png" alt="" class="wp-image-455" srcset="https://abow.info/wp-content/uploads/2026/06/inlay_lifecycle_se-1024x389.png 1024w, https://abow.info/wp-content/uploads/2026/06/inlay_lifecycle_se-300x114.png 300w, https://abow.info/wp-content/uploads/2026/06/inlay_lifecycle_se-768x292.png 768w, https://abow.info/wp-content/uploads/2026/06/inlay_lifecycle_se-1536x584.png 1536w, https://abow.info/wp-content/uploads/2026/06/inlay_lifecycle_se.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Voraussetzungen</h2>



<h3 class="wp-block-heading">Passende Berechtigungen</h3>



<p class="wp-block-paragraph">Für das Update wird ein Benutzerkonto benötigt, das Mitglied in folgenden Gruppen ist:</p>



<ul class="wp-block-list">
<li><strong>Organization Management</strong></li>



<li><strong>Organisations-Admins</strong> (Enterprise Admins)</li>



<li><strong>Schema-Admins</strong></li>
</ul>



<p class="wp-block-paragraph">Nur damit ist sichergestellt, dass alle Änderungen am Active-Directory-Schema und an der Exchange-Organisation durchgeführt werden können. Fehlen die Rechte, schlägt die Installation fehl – und die Ursache lässt sich oft nur mit gezielter Log-Recherche nachvollziehen.</p>



<p class="wp-block-paragraph">In seltenen Konstellationen (wie z. B. bei <em>domain.tld</em>) ist die Gruppe <strong>Organisations-Admins</strong> nicht automatisch Mitglied der <strong>Domänen-Admins</strong> jeder betroffenen Domäne. Dann muss <code>PrepareDomain</code> zwingend mit einem Benutzer aus der <strong>Domänen-Admins</strong>-Gruppe der jeweiligen Domäne ausgeführt werden.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Vorbereitung der Arbeiten</h2>



<p class="wp-block-paragraph">Je nach Umgebung unterscheiden sich die Vorbereitungsschritte. Vieles lässt sich aber schon im Vorfeld erledigen.</p>



<h3 class="wp-block-heading">Übersicht der Exchange-Server erfassen</h3>



<p class="wp-block-paragraph">Erstelle vorab eine Übersicht aller Exchange-Server inklusive <strong>Dienstestatus</strong>, <strong>Build-Versionen</strong> und ggf. <strong>Rollenverteilung</strong>. Das dokumentiert den IST-Zustand sauber und hilft im Fehlerfall enorm.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tipp:</strong> Microsoft empfiehlt offiziell den <strong>Exchange Server Health Checker</strong> (PowerShell-Skript), um vorab zu sehen, welche CUs/SUs/manuellen Schritte ausstehen. Den IST-Zustand kannst du außerdem mit dem unten verlinkten Pre-Flight-Skript einsammeln.</p>
</blockquote>



<h3 class="wp-block-heading">Beginn der Arbeiten kommunizieren</h3>



<p class="wp-block-paragraph">Vor dem Start der Wartung den Kunden/Service Owner rechtzeitig informieren, damit Einschränkungen bekannt und eingeplant sind.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="471" src="https://abow.info/wp-content/uploads/2026/06/inlay_cu_ablauf-1024x471.png" alt="" class="wp-image-456" srcset="https://abow.info/wp-content/uploads/2026/06/inlay_cu_ablauf-1024x471.png 1024w, https://abow.info/wp-content/uploads/2026/06/inlay_cu_ablauf-300x138.png 300w, https://abow.info/wp-content/uploads/2026/06/inlay_cu_ablauf-768x353.png 768w, https://abow.info/wp-content/uploads/2026/06/inlay_cu_ablauf-1536x707.png 1536w, https://abow.info/wp-content/uploads/2026/06/inlay_cu_ablauf.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Exchange-Version ermitteln</h2>



<p class="wp-block-paragraph">Zuerst feststellen, welche Version aktuell läuft – per <strong>Exchange Management Shell</strong> oder <strong>EAC</strong>.</p>



<pre class="wp-block-code"><code>Get-ExchangeServer | Select-Object Name, AdminDisplayVersion | Format-Table
</code></pre>



<p class="wp-block-paragraph">Beispielausgabe:</p>



<pre class="wp-block-code"><code>Name    AdminDisplayVersion
----    -------------------
EXCH01  Version 15.1 (Build 2044.4)
EXCH02  Version 15.1 (Build 2044.4)
</code></pre>



<p class="wp-block-paragraph">Die Build-Nummer ordnest du über die Microsoft-Liste der konkreten CU-Version zu: <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://learn.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates">Exchange Build Numbers and Release Dates (Microsoft Learn)</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Build-Logik kurz erklärt:</strong> <code>15.0.x</code> = Exchange 2013, <code>15.1.x</code> = Exchange 2016, <code>15.2.x</code> = Exchange 2019 / Exchange SE. Im Beispiel entspricht <strong>15.1.2044.4</strong> dem <strong>Exchange 2016 CU17</strong>.</p>
</blockquote>



<h3 class="wp-block-heading">CU-Version der Setup-Datei prüfen</h3>



<p class="wp-block-paragraph">Welche Version ein vorhandenes Setup-Paket enthält:</p>



<pre class="wp-block-code"><code>Get-Command Exsetup.exe | ForEach-Object { $_.FileVersionInfo }
</code></pre>



<h3 class="wp-block-heading">Download der aktuellen CU/SE-Version</h3>



<p class="wp-block-paragraph">Aktuelle Pakete (Exchange SE bzw. die letzten ESU-fähigen SUs für 2016/2019) gibt es bei Microsoft. Nutze zur Pfadbestimmung den <strong>Exchange Update Wizard</strong>, der dir abhängig von Quell- und Ziel-CU die genauen Schritte ausgibt.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Besonderheit: UM Language Pack</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2139.png" alt="ℹ" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Hinweis:</strong> Unified Messaging (UM) wurde mit Exchange 2019 entfernt und ist in Exchange SE nicht mehr vorhanden. Dieser Abschnitt ist daher nur noch für <strong>Exchange 2016</strong> relevant.</p>
</blockquote>



<p class="wp-block-paragraph">Falls UM eingesetzt wird, ist ggf. ein <strong>UM Language Pack</strong> installiert (z. B. für Voicemail-Ansagen). Es muss nach dem CU-Update in passender Version <strong>neu installiert</strong> werden und erscheint in der Systemsteuerung unter <em>Programme und Features</em>.</p>



<p class="wp-block-paragraph">Prüfen, ob ein Language Pack aktiv ist:</p>



<pre class="wp-block-code"><code>Get-UMService | Select-Object Name, Languages
</code></pre>



<p class="wp-block-paragraph">Wird nur <code>{en-US}</code> ausgegeben, ist kein zusätzliches Sprachpaket installiert.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">.NET Framework-Version ermitteln</h2>



<p class="wp-block-paragraph">Am einfachsten per PowerShell (als Administrator):</p>



<pre class="wp-block-code"><code>(Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release
</code></pre>



<p class="wp-block-paragraph">Beispielausgabe:</p>



<pre class="wp-block-code"><code>528049
</code></pre>



<p class="wp-block-paragraph">Der Release-Wert lässt sich der Microsoft-Tabelle zuordnen – <strong>528049 = .NET 4.8</strong>: <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed">How to determine which .NET Framework versions are installed</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Kurzreferenz Release-Werte:</strong> <code>528040/528049/528449</code> = .NET 4.8 · <code>533320/533325</code> = .NET 4.8.1. Exchange SE benötigt <strong>.NET 4.8</strong> (auf Windows Server 2025 ist 4.8.1 systemseitig dabei).</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Kompatibilität von CU und .NET Framework</h2>



<p class="wp-block-paragraph">Mit diesen Infos prüfst du anhand der <strong>Supportability Matrix</strong>, ob die installierte .NET-Version zum geplanten CU passt. Ist das <strong>nicht</strong> der Fall, muss .NET <strong>vor</strong> dem CU aktualisiert werden.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://learn.microsoft.com/en-us/exchange/plan-and-deploy/supportability-matrix">Exchange Server Supportability Matrix (Microsoft Learn)</a></p>



<p class="wp-block-paragraph">In unserem Beispiel: .NET 4.8 wird bereits <strong>ab Exchange 2016 CU13</strong> unterstützt – ein .NET-Update ist hier <strong>nicht erforderlich</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Active Directory Schema-Version prüfen</h2>



<p class="wp-block-paragraph">Vor dem CU prüfen, ob das AD-Schema bereits die erforderliche Version hat.</p>



<p class="wp-block-paragraph"><strong>Exchange Schema Version:</strong></p>



<pre class="wp-block-code"><code>$sc = (Get-ADRootDSE).SchemaNamingContext
$ob = "CN=ms-Exch-Schema-Version-Pt," + $sc
Write-Output "RangeUpper: $((Get-ADObject $ob -Properties rangeUpper).rangeUpper)"
</code></pre>



<p class="wp-block-paragraph"><strong>Exchange Object Version (Domain):</strong></p>



<pre class="wp-block-code"><code>$dc = (Get-ADRootDSE).DefaultNamingContext
$ob = "CN=Microsoft Exchange System Objects," + $dc
Write-Output "ObjectVersion (Default): $((Get-ADObject $ob -Properties objectVersion).objectVersion)"
</code></pre>



<p class="wp-block-paragraph"><strong>Exchange Object Version (Forest):</strong></p>



<pre class="wp-block-code"><code>$cc = (Get-ADRootDSE).ConfigurationNamingContext
$fl = "(objectClass=msExchOrganizationContainer)"
Write-Output "ObjectVersion (Configuration): $((Get-ADObject -LDAPFilter $fl -SearchBase $cc -Properties objectVersion).objectVersion)"
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Hinweis:</strong> Die <em>ObjectVersion (Configuration)</em> wird in manchen Umgebungen erst nach dem erfolgreichen Update des ersten Exchange-Servers erhöht.</p>
</blockquote>



<p class="wp-block-paragraph">Beispielausgabe:</p>



<pre class="wp-block-code"><code>RangeUpper: 15332
ObjectVersion (Default): 13237
ObjectVersion (Configuration): 16217
</code></pre>



<p class="wp-block-paragraph">Die jeweils erforderlichen Soll-Werte je CU stehen hier:</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/de-de/exchange/plan-and-deploy/prepare-ad-and-domains?view=exchserver-2016">Exchange 2016 – AD- und Domain-Vorbereitung</a></li>



<li><a href="https://learn.microsoft.com/de-de/exchange/plan-and-deploy/prepare-ad-and-domains?view=exchserver-2019">Exchange 2019 – AD- und Domain-Vorbereitung</a></li>
</ul>



<p class="wp-block-paragraph">In unserem Fall muss das <strong>Schema erweitert</strong> werden, da das neue CU eine höhere Schema-Version voraussetzt.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tipp:</strong> Alle obigen Abfragen plus Dienstestatus, FSMO, .NET und Transport Agents erledigt das verlinkte Pre-Flight-Skript in einem Rutsch (read-only).</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Schema Master ermitteln</h2>



<p class="wp-block-paragraph">Für das Schema-Upgrade muss bekannt sein, welcher DC die <strong>Schema-Master</strong>-Rolle hält. Das Upgrade sollte im Vorfeld des CU erfolgen.</p>



<p class="wp-block-paragraph"><strong>Variante 1 – CMD:</strong></p>



<pre class="wp-block-code"><code>netdom query fsmo
</code></pre>



<p class="wp-block-paragraph"><strong>Variante 2 – PowerShell:</strong></p>



<pre class="wp-block-code"><code>Get-ADForest | Select-Object SchemaMaster
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Schema-Erweiterung des Active Directory</h2>



<p class="wp-block-paragraph">Die <strong>Installations-ISO des CUs</strong> wird auf dem <strong>DC mit der Schema-Master-Rolle</strong> eingebunden (im Beispiel <code>rootdc01.domain.tld</code>).</p>



<p class="wp-block-paragraph">Alternativ auf einem anderen DC in der <strong>gleichen AD-Site</strong> wie der Exchange-Server. Bei Bedarf die FSMO-Rolle temporär verschieben:</p>



<ol class="wp-block-list">
<li><code>mmc</code> öffnen → Snap-In „<strong>Active Directory-Schema</strong>&#8220; hinzufügen</li>



<li>Rechtsklick auf <strong>Active Directory-Schema</strong> → <strong>Change Domain Controller</strong></li>



<li>Ziel-DC wählen → <strong>Operation Master</strong> → <strong>Change</strong></li>
</ol>



<h3 class="wp-block-heading">Durchführung</h3>



<ol class="wp-block-list">
<li><strong>PowerShell als Administrator</strong> auf dem Schema-Master öffnen</li>



<li>Auf das ISO-Laufwerk wechseln (z. B. <code>D:</code>):</li>
</ol>



<pre class="wp-block-code"><code>D:
</code></pre>



<ol start="3" class="wp-block-list">
<li>Befehle nacheinander ausführen:</li>
</ol>



<pre class="wp-block-code"><code>.\setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
.\setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Zum Lizenz-Schalter:</strong> Microsoft akzeptiert zwei Varianten – <code>_DiagnosticDataON</code> oder <code>_DiagnosticDataOFF</code>. Der Unterschied ist ausschließlich, ob optionale Diagnosedaten an Microsoft gesendet werden. Funktional ist die Installation identisch. <strong>Tipp:</strong> Innerhalb einer Wartung konsistent denselben Schalter verwenden, um Verwirrung in den Logs zu vermeiden.</p>
</blockquote>



<h3 class="wp-block-heading">Komplexe Umgebungen mit mehreren Domänen</h3>



<p class="wp-block-paragraph">Gibt es Exchange-Server in weiteren Domänen:</p>



<pre class="wp-block-code"><code>.\setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
</code></pre>



<p class="wp-block-paragraph">Schlägt <code>PrepareAllDomains</code> mangels Domain-Adminrechten fehl, jede Domäne einzeln vorbereiten:</p>



<pre class="wp-block-code"><code>.\setup.exe /PrepareDomain:&lt;domain.tld&gt; /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Abschluss der AD-Vorbereitung</h2>



<p class="wp-block-paragraph">Danach ist das AD auf dem aktuellen Stand. Die ISO kann vom DC wieder ausgehängt werden.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Hinweis:</strong> Vor dem Start der Exchange-Installation die <strong>AD-Replikation abwarten</strong> – meist reichen ca. <strong>15 Minuten</strong>, je nach Umgebung mehr. Mit <code>repadmin /replsummary</code> lässt sich der Replikationsstand prüfen.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Problem: „Ein Neustart einer vorangegangenen Installation steht noch aus&#8220;</h2>



<p class="wp-block-paragraph">Vor dem Setup kann diese Meldung kommen:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Ein Neustart einer vorangegangenen Installation steht noch aus. Starten Sie das System neu, und führen Sie Setup erneut aus.</strong></p>
</blockquote>



<p class="wp-block-paragraph">Das Setup wird <strong>abgebrochen</strong>. Details im Log:</p>



<pre class="wp-block-code"><code>&lt;SystemDrive&gt;:\ExchangeSetupLogs\ExchangeSetup.log
</code></pre>



<h3 class="wp-block-heading">Lösungsmöglichkeiten</h3>



<ul class="wp-block-list">
<li><strong>Variante 1 (empfohlen):</strong> Server <strong>einmal neu starten</strong>, Setup erneut ausführen.</li>



<li><strong>Variante 2 (nur wenn Reboot nicht hilft):</strong> Den Registry-<strong>Wert</strong> prüfen:</li>
</ul>



<pre class="wp-block-code"><code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager → PendingFileRenameOperations
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Korrektur/Warnung (wichtig!):</strong> Diesen Wert <strong>nicht blind löschen</strong>. <code>PendingFileRenameOperations</code> kann <strong>mehrere legitime</strong> ausstehende Umbenennungen enthalten, die Windows beim nächsten Boot erledigen will. Werden die gelöscht, können laufende Updates inkonsistent werden.</p>



<p class="wp-block-paragraph"><strong>Besser:</strong> Erst den Inhalt ansehen (<code>Get-ItemProperty ... -Name PendingFileRenameOperations</code>), den Wert <strong>exportieren/sichern</strong>, und nur wenn dort ausschließlich irrelevante Reste stehen, gezielt entfernen. In 95 % der Fälle löst ein simpler Reboot das Problem sauber.</p>
</blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Weitere Infos: <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://www.frankysweb.de/exchange-allgemein-fehler-%E2%80%9Eein-neustart-steht-noch-aus%E2%80%9C-bei-installation-oder-update/">FrankysWeb – „Ein Neustart steht noch aus&#8220;</a></p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Sonderanpassungen an der Konfiguration</h2>



<p class="wp-block-paragraph">Individuelle <strong>Konfigurationsänderungen</strong> (z. B. an <code>web.config</code>) können durch ein CU <strong>überschrieben</strong> werden. Diese vorab <strong>dokumentieren/exportieren</strong> und nach dem Update <strong>prüfen und ggf. erneut setzen</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Abhängige Drittherstellersoftware</h2>



<p class="wp-block-paragraph">In produktiven Umgebungen ist oft Drittsoftware aktiv (Signaturen, Archivierung, Security). Solche Komponenten können durch ein CU beeinträchtigt werden, vor allem wenn Exchange-DLLs ersetzt werden.</p>



<p class="wp-block-paragraph">Prüfen, ob sich Software in den Mailflow einklinkt:</p>



<pre class="wp-block-code"><code>Get-TransportAgent
</code></pre>



<p class="wp-block-paragraph">Beispielausgabe:</p>



<pre class="wp-block-code"><code>Name                              Enabled  Priority
----                              -------  --------
Exclaimer Auto Responder Agent    True     1
</code></pre>



<p class="wp-block-paragraph">Hier ist der <strong>Exclaimer Auto Responder Routing Agent</strong> aktiv (laut Hersteller keine Maßnahmen nach CU nötig). Anders z. B. bei <strong>CI-Mail Policy</strong> – die muss nach jedem CU <strong>neu installiert</strong> werden.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Empfehlung: Vor dem Update die Dritthersteller-Doku prüfen oder beim Hersteller anfragen, ob nach einem CU Maßnahmen nötig sind.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Vorbereitung vor dem Update</h2>



<h3 class="wp-block-heading">Kundenkommunikation</h3>



<p class="wp-block-paragraph">Falls noch nicht erfolgt: <strong>Kunde vor Beginn informieren</strong>, besonders bei Produktivsystemen.</p>



<h3 class="wp-block-heading">Kein Snapshot!</h3>



<p class="wp-block-paragraph">Ein Snapshot (Hyper-V/VMware) ist <strong>nicht sinnvoll</strong> – das CU ändert nicht nur Exchange, sondern auch das <strong>AD-Schema</strong>. Ein Snapshot-Rollback führt zu inkonsistenten Zuständen. Es gibt <strong>kein Rollback</strong> – nur den Weg nach vorn.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Technische Vorbereitung</h2>



<h3 class="wp-block-heading">Status der Exchange-Dienste dokumentieren</h3>



<p class="wp-block-paragraph">IST-Zustand festhalten:</p>



<ul class="wp-block-list">
<li><strong>Dienste</strong> (Screenshot oder PowerShell): <code>Test-ServiceHealth</code></li>



<li><strong>Komponentenstatus</strong>: <code>Get-ServerComponentState &lt;Servername></code></li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Hintergrund: CU-/Hotfix-Installationen setzen Dienste/Komponenten oft auf „Deaktiviert&#8220;. Eine saubere Rückdokumentation ist entscheidend.</p>
</blockquote>



<h3 class="wp-block-heading">Zugriffe reduzieren</h3>



<ul class="wp-block-list">
<li><strong>Benutzersitzungen abmelden</strong> (alle außer Admin).</li>



<li><strong>Offene PowerShell-Sitzungen beenden:</strong></li>
</ul>



<pre class="wp-block-code"><code>Get-Process *powershell* | Stop-Process -Id &lt;Prozess-ID&gt;
</code></pre>



<h3 class="wp-block-heading">Virenscanner deaktivieren</h3>



<ul class="wp-block-list">
<li>AV (z. B. <strong>Bitdefender</strong>) <strong>deaktivieren</strong> (bei Bitdefender: <em>Shift + Rechtsklick > Poweruser</em>).</li>



<li>Andere Lösungen nach Herstelleranleitung.</li>



<li>Geht keine Deaktivierung: <strong>dokumentieren</strong> und fortfahren.</li>
</ul>



<h3 class="wp-block-heading">Backup pausieren</h3>



<ul class="wp-block-list">
<li>Laufende <strong>Backup-Jobs pausieren/deaktivieren</strong> – das CU beinhaltet mehrere Neustarts; Sicherungen können den Prozess stören oder beschädigte Backups erzeugen.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Installation des .NET Framework Updates (falls erforderlich)</h2>



<p class="wp-block-paragraph">Im Beispiel nicht nötig – der Vollständigkeit halber:</p>



<ol class="wp-block-list">
<li><strong>Offline-Installer herunterladen</strong> (z. B. .NET 4.8)</li>



<li><strong>Als Administrator ausführen</strong>, Lizenz akzeptieren, installieren</li>



<li>Laufzeit bis zu <strong>60 Minuten</strong>, wirkt teils eingefroren</li>



<li><strong>Neustart zwingend</strong></li>



<li>Danach über <strong>Windows Update</strong> verfügbare <strong>.NET-Sicherheitsupdates</strong> nachziehen</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">IIS URL Rewrite Module (bei bestimmten CUs)</h2>



<p class="wp-block-paragraph">Seit dem <strong>CU vom September 2021</strong> gibt es einen sicherheitsrelevanten „Not-Aus-Schalter&#8220;. Dafür ist vorab das <strong>IIS URL Rewrite Module</strong> nötig:</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://www.iis.net/downloads/microsoft/url-rewrite">Microsoft URL Rewrite Module</a></p>



<p class="wp-block-paragraph">Installation dauert nur wenige Minuten und sollte <strong>vor dem CU</strong> erfolgen, falls das CU diese Abhängigkeit mitbringt.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Installation des Cumulative Updates (CU)</h2>



<p class="wp-block-paragraph">Vor der Installation den <strong>Exchange Server einmal neu starten</strong>, um sauber zu starten.</p>



<h3 class="wp-block-heading">ISO-Datei einbinden</h3>



<p class="wp-block-paragraph">Die CU-ISO <strong>per Doppelklick einbinden</strong> – sie erscheint als virtuelles Laufwerk.</p>



<h3 class="wp-block-heading">Wichtiger Hinweis: Extended Protection</h3>



<p class="wp-block-paragraph">Mit aktuellen CUs wird <strong>Extended Protection (EP)</strong> automatisch aktiviert. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://learn.microsoft.com/en-us/exchange/plan-and-deploy/post-installation-tasks/security-best-practices/exchange-extended-protection?view=exchserver-2019">Exchange Extended Protection (Microsoft Learn)</a></p>



<p class="wp-block-paragraph">Soll EP <strong>nicht</strong> aktiviert werden:</p>



<pre class="wp-block-code"><code>.\Setup.exe /Update /DoNotEnableEP /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> EP ist eine <strong>Sicherheitsfunktion</strong> und sollte im Normalfall <strong>aktiviert bleiben</strong>. <code>/DoNotEnableEP</code> nur nutzen, wenn dokumentierte Kompatibilitätsgründe vorliegen (z. B. bestimmte Loadbalancer-/Hybrid-Szenarien).</p>
</blockquote>



<h3 class="wp-block-heading">CU-Installation starten</h3>



<ol class="wp-block-list">
<li><strong>Administrative PowerShell</strong> öffnen</li>



<li>Zum ISO-Laufwerk navigieren</li>



<li>Installation starten:</li>
</ol>



<pre class="wp-block-code"><code>.\Setup.exe /Mode:Upgrade /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Wichtig:</strong> <code>setup.exe</code> <strong>muss als Administrator</strong> laufen, sonst drohen inkonsistentes Verhalten oder ein <strong>defekter Exchange-Server</strong>.</p>
</blockquote>



<h3 class="wp-block-heading">Während der Installation</h3>



<ul class="wp-block-list">
<li>Die Installation kann mehrfach längere Zeit „hängen&#8220; – das ist <strong>normal</strong>.</li>



<li>Alle <strong>Exchange-Dienste sind gestoppt</strong> – das Monitoring sollte das erkennen (ggf. Wartungsfenster setzen).</li>



<li>Häufige Fehlerursache: <strong>Backup-Software startet automatisch</strong> → Backup-Jobs vorab stoppen!</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Neustart nach dem CU-Update</h2>



<p class="wp-block-paragraph">Nach der Installation ist ein <strong>Neustart zwingend</strong>. Er kann <strong>ungewöhnlich lange</strong> dauern – teils <strong>bis zu einer Stunde</strong>, bis alle Dienste laufen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Nacharbeiten nach dem CU-Update</h2>



<h3 class="wp-block-heading">Sonderanpassungen prüfen und ggf. erneut setzen</h3>



<p class="wp-block-paragraph"><code>web.config</code>-Anpassungen u. Ä. jetzt <strong>prüfen</strong> und bei Bedarf erneut vornehmen – CUs überschreiben solche Änderungen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Arbeiten nach dem Neustart</h2>



<h3 class="wp-block-heading">1. Dienste &amp; Konfiguration</h3>



<p class="wp-block-paragraph">Exchange-Dienste gestartet und in erwarteter Konfiguration? → Abgleich mit Vorher-Screenshot.</p>



<h3 class="wp-block-heading">2. Komponentenstatus</h3>



<pre class="wp-block-code"><code>Get-ServerComponentState &lt;Servername&gt;
</code></pre>



<p class="wp-block-paragraph">→ Abgleich mit dokumentiertem Zustand.</p>



<h3 class="wp-block-heading">3. Datenbankstatus</h3>



<p class="wp-block-paragraph">Im <strong>EAC → Servers → Databases</strong> prüfen, ob alle Datenbanken eingebunden/bereitgestellt sind. (PowerShell: <code>Get-MailboxDatabaseCopyStatus</code>.)</p>



<h3 class="wp-block-heading">4. Mailflow testen</h3>



<p class="wp-block-paragraph">Test eingehend und ausgehend (z. B. Admin sendet an Techniker, erhält Antwort).</p>



<h3 class="wp-block-heading">5. OWA / Outlook-Zugriff prüfen</h3>



<p class="wp-block-paragraph"><strong>OWA</strong> mit Testnutzer testen, wenn möglich <strong>Outlook-Konnektivität</strong> prüfen.</p>



<h3 class="wp-block-heading">6. Monitoring prüfen</h3>



<p class="wp-block-paragraph">Alles wieder „grün&#8220;? <strong>CPU-Last</strong> direkt nach Neustart erhöht ist normal – nach <strong>30–60 Minuten</strong> sollte sie sich stabilisieren.</p>



<h3 class="wp-block-heading">7. Ereignisprotokolle prüfen</h3>



<p class="wp-block-paragraph"><strong>Anwendungs-/System-Eventlogs</strong> filtern (Kritisch/Fehler/Warnung). Kurz nach dem Neustart sind manche Fehler normal und verschwinden wieder.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Letzte Schritte nach dem CU-Update</h2>



<h3 class="wp-block-heading">Prüfung mit <code>Test-ServiceHealth</code></h3>



<pre class="wp-block-code"><code>Test-ServiceHealth
</code></pre>



<p class="wp-block-paragraph">Alle erforderlichen Dienste sollten „Running&#8220; zeigen.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Microsoft empfiehlt, <strong>nach</strong> dem Update erneut den <strong>Exchange Health Checker</strong> laufen zu lassen, um offene Folgeaktionen zu erkennen.</p>
</blockquote>



<h3 class="wp-block-heading">Reaktivierung des Virenscanners</h3>



<p class="wp-block-paragraph">Falls manuell deaktiviert und nicht automatisch zurück: AV <strong>wieder aktivieren</strong>.</p>



<h3 class="wp-block-heading">Backup fortsetzen</h3>



<p class="wp-block-paragraph">Pausierten Backup-Job <strong>fortsetzen</strong> (Rechtsklick → Fortsetzen).</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Prüfung der erfolgreichen Installation</h2>



<pre class="wp-block-code"><code>Get-ExchangeServer | Select-Object Name, AdminDisplayVersion | Format-Table
</code></pre>



<p class="wp-block-paragraph">Beispielausgabe:</p>



<pre class="wp-block-code"><code>Name    AdminDisplayVersion
----    -------------------
EXCH04  Version 15.1 (Build 2044.4)
EXCH05  Version 15.1 (Build 2176.2)
</code></pre>



<p class="wp-block-paragraph">Die Build-Nummer muss der Zielversion entsprechen (siehe Microsoft Build-Liste).</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Abschluss</h2>



<ul class="wp-block-list">
<li><strong>Information kommunizieren</strong> (intern an Service Owner, extern an Kunde/Ansprechpartner).</li>



<li><strong>Installationsdateien bereinigen</strong> (ISO und extrahierte Dateien löschen, Papierkorb leeren).</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Bonus: Pre-Flight-Skript</h2>



<p class="wp-block-paragraph">Das begleitende PowerShell-Skript <strong><code>PS_Exchange_CU_PreFlight_Check.ps1</code></strong> sammelt den kompletten IST-Zustand (Versionen, Dienste, ComponentState, AD-Schema, FSMO, .NET, Transport Agents, Pending-Reboot) read-only in eine Textdatei – ideal für die Vorher-/Nachher-Dokumentation.</p>



<div class="wp-block-file"><a id="wp-block-file--media-85f8861f-f54a-46bc-8de9-afca60d3e222" href="https://abow.info/wp-content/uploads/2026/06/PS_Exchange_CU_PreFlight_Check.ps1">PS_Exchange_CU_PreFlight_Check</a><a href="https://abow.info/wp-content/uploads/2026/06/PS_Exchange_CU_PreFlight_Check.ps1" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-85f8861f-f54a-46bc-8de9-afca60d3e222">Herunterladen</a></div>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-cu-update-installation-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Exchange // Dynamische Verteilergruppe nach Attributen</title>
		<link>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-dynamische-verteilergruppe-nach-attributen/</link>
					<comments>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-dynamische-verteilergruppe-nach-attributen/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Sat, 31 Jan 2026 21:49:33 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Microsoft Exchange Online]]></category>
		<category><![CDATA[Attribute]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Powershell]]></category>
		<guid isPermaLink="false">https://abow.info/?p=395</guid>

					<description><![CDATA[Wenn du dynamische Verteilergruppen (DDG) basierend auf z.B. Straße und Benutzerstatus erstellen willst, z. B. für gezielte Kommunikation in Gebäuden oder Standorten, kannst du mit einem präzisen RecipientFilter arbeiten.…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wenn du dynamische Verteilergruppen (DDG) basierend auf z.B. <strong>Straße</strong> und <strong>Benutzerstatus</strong> erstellen willst, z. B. für gezielte Kommunikation in Gebäuden oder Standorten, kannst du mit einem präzisen <code>RecipientFilter</code> arbeiten.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Ziel</h2>



<p class="wp-block-paragraph">Erstelle eine dynamische Verteilergruppe, die <strong>nur aktive Benutzer</strong> mit einer bestimmten Adresse (z. B. „Bahnhofsstraße 7“) enthält.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">PowerShell-Befehl</h2>



<pre class="wp-block-code"><code>New-DynamicDistributionGroup `
  -Name "GP_NRW" `
  -OrganizationalUnit "Users" `
  -RecipientContainer "domain.tld" `
  -RecipientFilter {
    (StreetAddress -eq 'Bahnhofsstraße 7') -and
    (RecipientType -eq 'UserMailbox') -and
    (UserAccountControl -ne '514')
  }
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Erklärung der Filterkriterien</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Filterbedingung</th><th>Bedeutung</th></tr></thead><tbody><tr><td><code>StreetAddress -eq '<code>Bahnhofsstraße 7</code>'</code></td><td>Nur Benutzer mit genau dieser Straßenadresse</td></tr><tr><td><code>RecipientType -eq 'UserMailbox'</code></td><td>Filtert nur Benutzer mit einer echten Mailbox</td></tr><tr><td><code>UserAccountControl -ne '514'</code></td><td>Schließt <strong>deaktivierte Benutzerkonten</strong> aus (514 = AccountDisabled)</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Hintergrundwissen: <code>UserAccountControl</code></h2>



<p class="wp-block-paragraph">Im Exchange RecipientFilter ist der Status „deaktiviert“ nicht als boolesches Attribut vorhanden. Stattdessen steht:</p>



<ul class="wp-block-list">
<li><code>514</code> für: deaktiviertes Benutzerkonto</li>



<li><code>512</code> für: aktiviertes Benutzerkonto</li>
</ul>



<p class="wp-block-paragraph">Durch die Negation <code>-ne '514'</code> stellst du sicher, dass <strong>nur aktive Objekte</strong> in der Gruppe landen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Ergebnis</h2>



<p class="wp-block-paragraph">Nach dem Ausführen des Befehls hast du eine dynamische Gruppe <code>GP_NRW</code>, die sich automatisch aktualisiert, sobald Benutzer mit dieser Adresse hinzugefügt oder entfernt werden – <strong>ohne manuelle Pflege</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Bonus: Abfrage testen</h2>



<p class="wp-block-paragraph">Falls du erstmal prüfen willst, <strong>wer</strong> in der Gruppe landen würde, kannst du folgenden Testbefehl nutzen:</p>



<pre class="wp-block-code"><code>Get-Recipient -RecipientPreviewFilter `
  "((StreetAddress -eq 'Bahnhofsstraße 7') -and (RecipientType -eq 'UserMailbox') -and (UserAccountControl -ne '514'))" `
  -OrganizationalUnit "Users" `
  -RecipientContainer "domain.tld"
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Fazit</strong>: Dynamische Gruppen sind ideal für standortbasierte Kommunikation – mit gezieltem Filter sparst du dir manuelle Pflege und erhöhst die Genauigkeit.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-dynamische-verteilergruppe-nach-attributen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Exchange // Mailboxstatistik für einzelne Empfängerdomain auslesen</title>
		<link>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-mailboxstatistik-fuer-einzelne-empfaengerdomain-auslesen/</link>
					<comments>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-mailboxstatistik-fuer-einzelne-empfaengerdomain-auslesen/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Thu, 10 Jul 2025 14:21:42 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2016]]></category>
		<category><![CDATA[Exchange 2019]]></category>
		<category><![CDATA[Mailboxstatistik]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Skript]]></category>
		<guid isPermaLink="false">https://abow.info/?p=390</guid>

					<description><![CDATA[Wenn du in einer Exchange-Umgebung wissen möchtest, wie viel Speicherplatz und wie viele Elemente Mailboxen einer bestimmten Domain belegen, hilft folgender PowerShell-Befehl. Besonders nützlich bei Multi-Domain-Setups oder bei…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wenn du in einer Exchange-Umgebung wissen möchtest, wie viel Speicherplatz und wie viele Elemente <strong>Mailboxen einer bestimmten Domain</strong> belegen, hilft folgender PowerShell-Befehl. Besonders nützlich bei Multi-Domain-Setups oder bei Migrations-/Kostenanalysen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Ziel</h2>



<p class="wp-block-paragraph">Exportiere eine Übersicht aller Mailboxen mit einer bestimmten Empfängerdomain (z. B. <code>@domain.tld</code>) inklusive <strong>Elementanzahl</strong>, <strong>Gesamtgröße</strong> und <strong>Anzeigename</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">PowerShell-Befehl</h2>



<pre class="wp-block-code"><code>get-mailbox -ResultSize Unlimited |
  where { $_.PrimarySMTPAddress -like "*@domain.tld" } |
  get-mailboxstatistics |
  select DisplayName,ItemCount,TotalItemSize |
  Export-Csv -Path "C:\temp\Mailboxstatistik.csv" -NoTypeInformation -Encoding UTF8
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Erläuterung</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Befehlsteil</th><th>Erklärung</th></tr></thead><tbody><tr><td><code>get-mailbox -ResultSize Unlimited</code></td><td>Holt alle Mailboxen im System</td></tr><tr><td><code>where { $_.PrimarySMTPAddress -like "*@domain.tld" }</code></td><td>Filtert Mailboxen mit Ziel-Domain</td></tr><tr><td><code>get-mailboxstatistics</code></td><td>Holt Statistiken wie ItemCount und Größe</td></tr><tr><td><code>select DisplayName, ItemCount, TotalItemSize</code></td><td>Auswahl der relevanten Daten</td></tr><tr><td><code>Export-Csv</code></td><td>Exportiert das Ergebnis als CSV-Datei</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Ergebnis</h2>



<p class="wp-block-paragraph">Die CSV-Datei <code>C:\temp\Mailboxstatistik.csv</code> enthält eine saubere Tabelle mit:</p>



<ul class="wp-block-list">
<li><strong>DisplayName</strong> (Anzeigename der Mailbox)</li>



<li><strong>ItemCount</strong> (Anzahl der Elemente)</li>



<li><strong>TotalItemSize</strong> (Gesamtgröße der Mailbox)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Bonus: Nur Nutzer anzeigen, keine Shared/Room-Mailboxen</h2>



<p class="wp-block-paragraph">Wenn du <strong>nur Benutzer-Mailboxen</strong> (keine Ressourcen oder freigegebene) erfassen willst, kannst du den Filter anpassen:</p>



<pre class="wp-block-code"><code>get-mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox |
  where { $_.PrimarySMTPAddress -like "*@domain.tld" } |
  get-mailboxstatistics |
  select DisplayName,ItemCount,TotalItemSize |
  Export-Csv -Path "C:\temp\Mailboxstatistik.csv" -NoTypeInformation -Encoding UTF8
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Fazit</strong>: Mit nur wenigen Zeilen PowerShell bekommst du schnell und zuverlässig einen Überblick über Mailboxnutzung pro Domain – ideal für Analyse, Migration oder Lizenzbewertung.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-mailboxstatistik-fuer-einzelne-empfaengerdomain-auslesen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Exchange // Message Tracking in OnPrem und Exchange Online</title>
		<link>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-message-tracking-in-onprem-und-exchange-online/</link>
					<comments>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-message-tracking-in-onprem-und-exchange-online/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Wed, 09 Jul 2025 14:37:34 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Microsoft Exchange Online]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2016]]></category>
		<category><![CDATA[Exchange 2019]]></category>
		<category><![CDATA[Exchange Online]]></category>
		<category><![CDATA[Exchange SE]]></category>
		<category><![CDATA[Message Tracking]]></category>
		<category><![CDATA[Powershell]]></category>
		<guid isPermaLink="false">https://abow.info/?p=397</guid>

					<description><![CDATA[In diesem Beitrag zeige ich anhand einer Testmail mit dem Betreff &#8222;Neuer Server&#8220; den Mailfluss und die Protokollierung via PowerShell – sowohl für Exchange OnPrem als auch Exchange…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>In diesem Beitrag zeige ich anhand einer Testmail mit dem Betreff <em>&#8222;Neuer Server&#8220;</em> den Mailfluss und die Protokollierung via PowerShell – sowohl für Exchange OnPrem als auch Exchange Online.</strong></p>



<p class="wp-block-paragraph">Der Nachrichtenfluss dieser Testmail läuft wie folgt:</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e9.png" alt="📩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Extern → Hornetsecurity → Exchange OnPrem → Exchange Online</strong></p>



<p class="wp-block-paragraph">Das bedeutet: Die Nachricht lässt sich in <strong>beiden Umgebungen nachvollziehen</strong>. Dieser Artikel behandelt exemplarisch das Message Tracking einer E-Mail vom <strong>Absender <code>abow@domain.tld</code></strong> mit Startdatum <strong>21.01.2026</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Teil 1: Exchange OnPrem</h2>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Befehl:</h3>



<pre class="wp-block-code"><code>Get-MessageTrackingLog -Sender "abow@domain.tld" -Start "01/21/2026" | Select * | Out-GridView
</code></pre>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Erklärung:</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Parameter</th><th>Bedeutung</th></tr></thead><tbody><tr><td><code>Get-MessageTrackingLog</code></td><td>Startet die Suche im lokalen Exchange-Tracking-Log</td></tr><tr><td><code>-Sender</code></td><td>Filtert nach dem Absender</td></tr><tr><td><code>-Start</code></td><td>Startdatum im Format MM/DD/YYYY (optional mit Uhrzeit)</td></tr><tr><td>`</td><td>Select *`</td></tr><tr><td>`</td><td>Out-GridView`</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Nützliche Felder:</h3>



<ul class="wp-block-list">
<li><code>EventId</code>: z. B. <code>RECEIVE</code>, <code>SEND</code>, <code>DELIVER</code>, <code>SENDEXTERNAL</code>, <code>AGENTINFO</code></li>



<li><code>MessageSubject</code>: Titel der E-Mail</li>



<li><code>Source</code>: Ursprung des Events, z. B. <code>STOREDRIVER</code>, <code>SMTP</code>, <code>PUBLICFOLDER</code></li>



<li><code>Recipients</code>: Liste der Empfänger</li>
</ul>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4d6.png" alt="📖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Weitere Infos: <a href="https://docs.microsoft.com/en-us/powershell/module/exchange/get-messagetrackinglog?view=exchange-ps">Microsoft-Dokumentation zum Cmdlet</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2601.png" alt="☁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Teil 2: Exchange Online (Microsoft 365)</h2>



<p class="wp-block-paragraph">Seit etwa 2020 ist das klassische <code>MessageTrackingLog</code> in <strong>Exchange Online</strong> <strong>nicht mehr verfügbar</strong>. Stattdessen gibt es:</p>



<ul class="wp-block-list">
<li><code>Get-MessageTrace</code> – Überblick über Nachrichtentransport</li>



<li><code>Get-MessageTraceDetail</code> – Detailinformationen</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Beispiel 1: <strong>Get-MessageTrace</strong></h3>



<pre class="wp-block-code"><code>Get-MessageTrace `
  -SenderAddress "abow@domain.tld" `
  -StartDate "01/21/2026" `
  -EndDate "01/22/2026" |
  Select *
</code></pre>



<p class="wp-block-paragraph"><strong>Wichtig</strong>: Das Enddatum muss <strong>einen Tag später</strong> gesetzt werden, da Exchange Online tagesweise auswertet.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4d6.png" alt="📖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Doku: <a href="https://docs.microsoft.com/en-us/powershell/module/exchange/get-messagetrace?view=exchange-ps">Get-MessageTrace (Microsoft)</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f52c.png" alt="🔬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Beispiel 2: <strong>Get-MessageTraceDetail</strong></h3>



<p class="wp-block-paragraph">Variante A: Per Pipeline direkt aus dem vorherigen Befehl:</p>



<pre class="wp-block-code"><code>Get-MessageTrace `
  -SenderAddress "abow@domain.tld" `
  -StartDate "01/21/2026" `
  -EndDate "01/22/2026" |
Get-MessageTraceDetail |
Select *
</code></pre>



<p class="wp-block-paragraph">Variante B: Manuell mit <code>MessageTraceId</code> und Empfängeradresse:</p>



<pre class="wp-block-code"><code>Get-MessageTraceDetail `
  -MessageTraceId "GUID" `
  -RecipientAddress "abow@domain.tld"
</code></pre>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Hinweis</h3>



<p class="wp-block-paragraph">Ein Nachteil von <code>Get-MessageTraceDetail</code>: <strong>Die Umwandlung zwischen onmicrosoft-Adresse und primärer SMTP-Adresse wird nicht sauber dargestellt</strong> – Probleme bei der Adressauflösung bleiben also u. U. unentdeckt.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4d6.png" alt="📖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Doku: <a href="https://docs.microsoft.com/en-us/powershell/module/exchange/get-messagetracedetail?view=exchange-ps">Get-MessageTraceDetail (Microsoft)</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Fazit</h2>



<ul class="wp-block-list">
<li><strong>Exchange OnPrem</strong> bietet detailliertes, lokales Tracking per <code>Get-MessageTrackingLog</code></li>



<li><strong>Exchange Online</strong> nutzt <code>Get-MessageTrace</code> und <code>Get-MessageTraceDetail</code> – weniger granular, aber ausreichend für Standardanalysen</li>



<li>Für <strong>Hybrid-Umgebungen</strong> (z. B. mit Hornetsecurity oder zentralem Mailflow) muss <strong>beide Seiten</strong> geprüft werden</li>



<li>Nutze <strong>GUI-Ausgaben (<code>Out-GridView</code>)</strong>, wenn du schnell manuell analysieren willst</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-message-tracking-in-onprem-und-exchange-online/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Exchange // WMSVC-Zertifikat läuft ab!</title>
		<link>https://abow.info/microsoft/microsoft_exchange/exchange-wmsvc-zertifikat-laeuft-ab/</link>
					<comments>https://abow.info/microsoft/microsoft_exchange/exchange-wmsvc-zertifikat-laeuft-ab/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Thu, 13 Feb 2025 08:10:21 +0000</pubDate>
				<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[WMSVC]]></category>
		<category><![CDATA[Zertifikat]]></category>
		<guid isPermaLink="false">https://abow.info/?p=364</guid>

					<description><![CDATA[Das WMSVC-Zertifikat (Web Management Service Certificate) ist ein selbstsigniertes Zertifikat, das vom Webverwaltungsdienst (WMSVC) in den Internet Information Services (IIS) verwendet wird, um die Remoteverwaltung des Webservers zu…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Das <strong>WMSVC-Zertifikat</strong> (Web Management Service Certificate) ist ein selbstsigniertes Zertifikat, das vom Webverwaltungsdienst (WMSVC) in den Internet Information Services (IIS) verwendet wird, um die Remoteverwaltung des Webservers zu ermöglichen. Wenn dieses Zertifikat abläuft oder fehlt, kann der Webverwaltungsdienst nicht gestartet werden, was die Remoteverwaltung des IIS beeinträchtigt.</p>



<p class="wp-block-paragraph">Moin Leute,<br><br>selten aber dennoch kommt es mal vor einen viel zu lang betriebenen Exchange Server vorzufinden.<br>In meinem Fall handelt es sich um einen Exchange Server <strong>2013 </strong>im Jahre <strong>2025</strong>. Der Support ist schon lange hinfällig und das <strong>WMSVC</strong>-Zertifikat, welches eigentlich eine sehr lange Gültigkeitsdauer besitzt, ist daher jetzt kurz vor dem ablaufen.<br><br>Normalerweise muss man dieses Zertifikat <strong>nie anfassen</strong>, jetzt wird es aber doch Zeit dafür.. <br>Die Migration auf Exchange 2019 steht übrigens zeitnah an. Egal.<br><br>Was würde es bedeuten, wenn das Zertifikat einfach abläuft? Haben wir dann Probleme?<br>Definitiv <strong>JA</strong>, das Zertifkat ist essentiell für den &#8222;<strong>Web Management Service</strong>&#8222;-Service!<br><br></p>



<h3 class="wp-block-heading">Aufgabe des Web Management Service (WMS)</h3>



<p class="wp-block-paragraph">Der <strong>Web Management Service</strong> ermöglicht Remote- und lokale Verwaltung von IIS-Servern und deren Websites. Er wird benötigt für:</p>



<ul class="wp-block-list">
<li><strong>Remote-Verwaltung von IIS:</strong> Über den Web Management Service können Administratoren IIS und damit auch Exchange-bezogene virtuelle Verzeichnisse (z. B. OWA, EWS, Autodiscover) remote konfigurieren.</li>



<li><strong>Konfigurationsänderungen:</strong> Der Dienst ermöglicht die Synchronisierung und Verwaltung von Konfigurationen in IIS.</li>



<li><strong>Integration mit Exchange:</strong> Exchange setzt auf IIS für die Bereitstellung seiner Webdienste (z. B. Outlook on the Web, Exchange Web Services), sodass der Web Management Service häufig benötigt wird, um Änderungen oder Diagnosen durchzuführen.</li>
</ul>



<h3 class="wp-block-heading">Warum muss der Web Management Service laufen?</h3>



<p class="wp-block-paragraph">Auf einem Exchange-Server wird der Web Management Service benötigt, wenn:</p>



<ol class="wp-block-list">
<li><strong>IIS-Funktionen verwendet werden:</strong> Die Webschnittstellen von Exchange (wie OWA oder ECP) hängen von korrekt konfigurierten virtuellen Verzeichnissen in IIS ab.</li>



<li><strong>Remote-Verwaltung erforderlich ist:</strong> Falls ein Administrator den Server remote verwalten möchte, ist dieser Dienst entscheidend.</li>



<li><strong>Zertifikatsverwaltung oder andere Webserver-bezogene Aufgaben durchgeführt werden:</strong> Viele dieser Aufgaben greifen auf den Web Management Service zurück.</li>
</ol>



<h3 class="wp-block-heading">Was passiert, wenn der Web Management Service nicht läuft?</h3>



<ol class="wp-block-list">
<li><strong>Verlust der Remote-Verwaltung:</strong> Administratoren können IIS nicht mehr remote verwalten, was Diagnosen und Änderungen erschwert.</li>



<li><strong>Probleme mit IIS und Exchange-Webdiensten:</strong> Änderungen an IIS (z. B. für Autodiscover, OWA, ECP) können nicht korrekt durchgeführt werden. Manche Exchange-Funktionen, die auf IIS beruhen, könnten ebenfalls beeinträchtigt sein.</li>



<li><strong>Eingeschränkte Verwaltungstools:</strong> Tools, die auf den Web Management Service zugreifen, können nicht verwendet werden.</li>
</ol>



<p class="wp-block-paragraph"><br></p>



<p class="wp-block-paragraph" style="font-size:36px"><br><strong>Wie tauscht oder verlängert man das Zertifikat?</strong></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>1. Neues WMSVC-Zertifikat erstellen</strong></p>



<ul class="wp-block-list">
<li><strong>Exchange Management Shell öffnen:</strong> Starten Sie die Exchange Management Shell mit Administratorrechten.</li>



<li><strong>Neues Zertifikat erstellen:</strong> Führen Sie den folgenden Befehl aus, wobei Sie <code>&lt;ServerName&gt;</code> durch den Hostnamen Ihres Exchange-Servers ersetzen: <code>New-ExchangeCertificate -SubjectName "CN=WMSvc-&lt;ServerName&gt;" -FriendlyName "WMSVC" -Services None -KeySize 2048 -PrivateKeyExportable $true</code> Dieser Befehl erstellt ein neues selbstsigniertes Zertifikat mit dem Namen &#8222;WMSVC&#8220;.</li>
</ul>



<p class="wp-block-paragraph"><strong>2. Neues Zertifikat in den Zertifikatsspeicher &#8222;Vertrauenswürdige Stammzertifizierungsstellen&#8220; kopieren</strong></p>



<ul class="wp-block-list">
<li><strong>Microsoft Management Console (MMC) öffnen:</strong> Drücken Sie <code>Win + R</code>, geben Sie <code>mmc</code> ein und drücken Sie <code>Enter</code>.</li>



<li><strong>Zertifikate-Snap-In hinzufügen:</strong>
<ul class="wp-block-list">
<li>Gehen Sie zu <code>Datei</code> &gt; <code>Snap-In hinzufügen/entfernen</code>.</li>



<li>Wählen Sie <code>Zertifikate</code> und klicken Sie auf <code>Hinzufügen</code>.</li>



<li>Wählen Sie <code>Computerkonto</code> und klicken Sie auf <code>Weiter</code>, dann auf <code>Fertig stellen</code>.</li>
</ul>
</li>



<li><strong>Zertifikat kopieren:</strong>
<ul class="wp-block-list">
<li>Navigieren Sie zu <code>Zertifikate (Lokaler Computer)</code> &gt; <code>Persönlich</code> &gt; <code>Zertifikate</code>.</li>



<li>Suchen Sie das neu erstellte WMSVC-Zertifikat, klicken Sie mit der rechten Maustaste darauf und wählen Sie <code>Kopieren</code>.</li>
</ul>
</li>



<li><strong>Zertifikat einfügen:</strong>
<ul class="wp-block-list">
<li>Navigieren Sie zu <code>Zertifikate (Lokaler Computer)</code> &gt; <code>Vertrauenswürdige Stammzertifizierungsstellen</code> &gt; <code>Zertifikate</code>.</li>



<li>Klicken Sie mit der rechten Maustaste in den rechten Bereich und wählen Sie <code>Einfügen</code>.</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph"><strong>3. Altes WMSVC-Zertifikat entfernen</strong></p>



<ul class="wp-block-list">
<li><strong>Altes Zertifikat löschen:</strong>
<ul class="wp-block-list">
<li>In der MMC unter <code>Persönlich</code> &gt; <code>Zertifikate</code> das alte WMSVC-Zertifikat suchen.</li>



<li>Mit der rechten Maustaste darauf klicken und <code>Löschen</code> wählen.</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph"><strong>4. Neues Zertifikat dem Webverwaltungsdienst zuweisen</strong></p>



<ul class="wp-block-list">
<li><strong>IIS-Manager öffnen:</strong> Starten Sie den Internetinformationsdienste (IIS)-Manager.</li>



<li><strong>Management Service konfigurieren:</strong>
<ul class="wp-block-list">
<li>Wählen Sie den Serverknoten in der linken Baumstruktur.</li>



<li>Doppelklicken Sie im mittleren Bereich auf <code>Verwaltungsdienst</code>.</li>



<li>Unter <code>SSL-Zertifikat</code> das neu erstellte WMSVC-Zertifikat auswählen.</li>



<li>Klicken Sie auf <code>Übernehmen</code>.</li>
</ul>
</li>



<li><strong>Webverwaltungsdienst starten:</strong>
<ul class="wp-block-list">
<li>Gehen Sie zu <code>Dienste</code> (<code>services.msc</code>).</li>



<li>Suchen Sie den <code>Webverwaltungsdienst</code>, klicken Sie mit der rechten Maustaste darauf und wählen Sie <code>Starten</code>.</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph"><strong>Hinweis:</strong> Stellen Sie sicher, dass das neue Zertifikat korrekt zugewiesen ist und der Webverwaltungsdienst ordnungsgemäß funktioniert. Es ist ratsam, regelmäßige Überprüfungen der Zertifikatsgültigkeit durchzuführen, um einen unterbrechungsfreien Betrieb zu gewährleisten.</p>



<p class="wp-block-paragraph"><em>Wie immer berichte ich in diesem Artikel nur von meinen persönlichen Erfahrungen und Erkenntnissen.<br>Es handelt sich hierbei um keine offizielle Anleitung von Microsoft.<br>Ein nachhandeln geschieht auf eigene Gefahr. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft_exchange/exchange-wmsvc-zertifikat-laeuft-ab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Exchange // CVE-2024-21410</title>
		<link>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-cve-2024-21410/</link>
					<comments>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-cve-2024-21410/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Fri, 01 Mar 2024 21:20:50 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[CVE-2024-21410]]></category>
		<category><![CDATA[EPA]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2016]]></category>
		<category><![CDATA[Exchange 2019]]></category>
		<category><![CDATA[Extended Protection]]></category>
		<category><![CDATA[Security Update]]></category>
		<guid isPermaLink="false">https://abow.info/?p=356</guid>

					<description><![CDATA[Nach ca. 2 Wochen haben ich einige Erfahrungen sammeln können, was das schließen der CVE-2024-21410 anbelangt.Ich kann nur sagen, es war von Vorteil, dass ich mir das Thema…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Nach ca. 2 Wochen haben ich einige Erfahrungen sammeln können, was das schließen der CVE-2024-21410 anbelangt.<br>Ich kann nur sagen, es war von Vorteil, dass ich mir das Thema Extended Protection damals im Februar 2023 bereits schon einmal angesehen habe.  <a href="https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-extended-protection-vorbereitende-massnahmen/">&#8211; Artikel dazu hier &#8211;</a><br>Daher konnte ich direkt mit dem prüfen der Kundenumgebungen beginnen. Folgendes ist mir dabei aufgefallen:</p>



<p class="wp-block-paragraph">Viele Umgebungen haben unterschiedliche Zertifikate zwischen intern (Default Web Site) und extern am Netscaler/WAP oder Firewall. Hier musste ich einige Schritte gehen um passende öffentliche Zertifikate für eine valide Zertifikatskette nach intern zu kaufen/erzeugen und zu binden.<br>NTLMv1 war zum Glück gar kein Thema mehr.</p>



<p class="wp-block-paragraph">Bitte konfiguriert eure Exchange Server/Umgebungen immer mit gleichen URLs (intern = extern) für alle virtuellen Verzeichnisse, das hätte es mir auf jeden Fall einfacher gemacht.<br>Hybrid-Konfigurationen sind auch kein Thema gewesen, da ich immer die Classic-Variante eingerichtet habe.<br>Hier und da musste ich noch das SSL-Abladen am Outlook-Anywhere deaktivieren aber das war es dann auch schon.<br><br>Ihr hoffe ihr habt eure Umgebungen gut im Griff. <br><br>Bei Fragen, fragen! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><em>Wie immer berichte ich in diesem Artikel nur von meinen persönlichen Erfahrungen und Erkenntnissen.<br>Es handelt sich hierbei um keine offizielle Anleitung von Microsoft.<br>Ein nachhandeln geschieht auf eigene Gefahr. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></em><br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-cve-2024-21410/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Powershell // Grundlagen</title>
		<link>https://abow.info/microsoft/microsoft-powershell-grundlagen/</link>
					<comments>https://abow.info/microsoft/microsoft-powershell-grundlagen/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Wed, 08 Mar 2023 12:16:59 +0000</pubDate>
				<category><![CDATA[Ausbildung Fachinformatiker]]></category>
		<category><![CDATA[Grundlagen]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Powershell]]></category>
		<category><![CDATA[Systemintegration]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Netzwerkverwaltung]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Skripte]]></category>
		<guid isPermaLink="false">https://abow.info/?p=302</guid>

					<description><![CDATA[Erfahren Sie in diesem Beitrag mehr über die Möglichkeiten und Vorteile von Microsoft PowerShell im Exchange-Umfeld. Wir geben Ihnen Einblicke in die Erstellung und Ausführung von PowerShell-Skripten und liefern Ihnen Beispiele für nützliche Skripte in der Netzwerkverwaltung und Automatisierung.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Microsoft PowerShell ist eine leistungsstarke Befehlszeilen-Schnittstelle und Skriptsprache für Windows-basierte Betriebssysteme. Es wurde erstmals im Jahr 2006 veröffentlicht und hat sich seitdem zu einem unverzichtbaren Tool für Systemadministratoren und Entwickler entwickelt. Mit PowerShell können Benutzer verschiedene Aufgaben automatisieren und Verwaltungsaufgaben auf Windows-Systemen effizienter erledigen.</p>



<p class="wp-block-paragraph">In diesem Blogbeitrag werden wir uns näher mit Microsoft PowerShell befassen und seine wichtigsten Funktionen, Vorteile und Anwendungen untersuchen. Wir werden auch einen Einblick in die Skripterstellung und -ausführung mit PowerShell geben und einige Beispiele für die Verwendung von PowerShell in verschiedenen Szenarien diskutieren.</p>



<p class="wp-block-paragraph">Grundsätzlich ist die Powershell für administrative Arbeiten immer als <strong>Administrator </strong>zu <strong>starten</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="has-medium-font-size wp-block-paragraph"><strong>Microsoft PowerShell: Die Funktionen, die Systemadministratoren lieben werden</strong></p>



<p class="wp-block-paragraph"></p>



<ol class="wp-block-list">
<li><strong>Automatisierung von Aufgaben</strong></li>
</ol>



<p class="wp-block-paragraph">Eines der wichtigsten Merkmale von PowerShell ist die Fähigkeit, Aufgaben zu automatisieren. Mit PowerShell können Systemadministratoren Prozesse automatisch durchführen lassen, wie z.B. das Erstellen von Benutzerkonten, das Verwalten von Netzwerkeinstellungen oder das Installieren von Software auf mehreren Systemen gleichzeitig. Hier ist ein Beispiel dafür, wie PowerShell bei der Erstellung von Benutzerkonten helfen kann:</p>



<pre class="wp-block-code"><code># Benutzerkonto erstellen
New-LocalUser -Name "MaxMustermann" -Description "Standardbenutzer" -Password (ConvertTo-SecureString "password123" -AsPlainText -Force)

# Benutzer zu einer Gruppe hinzufügen
Add-LocalGroupMember -Group "Administratoren" -Member "MaxMustermann"</code></pre>



<p class="wp-block-paragraph">In diesem Beispiel wird ein neues lokales Benutzerkonto namens &#8222;MaxMustermann&#8220; erstellt und dem Administratoren-Gruppe hinzugefügt. Dieser Prozess kann automatisiert werden, um Zeit zu sparen und Fehler zu reduzieren.</p>



<p class="wp-block-paragraph"></p>



<ol class="wp-block-list" start="2">
<li><strong>Verwaltung von Systemkonfigurationen</strong></li>
</ol>



<p class="wp-block-paragraph">Du kannst PowerShell auch viele Funktionen zur Verwaltung von Systemkonfigurationen nutzen. Mit PowerShell ist es möglich, Informationen über Systemkonfigurationen abzurufen, diese zu ändern oder zu überwachen. Ein Beispiel dafür, wie PowerShell bei der Überwachung von Systemereignissen helfen kann, ist:</p>



<pre class="wp-block-code"><code># Ereignisprotokolle abrufen
Get-EventLog -LogName Application -EntryType Error

# Ereignisse filtern
Get-EventLog -LogName Application -InstanceId 1000

# Ereignisse in Echtzeit überwachen
Get-EventLog -LogName System -Newest 10 -Wait</code></pre>



<p class="wp-block-paragraph">In diesem Beispiel rufst du das Anwendungsereignisprotokoll ab und filterst nach Fehlern (EntryType Error). Du kannst auch nach bestimmten Ereignis-IDs suchen oder Ereignisse in Echtzeit überwachen, um Probleme auf deinem System schnell zu erkennen.</p>



<ol class="wp-block-list" start="3">
<li><strong>Verwaltung von Netzwerkeinstellungen</strong></li>
</ol>



<p class="wp-block-paragraph">Du kannst PowerShell auch bei der Verwaltung von Netzwerkeinstellungen nutzen. Mit PowerShell ist es möglich, Netzwerkadapter, IP-Adressen, DNS-Server und vieles mehr zu konfigurieren und zu überwachen. Hier ist ein Beispiel dafür, wie PowerShell bei der Konfiguration von Netzwerkadaptern helfen kann:</p>



<pre class="wp-block-code"><code># Netzwerkadapter abrufen
Get-NetAdapter

# Netzwerkkonfiguration abrufen
Get-NetIPConfiguration

# IP-Adresse konfigurieren
New-NetIPAddress -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1

# DNS-Serveradresse hinzufügen
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ("192.168.1.10","192.168.1.11")
</code></pre>



<p class="wp-block-paragraph">In diesem Beispiel wird eine neue IP-Adresse für das System konfiguriert und DNS-Serveradressen hinzugefügt.</p>



<p class="wp-block-paragraph">PowerShell kann auch verwendet werden, um Netzwerkverbindungen zu überwachen und Netzwerkdiagnosen durchzuführen. Hier ist ein Beispiel dafür, wie PowerShell bei der Überwachung von Netzwerkverbindungen helfen kann:</p>



<pre class="wp-block-code"><code># Netzwerkverbindungen anzeigen
Get-NetTCPConnection

# Netzwerkdiagnose durchführen
Test-NetConnection -ComputerName google.com -Port 80
</code></pre>



<p class="wp-block-paragraph">In diesem Beispiel werden alle aktiven TCP-Verbindungen auf dem System angezeigt und eine Netzwerkdiagnose für die Verbindung zu Google.com auf Port 80 durchgeführt.</p>



<p class="wp-block-paragraph">Die Verwaltung von Netzwerkeinstellungen ist eine wichtige Aufgabe für Systemadministratoren, da sie die Netzwerkverbindung und den Zugriff auf Ressourcen auf dem System beeinflussen. PowerShell bietet eine leistungsstarke Möglichkeit, diese Einstellungen zu konfigurieren, zu überwachen und zu diagnostizieren.</p>



<ol class="wp-block-list" start="4">
<li><strong>Verwaltung von Dateien und Ordnern</strong></li>
</ol>



<p class="wp-block-paragraph">PowerShell bietet auch viele Funktionen zur Verwaltung von Dateien und Ordnern. Du kannst PowerShell verwenden, um Dateien und Ordner zu erstellen, zu kopieren, zu löschen, umzubenennen und vieles mehr. Hier ist ein Beispiel dafür, wie PowerShell beim Kopieren von Dateien helfen kann:</p>



<pre class="wp-block-preformatted"><code># Datei von einem Ort zum anderen kopieren
Copy-Item -Path C:\Users\MaxMustermann\Documents\example.txt -Destination C:\Users\MaxMustermann\Desktop

# Mehrere Dateien kopieren
Copy-Item -Path C:\Users\MaxMustermann\Documents\*.txt -Destination C:\Users\MaxMustermann\Desktop
</code></pre>



<p class="wp-block-paragraph">In diesem Beispiel wird eine Datei von einem Ort zum anderen kopiert. Du kannst auch mehrere Dateien auf einmal kopieren, um Zeit zu sparen und Fehler zu reduzieren.</p>



<p class="has-vivid-red-color has-text-color wp-block-paragraph"><strong>WICHTIG:</strong> Sollten im Pfad Leerzeichen vorhanden sein, muss der Pfad in &#8222;&#8220; gesetzt werden.</p>



<ol class="wp-block-list" start="5">
<li><strong>Integration mit anderen Tools</strong></li>
</ol>



<p class="wp-block-paragraph">PowerShell kann auch nahtlos mit anderen Tools und Systemen integriert werden. Du kannst PowerShell-Skripte in andere Programme einbinden oder PowerShell verwenden, um Informationen von anderen Tools zu erhalten. Hier ist ein Beispiel dafür, wie PowerShell mit Active Directory integriert werden kann (Module evtl. notwendig):</p>



<pre class="wp-block-preformatted"><code># Benutzer aus Active Directory abrufen
Get-ADUser -Filter * -Properties *

# Neue Benutzergruppe erstellen
New-ADGroup -Name "IT-Abteilung" -GroupScope Global -Path "CN=Users,DC=example,DC=com"
</code></pre>



<p class="wp-block-paragraph">In diesem Beispiel wird Active Directory verwendet, um Benutzer und Benutzergruppen zu verwalten. PowerShell kann auch mit anderen Tools wie SQL Server, Exchange Server und SharePoint integriert werden.</p>



<p class="wp-block-paragraph">   6. <strong>Neue Module installieren/importieren</strong></p>



<p class="wp-block-paragraph">Um neue <strong>Cmdlets </strong>in PowerShell zu importieren, musst du zuerst das entsprechende <strong>PowerShell-Modul</strong> installieren, das diese Cmdlets enthält. Ein PowerShell-Modul ist eine Sammlung von Cmdlets, Funktionen, Variablen und anderen Ressourcen, die in PowerShell wiederverwendet werden können.</p>



<p class="wp-block-paragraph">Es gibt verschiedene Möglichkeiten, PowerShell-Module zu installieren. Eine Möglichkeit besteht darin, das Modul manuell von einer Website oder einem Netzwerkfreigabe herunterzuladen und zu installieren. Eine andere Möglichkeit besteht darin, das Modul direkt aus dem <strong>PowerShell Gallery-Repository</strong> zu installieren, das eine Sammlung von PowerShell-Modulen und Skripten bereitstellt.</p>



<p class="wp-block-paragraph">Hier sind einige Beispiele, wie Sie PowerShell-Module installieren und importieren können:</p>



<ol class="wp-block-list">
<li><strong>PowerShell Gallery-Modul installieren und importieren:</strong></li>
</ol>



<ul class="wp-block-list">
<li>Öffnen PowerShell als Administrator.</li>



<li>Gebe den Befehl &#8222;Install-Module &lt;Modulname>&#8220; ein, um das Modul aus der PowerShell Gallery zu installieren. Zum Beispiel: &#8222;Install-Module ActiveDirectory&#8220;.</li>



<li>Gebe den Befehl &#8222;Import-Module &lt;Modulname>&#8220; ein, um das Modul zu importieren und die darin enthaltenen Cmdlets und Funktionen zu aktivieren. Zum Beispiel: &#8222;Import-Module ActiveDirectory&#8220;.</li>
</ul>



<ol class="wp-block-list" start="2">
<li><strong>Lokales PowerShell-Modul installieren und importieren:</strong></li>
</ol>



<ul class="wp-block-list">
<li>Lade das Modul von der Website oder der Netzwerkfreigabe herunter und speichere es in einem Verzeichnis auf deinem Computer.</li>



<li>Öffnen PowerShell als Administrator.</li>



<li>Gebe den Befehl &#8222;Import-Module &lt;Pfad zum Modulverzeichnis>&#8220; ein, um das Modul zu importieren und die darin enthaltenen Cmdlets und Funktionen zu aktivieren. Zum Beispiel: &#8222;Import-Module C:\Modules\MyModule&#8220;.</li>
</ul>



<ol class="wp-block-list" start="3">
<li><strong>PowerShell-Modul in einer PowerShell-Sitzung installieren und importieren:</strong></li>
</ol>



<ul class="wp-block-list">
<li>Gebe den Befehl &#8222;Install-Module &lt;Modulname>&#8220; ein, um das Modul aus der PowerShell Gallery zu installieren. Zum Beispiel: &#8222;Install-Module ActiveDirectory&#8220;.</li>



<li>Gebe den Befehl &#8222;Import-Module &lt;Modulname> -Force&#8220; ein, um das Modul zu importieren und die darin enthaltenen Cmdlets und Funktionen zu aktivieren. Der Parameter &#8222;-Force&#8220; sorgt dafür, dass das Modul sofort importiert wird. Zum Beispiel: &#8222;Import-Module ActiveDirectory -Force&#8220;.</li>
</ul>



<p class="wp-block-paragraph">Sobald du das PowerShell-Modul erfolgreich installiert und importiert hast, kannst du die darin enthaltenen Cmdlets und Funktionen verwenden, um Verwaltungsaufgaben auszuführen. Zum Beispiel kannst du das &#8222;ActiveDirectory&#8220;-Modul verwenden, um Benutzer- und Gruppenkonten im Active Directory zu verwalten. Ein Beispiel für die Verwendung des &#8222;Get-ADUser&#8220;-Cmdlets aus dem &#8222;ActiveDirectory&#8220;-Modul wäre:</p>



<pre class="wp-block-preformatted"><code># Benutzerkonto im Active Directory abfragen
Get-ADUser -Identity john.doe -Properties DisplayName, EmailAddress
</code></pre>



<p class="wp-block-paragraph">Dieser Befehl ruft Informationen über das Benutzerkonto &#8222;john.doe&#8220; ab, einschließlich des Anzeigenamens und der E-Mail-Adresse, die im Active Directory gespeichert sind.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="has-medium-font-size wp-block-paragraph"><strong>Vorteile von Microsoft PowerShell:</strong> </p>



<p class="wp-block-paragraph">Microsoft PowerShell bietet eine Vielzahl von Vorteilen gegenüber anderen Befehlszeilen-Schnittstellen. Hier sind einige der wichtigsten Vorteile:</p>



<ol class="wp-block-list">
<li><strong>Automatisierung</strong> und <strong>Effizienz</strong>: PowerShell ermöglicht es, wiederkehrende Verwaltungsaufgaben zu automatisieren und dadurch Zeit und Aufwand zu sparen. Durch die Verwendung von Cmdlets kannst du komplexe Aufgaben in kurzer Zeit erledigen, da mehrere Schritte in einem Befehl ausgeführt werden können.</li>



<li><strong>Umfangreiche Skriptsprache</strong>: PowerShell verfügt über eine umfangreiche Skriptsprache, die es ermöglicht, komplexe Aufgaben zu automatisieren. Mit PowerShell kannst du Funktionen, Schleifen, Bedingungen und andere Kontrollstrukturen erstellen, um Skripts zu schreiben, die mehrere Aufgaben ausführen können.</li>



<li><strong>Remote-Verwaltung</strong>: PowerShell ermöglicht die Verwaltung von entfernten Systemen über eine einzige Schnittstelle. Du kannst PowerShell-Cmdlets verwenden, um Remote-Verbindungen zu öffnen, Dateien und Ordner zu kopieren, Dienste zu starten und zu stoppen und vieles mehr.</li>



<li><strong>Einfache Handhabung von Objekten</strong>: PowerShell behandelt alles als Objekte, einschließlich Dateien, Ordner, Dienste, Benutzer und Gruppen. Dies erleichtert die Handhabung von Objekten und die Automatisierung von Aufgaben, da du einfach auf die Eigenschaften und Methoden dieser Objekte zugreifen kannst.</li>



<li><strong>Unterstützung für Module</strong>: PowerShell unterstützt Module, die eine Sammlung von Cmdlets, Funktionen und Variablen sind. Module können einfach installiert und importiert werden, um zusätzliche Funktionen und Möglichkeiten hinzuzufügen.</li>
</ol>



<p class="wp-block-paragraph">Zusammenfassend bietet Microsoft PowerShell eine leistungsstarke Befehlszeilen-Schnittstelle mit umfangreichen Funktionen, die es Benutzern ermöglicht, Aufgaben effizienter und schneller zu erledigen. Mit PowerShell können Verwaltungsaufgaben automatisiert und eine Vielzahl von Aufgaben durchgeführt werden, einschließlich der Verwaltung von lokalen und entfernten Systemen, Dateien und Ordnern, Benutzern und Gruppen und vielem mehr.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="has-medium-font-size wp-block-paragraph"><strong>Skripterstellung und -ausführung mit Microsoft PowerShell:</strong></p>



<p class="wp-block-paragraph">Microsoft PowerShell ist nicht nur eine leistungsstarke Befehlszeilen-Schnittstelle, sondern auch eine mächtige Skripting-Sprache. Hier sind einige wichtige Informationen zur Skripterstellung und -ausführung mit PowerShell:</p>



<ol class="wp-block-list">
<li><strong>PowerShell ISE</strong>: PowerShell ISE ist eine integrierte Skripting-Umgebung, die das Erstellen und Debuggen von PowerShell-Skripten erleichtert. PowerShell ISE bietet Syntaxhervorhebung, Intellisense und Debugging-Tools, um die Skriptentwicklung zu vereinfachen. Um PowerShell ISE zu öffnen, gibst du einfach &#8222;powershell_ise&#8220; in die PowerShell-Eingabeaufforderung ein.</li>



<li><strong>Erstellen von Skripten</strong>: PowerShell-Skripte können mit jedem Texteditor erstellt werden. Speichere das Skript als .ps1-Datei, um es später auszuführen. PowerShell-Skripte können auch in PowerShell ISE erstellt und gespeichert werden.</li>



<li><strong>Ausführung von Skripten</strong>: PowerShell-Skripte können auf verschiedene Arten ausgeführt werden. Wenn du das Skript in PowerShell ISE erstellt hast, kannst du es einfach ausführen, indem du auf die Schaltfläche &#8222;Ausführen&#8220; klickst oder die F5-Taste drückst. Wenn das Skript in einem Texteditor erstellt wurde, kannst du es in PowerShell mit dem Befehl &#8222;.\skriptname.ps1&#8220; ausführen. Beachte jedoch, dass PowerShell standardmäßig keine nicht signierten Skripte ausführt. Um ein nicht signiertes Skript ausführen zu können, musst du zunächst die Execution Policy ändern.</li>



<li><strong>Syntax</strong>: PowerShell-Skripte verwenden eine einfache, leicht verständliche Syntax. Cmdlets und Parameter werden durch Leerzeichen getrennt. Beispiel: &#8222;Get-ChildItem -Path C:\Temp&#8220; gibt eine Liste der Dateien und Ordner im Ordner &#8222;C:\Temp&#8220; zurück.</li>



<li>Beispiele:</li>
</ol>



<p class="wp-block-paragraph">Beispiel 1: Dieses Skript gibt die Größe aller Dateien im Ordner &#8222;C:\Temp&#8220; aus:</p>



<pre class="wp-block-code"><code>Get-ChildItem -Path C:\Temp | ForEach-Object { $_.Name + ": " + $_.Length } </code></pre>



<p class="wp-block-paragraph">Beispiel 2: Dieses Skript führt eine Suche nach Dateien mit der Endung &#8222;.log&#8220; im Ordner &#8222;C:\Logs&#8220; durch und gibt das Ergebnis aus:</p>



<pre class="wp-block-code"><code>Get-ChildItem -Path C:\Logs -Filter *.log </code></pre>



<p class="wp-block-paragraph">Beispiel 3: Dieses Skript erstellt einen neuen Ordner &#8222;Test&#8220; im Ordner &#8222;C:\Temp&#8220;:</p>



<pre class="wp-block-code"><code>New-Item -ItemType Directory -Path C:\Temp\Test</code></pre>



<p class="wp-block-paragraph">Zusammenfassend bietet PowerShell eine einfache Syntax und eine Vielzahl von Tools zur Skripterstellung und -ausführung. PowerShell ISE erleichtert die Skriptentwicklung und -debugging, während PowerShell-Skripte auf einfache Weise in Texteditoren erstellt und ausgeführt werden können.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>Execution Policy ändern</strong></p>



<p class="wp-block-paragraph">Um die aktuelle Execution Policy in PowerShell zu speichern, kannst du die folgenden Schritte ausführen:</p>



<ol class="wp-block-list">
<li>Öffne die PowerShell-Eingabeaufforderung.</li>



<li>Gebe den Befehl &#8222;Get-ExecutionPolicy&#8220; ein, um die aktuelle Execution Policy anzuzeigen.</li>



<li>Speichere die Ausgabe des Befehls, in eine Variable<strong> $policy = Get-ExecutionPolicy</strong></li>



<li>Um die Execution Policy zu ändern, gebe den Befehl &#8222;Set-ExecutionPolicy&#8220; ein und wähle eine der verfügbaren Optionen:<ul><li>&#8222;Restricted&#8220; (keine Skripts erlaubt)</li><li>&#8222;AllSigned&#8220; (nur signierte Skripts erlaubt)</li><li>&#8222;RemoteSigned&#8220; (signierte Skripts von lokalen Computer erlaubt)</li><li>&#8222;Unrestricted&#8220; (alle Skripts erlaubt)</li></ul>Beispiel: &#8222;Set-ExecutionPolicy RemoteSigned&#8220;</li>



<li>Wenn die Execution Policy wiederhergestellt werden soll, setze die Policy einfach auf den Wert, der zuvor gespeichert wurde: <strong>Set-ExecutionPolicy $policy</strong></li>
</ol>



<p class="wp-block-paragraph">Weitere Option: &#8222;<code><strong>Bypass</strong>"</code>: Die Execution Policy wird für das aktuelle PowerShell-Skript deaktiviert.</p>



<p class="wp-block-paragraph">Beachte, dass hier Administratorrechte benötigt werden, um die Execution Policy zu ändern. Es ist auch wichtig zu beachten, dass die Execution Policy auf Systemebene festgelegt ist und für alle Benutzer und Skripts gilt. Natürlich kann die Policy auch auf Benutzerebene umgestellt werden.</p>



<p class="wp-block-paragraph">Die verfügbaren Werte für den <code>Scope</code>-Parameter sind:</p>



<ul class="wp-block-list">
<li><code><strong>Process</strong></code>: Die Änderung der Execution Policy wird nur für die aktuelle PowerShell-Sitzung angewendet.</li>



<li><code><strong>CurrentUser</strong></code>: Die Änderung der Execution Policy wird für den aktuellen Benutzer auf dem aktuellen Computer angewendet.</li>



<li><code><strong>LocalMachine</strong></code>: Die Änderung der Execution Policy wird für alle Benutzer auf dem aktuellen Computer angewendet.</li>
</ul>



<p class="wp-block-paragraph">Der <code>Scope</code>-Parameter kann wie folgt in PowerShell verwendet werden:</p>



<pre class="wp-block-preformatted"><code>Set-ExecutionPolicy &lt;Parameter> -Scope &lt;Scope-Parameter>
</code></pre>



<p class="wp-block-paragraph">Beispiel:</p>



<pre class="wp-block-preformatted"><code>Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
</code></pre>



<p class="wp-block-paragraph">Dies setzt die Execution Policy nur für den aktuellen Benutzer auf dem aktuellen Computer.</p>



<p class="has-medium-font-size wp-block-paragraph"><strong>Signieren von Skripten</strong></p>



<p class="wp-block-paragraph">Um ein PowerShell-Skript mit einem selbstausgestellten Zertifikat zu signieren, kannst du die folgenden Schritte ausführen:</p>



<p class="wp-block-paragraph">Generiere ein selbstsigniertes Zertifikat auf deinem Computer. Dazu kannst du das PowerShell-Modul &#8222;New-SelfSignedCertificate&#8220; verwenden. Gebe dazu den folgenden Befehl ein:</p>



<pre class="wp-block-code"><code>$cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -DnsName "MyCertName" </code></pre>



<p class="wp-block-paragraph">Dieser Befehl erstellt ein neues Zertifikat mit dem Namen &#8222;MyCertName&#8220; im aktuellen Benutzerzertifikatspeicher.</p>



<p class="wp-block-paragraph">Exportiere das Zertifikat als PFX-Datei. Gebe dazu den folgenden Befehl ein:</p>



<pre class="wp-block-code"><code>$pwd = ConvertTo-SecureString -String "MyPassword" -Force -AsPlainText Export-PfxCertificate -Cert $cert -FilePath "C:\MyCert.pfx" -Password $pwd</code></pre>



<p class="wp-block-paragraph">Ersetze &#8222;MyPassword&#8220; durch ein sicheres Kennwort, das zum Schutz der PFX-Datei verwendet werden soll.</p>



<p class="wp-block-paragraph">Importiere das Zertifikat in den Trusted Publishers Store. Gebe dazu den folgenden Befehl ein:</p>



<pre class="wp-block-code"><code>Import-PfxCertificate -FilePath "C:\MyCert.pfx" -CertStoreLocation Cert:\CurrentUser\TrustedPublisher -Password $pwd</code></pre>



<p class="wp-block-paragraph">Signiere das PowerShell-Skript mit dem Zertifikat. Gebe dazu den folgenden Befehl ein:</p>



<pre class="wp-block-code"><code>Set-AuthenticodeSignature -FilePath "C:\MyScript.ps1" -Certificate $cert -TimestampServer http://timestamp.digicert.com </code></pre>



<p class="wp-block-paragraph">Ersetze &#8222;C:\MyScript.ps1&#8220; durch den Pfad zu deinem Skript und &#8222;<a href="http://timestamp.digicert.com/">http://timestamp.digicert.com</a>&#8220; durch den Zeitserver deiner Wahl.</p>



<p class="wp-block-paragraph">Das Skript ist jetzt signiert und kann sicher ausgeführt werden. Beachte, dass Benutzer, die das Skript ausführen, das selbstsignierte Zertifikat manuell in ihren Trusted Publishers Store importieren müssen, um das Vertrauen in das Zertifikat zu bestätigen.</p>



<p class="wp-block-paragraph">In einer großen Umgebung kann das Zertifikat natürlich auch via GPO ausgerollt werden, hier bietet es sich auch an ein Zertifikat aus der eigenen PKI zu verwenden.</p>



<p class="wp-block-paragraph">Um ein Zertifikat von der eigenen <strong>PKI </strong>zu verwenden, musst du sicherstellen, dass das Zertifikat den Zweck &#8222;<strong>Code Signing</strong>&#8220; unterstützt. Dies ist in der Regel durch ein spezielles Template in deiner PKI festgelegt, das für die Ausstellung von Code Signing-Zertifikaten konfiguriert ist.</p>



<p class="wp-block-paragraph">Das Template sollte die folgenden Einstellungen enthalten:</p>



<ul class="wp-block-list">
<li>Zweck: Code Signing</li>



<li>Verwendung: Digital Signature</li>



<li>Private Key: Key Exchange</li>



<li>Exportable: Ja</li>
</ul>



<p class="wp-block-paragraph">Wenn das Template nicht vorhanden ist, musst du es möglicherweise erstellen oder die erforderlichen Einstellungen in einem vorhandenen Template ändern.</p>



<p class="wp-block-paragraph">Nachdem ein Zertifikat mit den richtigen Einstellungen erstellt wurde, kann das Zertifikat in PowerShell importiert werden und dann das Skript signiert werden, indem der folgende Befehl ausgeführt wird:</p>



<pre class="wp-block-preformatted"><code>Set-AuthenticodeSignature -FilePath "C:\MyScript.ps1" -Certificate $cert -TimestampServer http://timestamp.digicert.com
</code></pre>



<p class="wp-block-paragraph">Ersetze &#8222;C:\MyScript.ps1&#8220; durch den Pfad zu deinem Skript und &#8222;$cert&#8220; durch das Zertifikat, das du importiert hast.</p>



<p class="wp-block-paragraph">Beachte, dass der TimestampServer optional ist, aber empfohlen wird, um sicherzustellen, dass das signierte Skript auch nach Ablauf des Zertifikats vertrauenswürdig bleibt. Verwende die URL des Timestamp-Servers, den deine PKI oder dein Vertrauensprovider empfiehlt.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="has-medium-font-size wp-block-paragraph"><strong>Ein paar Exchange Skript Beispiele:</strong></p>



<ol class="wp-block-list">
<li>Skript zum Überprüfen von Postfachberechtigungen:</li>
</ol>



<p class="wp-block-paragraph">Dieses Skript überprüft die Postfachberechtigungen für ein bestimmtes Postfach und gibt eine Liste der Benutzer und Gruppen aus, die Zugriff auf das Postfach haben.</p>



<pre class="wp-block-preformatted"><code>Get-MailboxPermission -Identity "Postfachname" | where {$_.user.tostring() -ne "NT-AUTORITÄT\SELBST" -and $_.IsInherited -eq $false} | Select Identity,User,AccessRights
</code></pre>



<ol class="wp-block-list" start="2">
<li>Skript zum Exportieren von Postfachdaten:</li>
</ol>



<p class="wp-block-paragraph">Dieses Skript exportiert die Postfachdaten eines bestimmten Benutzers in eine PST-Datei.</p>



<pre class="wp-block-preformatted"><code>New-MailboxExportRequest -Mailbox "Benutzername" -FilePath "\\Servername\Export\Benutzername.pst"
</code></pre>



<ol class="wp-block-list" start="3">
<li>Skript zum Erstellen von Regeln:</li>
</ol>



<p class="wp-block-paragraph">Dieses Skript erstellt eine Regel, die Nachrichten von einer bestimmten E-Mail-Adresse direkt in einen bestimmten Ordner verschiebt.</p>



<pre class="wp-block-preformatted"><code>New-InboxRule -Name "Regelname" -MailFrom "E-Mail-Adresse" -MoveToFolder "Ordnername"</code></pre>



<p class="wp-block-paragraph">   4. Skript zum löschen eines Postfaches:</p>



<p class="wp-block-paragraph">Dieses Skript löscht ein bestimmtes Postfach und alle dazugehörigen Datenbankobjekte.</p>



<pre class="wp-block-preformatted"><code>Remove-Mailbox -Identity "Benutzername" -Database "Datenbankname" -Confirm:$false
</code></pre>



<p class="wp-block-paragraph">Abschließend noch eine generelle Empfehlung, nutzt immer vorab zum Test den -WhatIf Parameter am Ende des Codes oder testet eure Skripte in einer Demo-Umgebung.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft-powershell-grundlagen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Exchange // Extended Protection Vorbereitende Maßnahmen</title>
		<link>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-extended-protection-vorbereitende-massnahmen/</link>
					<comments>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-extended-protection-vorbereitende-massnahmen/#comments</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Wed, 15 Feb 2023 20:52:38 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Exchange]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2016]]></category>
		<category><![CDATA[Exchange 2019]]></category>
		<category><![CDATA[Extended Protection]]></category>
		<category><![CDATA[Powershell]]></category>
		<guid isPermaLink="false">https://abow.info/?p=255</guid>

					<description><![CDATA[Was muss beachtet werden bevor man die Extended Protection aktiviert? Hier mein Artikel dazu.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Microsoft Exchange OnPrem 2013/<strong>2016/2019</strong> erfordert die Aktivierung von Extended Protection, um einige kritische Sicherheitslücke zu schließen. Bevor ihr die empfohlenen Einstellungen für den erweiterten Schutz in Ihrer Microsoft Exchange-Umgebung aktivieren, sollten Sie zunächst einige Dinge beachten. Denn damit gehen auch <strong>Einschränkungen </strong>überein.</p>



<p class="wp-block-paragraph">Tatsächlich sind diese Einstellungen seit 2009 verfügbar und ein Thema von Windows IIS, wird aber jetzt zwingend benötigt, um <a href="https://microsoft.github.io/CSS-Exchange/Security/Extended-Protection/" target="_blank" rel="noreferrer noopener">Sicherheitslücken</a> zu schließen.</p>



<p class="wp-block-paragraph"></p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/395132i13D2671EE759EF2D/image-size/large?v=v2&amp;px=999" alt=""/></figure>



<p class="wp-block-paragraph">Das Flussdiagramm stellt einmal dar, wie der Weg zum schließen der Lücken aussieht.</p>



<p class="wp-block-paragraph">Hier nun aufgelistet die <strong>Einschränkungen</strong>:</p>



<ul class="wp-block-list">
<li>Extended Protection kann <strong>nicht </strong>auf Exchange Server 2013-Servern (Grundsätzlich aber ab Exchange Server 2013 CU23 möglich) aktiviert werden, die über öffentliche Ordner in der <strong>Koexistenzumgebung </strong>verfügen.
<ul class="wp-block-list">
<li>Hier werden die Public Folder sonst nicht mehr bei den Endbenutzern erscheinen</li>
</ul>
</li>



<li>Extended Protection kann nicht auf Exchange Server <strong>2016 CU22</strong> oder Exchange Server <strong>2019 CU11</strong> oder früher aktiviert werden, die die Public Folder Hierarchie hosten.
<ul class="wp-block-list">
<li>Läuft nur ab 2016 CU23 und 2019 CU12</li>
</ul>
</li>



<li>Extended Protection funktioniert <strong>nicht </strong>auf Hybridservern mit der <strong>Modern Hybridkonfiguration</strong>
<ul class="wp-block-list">
<li>Features wie <strong>Postfachmigration</strong> und <strong>Frei/Gebucht-Informationen</strong> werden unterbrochen</li>
</ul>
</li>



<li><strong>NTLMv1 </strong>wird <strong>nicht unterstützt</strong> (sollte möglichst sowieso nicht mehr genutzt werden!) <a href="https://abow.info/ntlmv1-abschalten/">Anleitung</a>
<ul class="wp-block-list">
<li>Nutzt ein Client dennoch NTLMv1, wird er ständig mit <strong>Passwortabfragen </strong>bombadiert</li>
</ul>
</li>



<li><strong>SSL-Offload</strong>-Szenarien werden nicht unterstützt
<ul class="wp-block-list">
<li>Die Extended Protection schlägt aufgrund der SSL-Beendigung während des SSL-Offloads fehl. Um Extended Protection in Ihrer Exchange-Umgebung zu aktivieren, verwenden Sie <strong>kein SSL-Offloading</strong> mit Ihrem Load Balancer.</li>
</ul>
</li>



<li>Die<strong> TLS-Konfiguration</strong>
<ul class="wp-block-list">
<li><strong>Konsistente TLS-Versionen:</strong>
<ul class="wp-block-list">
<li>Überprüfen Sie, dass alle Exchange-Server im Unternehmen die gleiche TLS-Version verwenden. Wenn beispielsweise ein Server TLS 1.2 verwendet, müssen alle anderen Server ebenfalls auf TLS 1.2 konfiguriert sein.</li>



<li>Abweichungen in den TLS-Versionen zwischen den Servern können zu Verbindungsproblemen mit den Clients führen und sollten vermieden werden.</li>
</ul>
</li>



<li><strong>SchUseStrongCrypto-Registrierungswert:</strong>
<ul class="wp-block-list">
<li>Setzen Sie den Wert des SchUseStrongCrypto-Registrierungswerts auf 1 auf allen Exchange-Servern innerhalb der Organisation.</li>



<li>Falls dieser Wert nicht explizit auf 1 festgelegt ist, kann der Standardwert je nach verwendeter .NET-Version interpretiert werden, was zu unerwünschten Konfigurationen führen kann.</li>
</ul>
</li>



<li><strong>SystemDefaultTlsVersions-Registrierungswert:</strong>
<ul class="wp-block-list">
<li>Stellen Sie sicher, dass der SystemDefaultTlsVersions-Registrierungswert ebenfalls explizit auf 1 festgelegt ist.</li>



<li>Wenn diese Werte nicht wie erwartet festgelegt sind, kann dies zu TLS-Konflikten führen, die wiederum zu Problemen bei der Clientkonnektivität führen.</li>
</ul>
</li>
</ul>
</li>



<li><strong>Softwarekompatibilität </strong>von <strong>Drittanbietern</strong>
<ul class="wp-block-list">
<li>Testen Sie Produkte von Drittanbietern in Ihrer Exchange Server-Umgebung, um sicherzustellen, dass sie ordnungsgemäß funktionieren, wenn der erweiterte Schutz aktiviert ist. Ich habe zum Beispiel Antivirenlösungen gesehen, die Verbindungen über einen Proxy senden, um Clientcomputer zu schützen, aber dies verhindert die Kommunikation mit dem Exchange-Server und sollte deaktiviert werden.</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">SSL-Bridging funktioniert, sofern im Exchange und Load-Balancer das gleiche Zertifikat verwendet wird.</p>



<pre class="wp-block-preformatted">SSL-Offloading für Outlook Anywhere ist standardmäßig aktiviert und muss deaktiviert werden, indem Sie die folgenden Schritte ausführen:

Set-OutlookAnywhere -Identity "EXCH1\rpc (Default Web Site)" -SSLOffloading $false</pre>



<p class="wp-block-paragraph">Sind all diese Einschränkungen geprüft und abgestimmt, kann die Extended Protection via <a rel="noreferrer noopener" href="https://microsoft.github.io/CSS-Exchange/Security/ExchangeExtendedProtectionManagement/" data-type="URL" data-id="https://microsoft.github.io/CSS-Exchange/Security/ExchangeExtendedProtectionManagement/" target="_blank">Skript-Unterstützung</a> aktiviert werden.</p>



<figure class="wp-block-pullquote"><blockquote><p><strong><em>Erforderlich:</em></strong><br>Der Benutzer muss ein Organization Management-Mitglied sein und dieses Skript über die Exchange-Verwaltungsshell (EMS) mit erhöhten Rechten ausführen.</p></blockquote></figure>



<p class="wp-block-paragraph"><a href="https://github.com/microsoft/CSS-Exchange/releases/latest/download/ExchangeExtendedProtectionManagement.ps1">ExchangeExtendedProtectionManagement.ps1</a> ist ein Skript zur Automatisierung der Extended Protection des Windows-Authentifizierungsmoduls auf Exchange-Servern. Stellen Sie vor der Konfiguration sicher, dass die TLS-Einstellungen auf allen Servern, auf denen Sie den erweiterten Schutz aktivieren möchten, und auf dem Server, auf dem der Extended Protection bereits aktiviert ist, identisch sind, und dass die erforderlichen anderen Voraussetzungen gegeben sind.</p>



<p class="wp-block-paragraph">Folgend eine Auflistung mit Beispiel Codezeilen zum ausführen:</p>



<pre class="wp-block-code"><code>PS C:\&gt; .\ExchangeExtendedProtectionManagement.ps1</code></pre>



<p class="wp-block-paragraph">Einfache Ausführung über alle Server der Organisation.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code>PS C:\&gt; .\ExchangeExtendedProtectionManagement.ps1 -ExchangeServerNames &lt;Array_of_Server_Names&gt;</code></pre>



<p class="wp-block-paragraph">Ausführen für nur bestimmte Server.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code>PS C:\&gt; .\ExchangeExtendedProtectionManagement.ps1 -SkipExchangeServerNames &lt;Array_of_Server_Names&gt;</code></pre>



<p class="wp-block-paragraph">Ausführen für alle Server außer &#8230;</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code>PS C:\&gt; .\ExchangeExtendedProtectionManagement.ps1 -FindExchangeServerIPAddresses -OutputFilePath "C:\temp\ExchangeIPs.txt"</code></pre>



<p class="wp-block-paragraph">Export einer Liste aller Exchange Server IPs in der Organisation.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code>PS C:\&gt; .\ExchangeExtendedProtectionManagement.ps1 -RollbackType "RestoreIISAppConfig"</code></pre>



<p class="wp-block-paragraph">Wiederherstellen der IIS-Einstellungen zuvor.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<pre class="wp-block-code"><code>PS C:\&gt; .\ExchangeExtendedProtectionManagement.ps1 -ShowExtendedProtection</code></pre>



<p class="wp-block-paragraph">Aktuelle Einstellungen anzeigen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Hier noch alle Parameter mit Erläuterung.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Parameter</td><td>Beschreibung</td></tr><tr><td>ExchangeServerNames</td><td>Eine Liste der Server, auf denen das Skript ausgeführt werden soll. Dies kann zur Konfiguration oder zum Rollback verwendet werden.</td></tr><tr><td>SkipExchangeServerNames</td><td>Eine Liste der Server, die nicht für die Ausführung von Konfigurations- oder Rollback-Skripts verwendet werden.</td></tr><tr><td>ShowExtendedProtection</td><td>Zeigt die aktuelle Konfiguration des Extended Protection für die übergebene Serverliste an.</td></tr><tr><td>FindExchangeServerIPAddresses</td><td>Verwenden Sie dies, um eine Liste von Exchange Server-IPs zu erstellen, die für IP-Einschränkungen verwendet werden sollten.</td></tr><tr><td>OutputFilePath</td><td>Benutzerdefinierter Dateipfad zum Exportieren der von FindExchangeServerIPAddresses erfassten Liste der Exchange Server-IPs. Der Standardwert ist der lokale Speicherort <strong>IPList.txt</strong>.</td></tr><tr><td>IPRangeFilePath</td><td>Pfad zu einer Datei, die alle IP-Adressen oder Subnetze enthält, die in die IP Allow List aufgenommen werden sollten.</td></tr><tr><td>RestrictType</td><td>Aktiviert IP-Einschränkungen für das virtuelle Verzeichnis. Muss mit IPRangeFilePath verwendet werden. Folgende Werte sind erlaubt:<br><strong>EWS-Backend</strong></td></tr><tr><td>ValidateType</td><td>Zum überprüfen, dass ValidateType-IP-Einschränkungen korrekt angewendet werden. Muss mit IPRangeFilePath verwendet werden. Folgende Werte sind erlaubt:<br><strong>RestrictTypeEWSBackend</strong></td></tr><tr><td>RollbackType</td><td>Dieser Parameter ermöglicht Ihnen ein Rollback mit dem angegebenen Typ. Folgende Werte sind erlaubt:<br><strong>RestoreIISAppConfig, RestrictTypeEWSBackend</strong></td></tr><tr><td>SkipAutoUpdate</td><td>Überspringt die automatische Aktualisierungsfunktion und lädt nicht die neueste Version des Skripts herunter.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Offizieller Microsoft Artikel: <a href="https://learn.microsoft.com/de-de/exchange/plan-and-deploy/post-installation-tasks/security-best-practices/exchange-extended-protection?view=exchserver-2019" target="_blank" rel="noreferrer noopener">Link</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft_exchange/microsoft-exchange-extended-protection-vorbereitende-massnahmen/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Azure // Exchange Online &#8211; AZCopy</title>
		<link>https://abow.info/microsoft/microsoft-azure/microsoft-azure-exchange-online-azcopy/</link>
					<comments>https://abow.info/microsoft/microsoft-azure/microsoft-azure-exchange-online-azcopy/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Wed, 08 Feb 2023 12:00:00 +0000</pubDate>
				<category><![CDATA[Microsoft Azure]]></category>
		<category><![CDATA[Microsoft Exchange Online]]></category>
		<category><![CDATA[AZCopy]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange Online]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft O365]]></category>
		<guid isPermaLink="false">https://abow.info/?p=241</guid>

					<description><![CDATA[In diesem Artikel berichte ich euch davon, wie ich eine .pst-Datei einem Exchange Online Postfach importiert habe. Verwendet wir hierzu das von Microsoft veröffentlichte Tool &#8222;AZCopy&#8222;. Link zum…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In diesem Artikel berichte ich euch davon, wie ich eine .pst-Datei einem Exchange Online Postfach importiert habe. Verwendet wir hierzu das von Microsoft veröffentlichte Tool &#8222;<strong>AZCopy</strong>&#8222;.</p>



<p class="wp-block-paragraph">Link zum Microsoft-Artikel: <a rel="noreferrer noopener" href="https://learn.microsoft.com/de-de/microsoft-365/compliance/use-network-upload-to-import-pst-files?view=o365-worldwide" target="_blank">Link</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Vor dem eigentlichen Vorgang muss sichergestellt werden, dass der Administrator die benötigten Rollen/Rechte besitzt um Importe/Exporte durchzuführen.</p>



<p class="wp-block-paragraph">Dafür im Exchange Online Admin Center unter Rollen &gt; Administrator Rollen eine neue Gruppenrolle anlegen:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="393" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_35_44-Exchange-admin-center-1024x393.png" alt="" class="wp-image-242" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_35_44-Exchange-admin-center-1024x393.png 1024w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_35_44-Exchange-admin-center-300x115.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_35_44-Exchange-admin-center-768x295.png 768w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_35_44-Exchange-admin-center.png 1061w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Gebt der Gruppenrolle einen Namen und eine Beschreibung:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="738" height="554" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_36_43-Exchange-admin-center.png" alt="" class="wp-image-243" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_36_43-Exchange-admin-center.png 738w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_36_43-Exchange-admin-center-300x225.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_36_43-Exchange-admin-center-136x102.png 136w" sizes="(max-width: 738px) 100vw, 738px" /></figure>



<p class="wp-block-paragraph">Die folgenden beiden Rollen müssen der Gruppenrolle hinzugefügt werden:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="817" height="532" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_05-Exchange-admin-center.png" alt="" class="wp-image-244" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_05-Exchange-admin-center.png 817w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_05-Exchange-admin-center-300x195.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_05-Exchange-admin-center-768x500.png 768w" sizes="(max-width: 817px) 100vw, 817px" /></figure>



<p class="wp-block-paragraph">Zum Schluss noch dem Admin oder Service-Account zuweisen:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="641" height="212" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_28-Exchange-admin-center.png" alt="" class="wp-image-245" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_28-Exchange-admin-center.png 641w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_28-Exchange-admin-center-300x99.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></figure>



<p class="wp-block-paragraph">Abschließen und damit ist die Grundvoraussetzung gegeben.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="626" height="426" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_47-Exchange-admin-center.png" alt="" class="wp-image-246" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_47-Exchange-admin-center.png 626w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_47-Exchange-admin-center-300x204.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_37_47-Exchange-admin-center-305x207.png 305w" sizes="(max-width: 626px) 100vw, 626px" /></figure>



<p class="wp-block-paragraph">Des Weiteren sollte eine Import-Datei nicht größer sein als 20GB, dann lieber zuvor aufteilen.</p>



<p class="wp-block-paragraph">Im ersten Schritt wird ein Import-Auftrag angelegt. </p>



<p class="wp-block-paragraph">&gt;&gt; <a href="https://compliance.microsoft.com/">https://compliance.microsoft.com</a></p>



<p class="wp-block-paragraph">Auf der linken Seite im Portal, Data lifecycle management&nbsp;&gt;&nbsp;Microsoft 365&nbsp;&gt;&nbsp;Microsoft 365&nbsp;&gt;&nbsp;Import.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="603" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_51_20-AZCopy-OneNote-1024x603.png" alt="" class="wp-image-247" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_51_20-AZCopy-OneNote-1024x603.png 1024w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_51_20-AZCopy-OneNote-300x177.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_51_20-AZCopy-OneNote-768x452.png 768w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_51_20-AZCopy-OneNote.png 1184w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<ol class="wp-block-list" type="1">
<li><strong>Namen</strong> eingeben</li>



<li><strong>Methode</strong> wählen, in unserem Fall <strong>&#8222;Hochladen&#8220;</strong></li>



<li><strong>SAS-URL</strong> anzeigen und wegspeichern</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="886" height="151" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_53_11-AZCopy-OneNote.png" alt="" class="wp-image-248" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_53_11-AZCopy-OneNote.png 886w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_53_11-AZCopy-OneNote-300x51.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_53_11-AZCopy-OneNote-768x131.png 768w" sizes="(max-width: 886px) 100vw, 886px" /></figure>



<ol class="wp-block-list" type="1">
<li>Azure <strong>AzCopy </strong>herunterladen und starten</li>



<li><strong>Upload</strong> Starten: <em>AzCopy /source:C:\PST\ /dest:&#8220;https://angezeigteSASURL&#8220; /y</em></li>



<li><strong>Zuordnungsdatei</strong> anfertigen nach diesem Muster (Mailbox kann z.B. UPN oder GUID sein)</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="884" height="137" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_54_34-AZCopy-OneNote.png" alt="" class="wp-image-249" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_54_34-AZCopy-OneNote.png 884w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_54_34-AZCopy-OneNote-300x46.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-20_54_34-AZCopy-OneNote-768x119.png 768w" sizes="(max-width: 884px) 100vw, 884px" /></figure>



<ol class="wp-block-list" type="1">
<li>Folgend <strong>bestätigt</strong> man, dass der <strong>Upload</strong> fertig ist und man die <strong>Zuordnungsdatei</strong> hat</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="821" height="287" src="https://abow.info/wp-content/uploads/2023/01/2023-01-30-21_03_11-AZCopy-OneNote.png" alt="" class="wp-image-251" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-30-21_03_11-AZCopy-OneNote.png 821w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-21_03_11-AZCopy-OneNote-300x105.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-30-21_03_11-AZCopy-OneNote-768x268.png 768w" sizes="(max-width: 821px) 100vw, 821px" /></figure>



<ol class="wp-block-list" type="1">
<li><strong>Zuordnungsdatei hochladen</strong> und prüfen lassen und auf <strong>Speichern</strong> klicken.</li>



<li>Der Import ist gestartet und dauert nun etwas.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Bei Verbesserungsvorschlägen o.Ä. einfach melden via Kommentar.<br>Danke.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft-azure/microsoft-azure-exchange-online-azcopy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft // Update &#124; Upgrade Kategorien Bezeichnungen</title>
		<link>https://abow.info/microsoft/microsoft-update-upgrade-kategorien-bezeichnungen/</link>
					<comments>https://abow.info/microsoft/microsoft-update-upgrade-kategorien-bezeichnungen/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Mon, 30 Jan 2023 19:03:19 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Grundlagen]]></category>
		<category><![CDATA[Hotfix]]></category>
		<category><![CDATA[Major Upgrade]]></category>
		<category><![CDATA[Minor Upgrade]]></category>
		<category><![CDATA[Security Update]]></category>
		<category><![CDATA[Updates]]></category>
		<guid isPermaLink="false">https://abow.info/?p=234</guid>

					<description><![CDATA[Überblick über die gängigen Update/Upgrade-Kategorien von Microsoft]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Einigen fällt es vielleicht nicht so einfach einen Überblick über die gängigen Update/Upgrade-Kategorien von Microsoft zu behalten. Hier eine kleine Auflistung mit Beispielen für euch:</p>



<pre class="wp-block-preformatted"><strong>Major Upgrade </strong>-&gt; Exchange Versionssprung von z.B. 2013 auf 2016

<strong>Minor Upgrade </strong>-&gt; CU-Update z.B: von 2019 CU 11 auf 12

<strong>Hotfix/Security Update</strong> -&gt; z.B: von CU12 auf CU12 AUG22SU</pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Ich hoffe ich kann dem ein oder anderen damit eine kleine Hilfestellung leisten.<br>Du hast Ergänzungen? Nur her damit!</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/microsoft-update-upgrade-kategorien-bezeichnungen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
