Active Directory Dienste bilden die Basis all Ihrer Geschäftsapplikationen in einer Microsoft-Umgebung. Die Replikation von Active Directory Objekten und Attributen ist gerade in verteilten Umgebung kritisch, um den störungsfreien und sicheren Betrieb der Infrastruktur zu gewährleisten.
Im nachfolgenden Video (EN) zeigen wir Ihnen, wie COMPASS mit Hilfe einer pro-aktiven Überwachung hilft, Abweichung früh und Störungen schnell zu identifizieren.
Vom 4. - 8. November fand die diesjährige Microsoft Ignite Konferenz statt. Ein großes Thema war die Absicherung von Identitäten und Applikationen und die sichere Zusammenarbeit im Rahmen von Modern Workplace und Modern Life.
Die folgenden Liste bietet einen Überblick über die wichtigsten Sessions zum Thema Azure Active Directory. Der jeweilige Link führt Sie zu den detaillierten Session-Informationen, inklusive der Session-Aufzeichnung und PowerPoint-Präsentation, falls vorhanden. Hinter jedem Titel ist der Themenlevel für die Zielgruppe vermerkt.
Intermediate (200)
Foundational (100)
Advanced (300)
Expert (400)
TK = Technical Keynote WRK = Workshop Session THR = Theater Session (20 Minuten) BRK = Breakout Session (45 Minuten) SECO = Session (45 Minuten)
Viel Spaß mit Microsoft 365 und Azure Active Directory.
Sie benötigen Hilfe bei der Entscheidung für oder gegen einen Wechsel zu Office 365 oder Microsoft 365? Unser Microsoft Cloud Workshop hilft Ihnen, die für Ihr Unternehmen passenden Entscheidungen zu treffen. Melden Sie sich bei uns: info@granikos.eu
Migration and consolidation projects in the IT field face technical challenges that are individual to each infrastructure. Internal IT projects can be executed following well established organizational processes and requirements.
Projects related to M&A programs face additional and very unique requirements and constraints. These constraints tend to be agile and require to work outside of the well-established processes valid for internal projects. Especially the constraints provided by the M&A process itself might require immediate adjustments or major changes.
Our real-world experiences from global M&A IT consolidations can help you to lead your M&A program to success. Whether it is an internal infrastructure consolidation handling get-well activities in preparation for a takeover or merging of global IT landscapes in the context of a corporate takeover, our professional program team will assist you from establishing the technical design to project planning, execution, and monitoring.
Some of our experiences have been summarized in a PowerPoint slide deck. The scenario shows
The following pictures demonstrate the situation pre-merger:
We are keen to share our experiences to help you to bring your migration activities to success. Ask for a workshop today: info@granikos.eu
IT Migrationen und Konsolidierungen haben ihre ganz eigenen technischen Herausforderungen. Bei internen Projekten gibt es betriebliche Anforderungen, die den Rahmen solcher Projekte durch etablierte Prozesse abstecken.
Im Rahmen einer Unternehmensübernahme kommen zusätzliche Anforderungen und Zwänge hinzu, die die Planung und Ausführung, im direkten Vergleich mit rein internen Projekten, verschärfen.
Unsere Erfahrungen aus globalen IT Konsolidierungen in M&A Situationen, können Ihnen helfen ein solches Programm erfolgreich auszuführen. Ob es sich um eine interne Konsolidierung zur Vorbereitung einer Übernahme oder um das Zusammenführen im Rahmen der Unternehmensübernahme selber handelt, unser kompetentes Programm-Team unterstützt Sie von der technischen Planung bis zur Ausführung und Projektüberwachung.
Wir haben unsere Erfahrungen in einer Präsentation zusammengefasst, die folgendes Szenario beschreibt:
Die nachfolgenden Bilder demonstrieren die Situationen vor der Migration:
Haben wir Ihr Interesse geweckt? Gerne teilen wir unsere Erfahrungen im Rahmen eines Workshops, um Ihrer Migration zum Erfolg zu verhelfen. Kontaktieren Sie uns unter info@granikos.eu.
Mit Exchange Server 2016 wurde das Cmdlet Get-MailboxServerRedundancy eingeführt. Mit Hilfe dieses Cmdlets können Sie den Betriebsstatus der Postfach-Server einer Datenbankverfügbarkeitsgruppe (DAG) abfragen, bevor Sie einen Exchange Server in Wartung nehmen.
Leider exisitiert zu diesem Cmdlet keinerlei Hilfeinformation, weder in Microsoft Docs, noch direkt in der PowerShell per Get-Help.
Das Cmdlet verfügt eine tabellarische Standardausgabe der wichtigsten Informationen.
In der Standardausgabe werden angezeigt:
Das folgende Beispiel zeigt die Informationen einer DAG mit sechs Mitgliedsservern, bevor für Server LOCEXS06 der Wartungsmodus aktiviert wird.
Get-MailboxServerRedundancy -DatabaseAvailabilityGroup EXDAG01 Identity IsServerFound IsInMainten RepairUrgency SafeForMaintenance HealthInfoLastUpdateTime InAD ance -------- ------------- ----------- ------------- ------------------ ------------------------ LOCEXS01 True False Prohibited False 17.02.2020 09:10:11 LOCEXS02 True False Normal True 17.02.2020 09:10:11 LOCEXS03 True False Normal True 17.02.2020 09:10:11 LOCEXS06 True False Normal True 17.02.2020 09:10:11 LOCEXS05 True False Normal True 17.02.2020 09:10:11 LOCEXS04 True False Prohibited False 17.02.2020 09:10:11
Als Exchange Administrator interessieren uns besonders die Spalten RepairUrgency und SafeForMaintenance.
Für keinen der sechs Server ist in diesem Screenshot der Wartungsmodus aktiv. Für die Server S01 und S04 wird angezeigt, dass beide Server nicht sicher in Wartung genommen werden können und die RepairUrgency den Status Prohibited hat.
Was ist der Grund hierfür?
Für jeden einzelnen Mitgliedsserver der DAG können Sie Einzelinformationen abfragen. Bei Abfrage der Informationen zu einem Server erhalten wir in der Standardausgabe keine ausführlicheren Informationen zum Status.
Get-MailboxServerRedundancy -DatabaseAvailabilityGroup EXDAG01 -Identity LOCEXS01 Identity IsServerFound IsInMainten RepairUrgency SafeForMaintenance HealthInfoLastUpdateTime InAD ance -------- ------------- ----------- ------------- ------------------ ------------------------ LOCEXS01 True False Prohibited False 17.02.2020 09:11:11
Da der Server LOCEXS01 gegenwärtig nicht sicher in Wartung genommen werden kann, interessiert uns natürlich, welcher Status genau dafür entscheidend ist.
Diese Information erhalten Sie über die Abfrage der Detailinformationen des gewünschten Servers.
Die Detailinformationen erhalten Sie einfach durch die Ausgabeformatierung mit Format-List oder kurz FL.
Get-MailboxServerRedundancy -DatabaseAvailabilityGroup EXDAG01 -Identity LOCEXS01 | FL RunspaceId : 70d82f8d-e6ca-4bfc-863f-11300a9784ff Identity : LOCEXS01 IsServerFoundInAD : True IsInMaintenance : False RepairUrgency : Prohibited SafeForMaintenance : False ServerContactedFqdn : LOCEXS04.VARUNAGROUP.DE HealthInfoCreateTime : 15.06.2018 15:16:19 HealthInfoLastUpdateTime : 17.02.2020 09:11:11 ServerFoundInAD : CurrentState: Active; LastActiveTransition: 15.06.2018 15:22:16; LastInactiveTransition: InMaintenance : CurrentState: Inactive; LastActiveTransition: 17.01.2020 09:07:02; LastInactiveTransition: 17.01.2020 10:42:02 AutoActivationPolicyBlocked : CurrentState: Inactive; LastActiveTransition: 09.01.2020 10:14:50; LastInactiveTransition: 09.01.2020 11:00:51 ActivationDisabledAndMoveNow : CurrentState: Inactive; LastActiveTransition: ; LastInactiveTransition: 15.06.2018 15:22:16 HighAvailabilityComponentStateOffline : CurrentState: Inactive; LastActiveTransition: 17.01.2020 09:07:02; LastInactiveTransition: 17.01.2020 10:42:02 CriticalForMaintainingAvailability : CurrentState: Inactive; LastActiveTransition: 31.01.2020 16:52:49; LastInactiveTransition: 31.01.2020 16:56:49 CriticalForMaintainingRedundancy : CurrentState: Active; LastActiveTransition: 29.01.2020 11:43:06; LastInactiveTransition: 29.01.2020 11:42:06 PotentiallyCriticalForMaintainingRedundancy : CurrentState: Active; LastActiveTransition: 01.02.2020 05:49:37; LastInactiveTransition: CriticalForRestoringAvailability : CurrentState: Inactive; LastActiveTransition: 06.05.2019 09:16:36; LastInactiveTransition: 06.05.2019 09:20:36 CriticalForRestoringRedundancy : CurrentState: Inactive; LastActiveTransition: 29.01.2020 11:42:06; LastInactiveTransition: 29.01.2020 11:43:06 HighForRestoringAvailability : CurrentState: Inactive; LastActiveTransition: 29.01.2020 11:42:06; LastInactiveTransition: 29.01.2020 11:43:06 HighForRestoringRedundancy : CurrentState: Inactive; LastActiveTransition: 10.02.2020 09:05:02; LastInactiveTransition: 10.02.2020 09:06:02 IsSafeForMaintenance : CurrentState: Inactive; LastActiveTransition: 03.11.2019 09:42:35; LastInactiveTransition: 12.11.2019 06:29:58 IsValid : True ObjectState : Unchanged
Interessant sind die Information in den Zeilen 24-27. Der CurrentState-Wert für die Status-Parameter CriticalForMaintainingRedundancy und PotentiallyCriticalForMaintainingRedundancy ist für beide Active. Das bedeutet, dass der Primary Activation Manager (PAM), zuständig für die Aktivierung von Datenbanken innerhalb der DAG, die Verfügbarkeit dieses Servers als kritisch einstuft, um die Verfügbarkeit der auf diesem Server konfigurieren Datenbankenkopien zu gewährleisten.
Für jeden Status-Parameter werden drei Informationen angezeigt:
Warum werden im Regelbetrieb zwei Server als nicht sicher für die Wartung angezeigt?
Der Grund hierfür ist recht simpel. Die auf den sechs Servern eingebunden Postfachdatenbanken werden aus Kapazitätsgründen mit einer unterschiedlichen Anzahl an Datenbankkopien betrieben. Die Datenbanken für Standardpostfächer werden mit jeweils vier Kopien betrieben, die gleichmäßig über alle sechs Server verteilt sind. Die Datenbanken für Archivpostfächer wiederum werden mit je drei Kopien je Postfachdatenbank betrieben. Mit diesen beiden Szenarien ist es jederzeit möglich, einen Exchange Server sicher in Wartung zu nehmen, ohne die Redundanz der Postfachdatenbanken zu gefährden.
Auf den Servern LOCEXS01 und LOCEXS04 sind jedoch auch Postfachdatenbanken eingebunden, die nur mit je zwei Kopien betrieben werden. Einen dieser beiden Server in Wartung zu nehmen würde bedeuten, dass während der Wartung keine Redundanz von Datenbanken mehr vorhanden ist. Dies ist der Grund, warum uns der PAM über das Cmdlet mitteilt, dass wir diese beiden Server nicht sicher in Wartung nehmen können.
Das folgende Beispiel zeigt den Betriebszustand der Mitgliedsserver der DAG, während der Server LOCEXS06 in Wartung ist. Auf dem Server wurden zu diesem Zeitpunkt die monatlichen Windows Updates installiert.
Der Exchange Server wurde mit Hilfe des PowerShell-Skriptes StartDagServerMaintenance.ps1 in Wartung genommen.
Get-MailboxServerRedundancy -DatabaseAvailabilityGroup indag01 Identity IsServerFound IsInMainten RepairUrgency SafeForMaintenance HealthInfoLastUpdateTime InAD ance -------- ------------- ----------- ------------- ------------------ ------------------------ LOCEXS01 True False Prohibited False 17.02.2020 11:04:12 LOCEXS02 True False Normal True 17.02.2020 11:04:12 LOCEXS03 True False Prohibited False 17.02.2020 11:04:12 LOCEXS06 True True High True 17.02.2020 11:04:12 LOCEXS05 True False Prohibited False 17.02.2020 11:04:12 LOCEXS04 True False Prohibited False 17.02.2020 11:04:12
Wenn sich ein Server innerhalb der DAG in Wartung befindet, wirkt sich dies natürlich auch auf die verbleibenden Server aus. Weitere zwei Server (LOCEXS03 und LOCEXS05) können nicht sicher zusätzlich in Wartung genommen werden, da ansonsten die redundante Verfügbarkeit der Postfachdatenbanken nicht mehr gewährleistet ist.
Der durchgeführter Installation der Windows Updates oder eines Kumulativen Updates, wird die Wartung des Servers mit StopDagServerMaintenance.ps1 wieder beendet.
Get-MailboxServerRedundancy -DatabaseAvailabilityGroup indag01 Identity IsServerFound IsInMainten RepairUrgency SafeForMaintenance HealthInfoLastUpdateTime InAD ance -------- ------------- ----------- ------------- ------------------ ------------------------ LOCEXS01 True False Prohibited False 17.02.2020 11:23:12 LOCEXS02 True False Normal True 17.02.2020 11:23:12 LOCEXS03 True False Normal True 17.02.2020 11:23:12 LOCEXS06 True False High True 17.02.2020 11:23:12 LOCEXS05 True False Normal True 17.02.2020 11:23:12 LOCEXS04 True False Prohibited False 17.02.2020 11:23:12
Der Server ist zwar nicht mehr im Wartungsmodus, jedoch ist der Status der RepairUrgency weiterhin auf High, da die Exchange Replication Engine damit beschäftigt ist, die während der Wartung aufgelaufenen Protokolldateien einzuspielen und die Suchindizes zu aktualisieren.
Wenn Sie für einen Exchange Server, der nicht sicher in Wartung genommen werden kann, den Wartungsmodus mit StartDagServerMaintenance.ps1 -serverName [SERVER] aktivieren möchten, wird es zu einer Fehlermeldung kommen.
In diesem Fall müssen Sie den Wartungsmodus mit folgendem Aufrauf aktivieren
.\StartDagServerMaintenance.ps1 -serverName SERVERNAME -overrideMinimumTwoCopies:$true
Viel Spaß mit Exchange Server!
While trying to synchronize a new device with an Exchange mailbox, you receive an error with your new mobile phone partnership.
The Exchange Server 2010 Default Throttling Policy is configured to accept 10 ActiveSync devices per mailbox only.
You can validate this setting by using EMS
Get-ThrottlingPolicy def* | Select Name,EASMaxDevices
Use a scheduled PowerShell script to delete old ActiveSync Device partnerships that have not been used for a defined period of time.
Find the most recent version on TechNet Gallery and Github, following the links provided in the Links section.
Modifiy the script path variables to fit your requirements. The variables are configured in the ### BEGIN Variables section.
Steps being executed:
<# .SYNOPSIS Remove Exchange Server 2010 ActiveSync Device Partnerships Sebastian Rubertus / Thomas Stensitzki THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER. Send comments and remars to: support@granikos.eu Version 1.0, 2015-04-09 .LINK More information can be found at http://www.rubertus.net/Blog/tabid/85/EntryId/41/Scripted-removing-of-ActiveSync-Device-Partnerships.aspx .DESCRIPTION THis script removes ActiveSync device association from user mailboxes that have been inactive for more than 150 days. .NOTES Requirements - Exchange Server 2010 - Windows Server 2008 R2 SP1, Windows Server 2012 or Windows Server 2012 R2 Revision History -------------------------------------------------------------------------------- 1.0 Initial community release .EXAMPLE Remove-ActiveSyncDevicePartnership #> ### BEGIN SnapIns ------------------------------------------------------------- # Add Exchange SnapIn if not already loaded if ( (Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue) -eq $null ) { Add-PsSnapin Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue if ( (Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue) -eq $null ) { Write-Host "Microsoft.Exchange.Management.PowerShell.Admin could NOT be loaded!" -ForegroundColor Red Write-Host "Verify that the Exchange 2010 Management is installed on this computer!" -ForegroundColor Red } } ### END SnapIns --------------------------------------------------------------- ### BEGIN Variables | EDIT ACCORDING TO YOUR NEEDS ---------------------------- # ScriptPath $scriptPath = "C:\Scripts\Remove-ActiveSync-Devices\" # Logfile $logfile = "C:\Scripts\Remove-ActiveSync-Devices\Logs\$(get-date -format yyyy-MM-dd___HH-mm-ss)___Logname.log" ### END Variables ------------------------------------------------------------- ### BEGIN Functions ----------------------------------------------------------- Function Log { Param ([string]$logstring) Add-content $logfile -value "$(get-date -format yyyy-MM-dd___HH-mm-ss) $logstring " } ### END Functions ------------------------------------------------------------- ### BEGIN Main ---------------------------------------------------------------- # Create a new log file Write-Host Write-Host "Script started, creating Log File." Log "Script started." Write-Host # Query User Mailboxes and Device Statistics Write-Host "Querying User Mailboxes, please wait a few seconds..." -ForeGroundColor green Log "Querying User Mailboxes." Write-Host $Mailboxes = Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited -WarningAction SilentlyContinue $NumberOfMailboxes = $Mailboxes.count Write-Host "Number of Mailboxes: $NumberOfMailboxes " Log "Number of Mailboxes: $NumberOfMailboxes " Write-Host # Iterate each User Mailbox ForEach ($Mailbox in $Mailboxes) { $MailboxAlias = $Mailbox.Alias Write-Host Write-Host "=================================================================================" Write-Host Write-Host "Getting ActiveSync Devices from user $MailboxAlias..." Log "Getting ActiveSync Devices from user $MailboxAlias. " $AllDevicesFromSpecificUser = Get-ActiveSyncDevice -Mailbox $MailboxAlias -Result Unlimited -WarningAction SilentlyContinue | Get-ActiveSyncDeviceStatistics -WarningAction SilentlyContinue $AllDevicesFromSpecificUserNotSynchronizedSince150Days = Get-ActiveSyncDevice -Mailbox $MailboxAlias -Result Unlimited -WarningAction SilentlyContinue | Get-ActiveSyncDeviceStatistics -WarningAction SilentlyContinue | Where {$_.LastSuccessSync -le (Get-Date).AddDays("-150")} Write-Host $CountAllDevicesFromSpecificUser = $AllDevicesFromSpecificUser.Count $CountAllDevicesFromSpecificUserNotSynchronizedSince150Days = $AllDevicesFromSpecificUserNotSynchronizedSince150Days.Count If ($CountAllDevicesFromSpecificUser -lt 5) { Write-Host "User $MailboxAlias has only $CountAllDevicesFromSpecificUser ActiveSync Devices. Nothing to delete!" -ForegroundColor Green Log "User $MailboxAlias has only $CountAllDevicesFromSpecificUser ActiveSync Devices. Nothing to delete!" } If (($CountAllDevicesFromSpecificUser -gt 4) -and ($CountAllDevicesFromSpecificUserNotSynchronizedSince150Days -gt 1)) { Write-Host "User $MailboxAlias has $CountAllDevicesFromSpecificUser devices. $CountAllDevicesFromSpecificUserNotSynchronizedSince150Days have not synced for more than 150 days." -ForegroundColor Red Log "User $MailboxAlias has $CountAllDevicesFromSpecificUser devices. $CountAllDevicesFromSpecificUserNotSynchronizedSince150Days have not synced for more than 150 days." ForEach ($Device in $AllDevicesFromSpecificUserNotSynchronizedSince150Days) { $DeviceType = $Device.DeviceType $DeviceFriendly = $Device.FriendlyName $DeviceID = $Device.DeviceID $DeviceFirstSyncTime = $Device.FirstSyncTime $DeviceLastSuccessSync = $Device.LastSuccessSync Write-Host Write-Host "ActiveSync Device 2 delete Properties: " Write-Host "-------------------------------------- " Write-Host "Type : $DeviceType " Write-Host "Friendly Name: $DeviceFriendly " Write-Host "ID : $DeviceID " Write-Host "Last Sync : $DeviceLastSuccessSync " -ForegroundColor Red Log "Removing Device $DeviceType with ID $DeviceID ..." Write-Host Write-Host "Removing Device $DeviceID ..." -ForegroundColor Red $Device | Remove-ActiveSyncDevice -WarningAction SilentlyContinue } } } # Script finished Write-Host Write-Host "Script finished!" Write-Host Log "Script finished!" ### END Main ------------------------------------------------------------------
You need assistance with your Exchange Server setup? You have questions about your Exchange Server infrastructure and going hybrid with Office 365? Contact us at office365@granikos.eu or visit our website http://www.granikos.eu.
In einem Video (EN) zeigen wir Ihnen, wie die Auswertungen und Berichte von COMPASS dazu betragen, die Sicherheit in Ihrer Active Directory Umgebung zu erhöhen.
Kostenloser 21-Tage Test und weitere Informationen: http://www.granikos.eu/de/Compass