July 2020 Blog Posts
Hallo zusammen,
Ein Mitarbeiter verlässt die Firma, hat aber noch jede Menge Meetings gebucht. Da bleiben Räume und andere Ressourcen gebucht, obwohl die nie mehr stattfinden werden.
Wusstest du, dass es dafür ein Exchange cmdlet gibt?
Remove-CalendarEvents
https://docs.microsoft.com/en-us/powershell/module/exchange/remove-calendarevents?view=exchange-ps
Ich habe das mal mit einem Testuser durchgespielt. Der "Max Muster" musste dafür herhalten.
Er hat letzte Woche eine Menge Räume gebucht.
Mit folgendem Befehl und dem PreviewOnly Parameter kann man sich die Meetings anzeigen lassen.
Remove-CalendarEvents -Identity m.muster@icewolf.ch -CancelOrganizedMeetings -QueryStartDate 1/1/2020 -QueryWindowInDays 365 -PreviewOnly
Mit folgendem Befehl werden die Meetings dann auch gleich gelöscht. Das bedeutet natürlich auch, dass für jedes dieser Meetings eine Terminabsage versendet wird. Aber nur so werden...
Hallo zusammen,
Früher oder später kommt wohl mal jeder Exchange Administrator dazu, Auswertungen zu Exchange Room Mailboxen machen zu müssen.
Ich habe mich ein bisschen umgesehen und folgende zwei Varianten gefunden
http://stackoverflow.com/questions/10921563/extract-the-report-of-room-calendar-from-exchage-server-using-powershell-scripti
https://gallery.technet.microsoft.com/office/Exchange-Meeting-Room-2aab769a
Beim ersten Script gefällt mir, dass "InPolicy" und "Out-Of-Policy" (die Bürozeiten des Raumes)berücksichtigt werden. Man muss allerdings Rechte auf dem Kalender oder Full Access auf den Räumen haben.
Beim zweiten Script gefällt mir, dass da auch noch die Top Organizer und die Top Attandees aufgelistet sind. Ausserdem kann dort die EWS Impersonation genutzt werden.
Ich habe also aus den beiden Scripts ein neues gemacht.
Prerequisits
- Exchange Online Powershell...
Hallo zusammen,
Ich hatte diese Woche einen mysteriösen Fall. Jemand hatte gemeldet, dass seine Termine bei anderen als "Privat" angezeigt werden, obwohl das "Private" Flag mit dem Schlösschen gar nicht gesetzt ist. Das hat aber nur Termine betroffen, welche eine Besprechung mit anderen Personen waren.
So sieht ein Termin aus, welcher als "privat" markiert ist.
Es gab aber trotzdem Termine, welche so ausgesehen haben.
Ich habe mir den Termin dann mit MFCMapi genauer angeschaut.
Tatsächlich, das private Flag ist nicht gesetzt, aber das hatte ich ja auch schon im Outlook gesehen.
Allerdings bin ich dann auf das PR_SENSITIVITY gestossen
Vertraulichkeit - Sensitivity
https://www.msxfaq.de/konzepte/vertraulich.htm
Const CdoNoSensitivity = 0 ' Default
Const CdoPersonal =...
Hallo zusammen,
Mit dem Exchange cmdlet Set-UserPhoto kann man hochauflösende Fotos (JPEG mit 648 x 648 Pixel und einer Farbtiefe von 24 Bit) speichern.
Konfigurieren der Verwendung von Fotos mit hoher Auflösung in Skype for Business Server
https://docs.microsoft.com/de-de/skypeforbusiness/deploy/integrate-with-exchange-server/high-resolution-photos?redirectedfrom=MSDN
Uploading High Resolution User Profile Pictures in Office 365
https://tahoeninjas.blog/2015/04/10/uploading-high-resolution-user-profile-pictures-in-office-365/
Set-UserPhoto -Identity "boa" -PictureData ([System.IO.File]::ReadAllBytes("C:\Scripts\Avatar.jpg"))
Exchange Role Based Access Control (RBAC) On-Prem
Oft sind verschiedene Teams für Identity, Exchange und den Bilderimport verantwortlich. Also gilt es, eine entsprechende Exchange RBAC Rolle zu erstellen, welche nur genau die Bilder anpassen darf.
Habe schon mal so eine ähnliche RBAC Rolle für Exchange 2010 erstellt.
Exchange 2010 RBAC ImportGALPicture
http://blog.icewolf.ch/archive/2012/12/04/exchange-2010-rbac-importgalpicture.aspx
Schauen wir also mal in welchen Rollen...
Hallo zusammen,
Wie die ImmutableId vom AAD Objekt mit dem synchronisierten Objekt im Active Directory zusammenhängt, habe ich in untenstehender Grafik versucht zu verdeutlichen.
Aber alles mal der Reihe nach....
Bis zur Version 1.1.486.0 wurde von AAD Connect das AD Attribut objectGUID als sourceAnchor verwendet. Ab der Version 1.1.542.0 und später wird das AD Attribut ms-DS-ConsistencyGuid als sourceAnchor verwendet. Beim Upgrade gab es ein entsprechendes Prozedere um den sourceAnchor anzupassen.
Azure AD Connect: Design concepts
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/plan-connect-design-concepts
Wir schauen uns mal die objectGUID von meinem Active Directory User Objekt an.
In der HEX Ansicht sieht das so aus
Wir vergleichen das mit dem AD Attribut ms-DS-ConsistencyGuid ebenfalls in...
Hallo zusammen,
In diesem Blog Artikel habe ich mich etwas mit Azure Storage, dem Azure Storage Explorer und dem Command Line Tool AzCopy befasst.
Erstellen vom Azure Storage Account
In den folgenden Screenshots wird der Storage Account im Azure Portal erstellt https://portal.azure.com
Azure Storage Explorer
Azure Storage Explorer
https://azure.microsoft.com/en-us/features/storage-explorer/
Ist schon eine Weile her, dass ich den Storage Explorer das letzte mal benutzt habe. Da hat sich einigest getan.
Man kann sich mit verschiedenen Möglichkeiten einloggen. Ich habe mich dafür entschieden, das Azure Konto hinzuzufügen.
Habe dann einen Container "icewolf-container" hizugefügt. Dann kann man ein File hochladen.
Nach dem Hochladen kann man sich den AzCopy Befehl herunterladen.
Im Azure Portal...
Hallo zusammen,
Beim Server Message Block (SMB) Protokoll handelt es sich um ein Netzwerkprotokoll für Datei und Druckerdienste. Seit Windows 8 / Windows 2012 wird das SMB v3 Protokoll untersützt, welches auch End-to-End Encryption unterstützt.
SMB security enhancements
https://docs.microsoft.com/en-us/windows-server/storage/file-server/smb-security
Verschlüsselter Zugriff auf SMB Shares?
https://www.advact.ch/advact/news/details/verschluesselter-zugriff-auf-smb-shares?li_fat_id=97cf6029-ad33-46d3-9d30-efd65a358861
Die SMB Server Einstellungen kann man sich mit folgendem Befehl anschauen
Get-SmbServerConfiguration
Um die SMB Encryption auf dem ganzen Server zu aktivieren wird folgender PowerShell Befehl benutzt
Set-SmbServerConfiguration –EncryptData $true
Hier ein Beispiel eines Windows Server 2012
Die Shares und die Konfiguration der einzelnen Shares kann man sich mit folgenden Befehlen anschauen
get-smbshare
get-smbshare -name <ShareName>| fl *
Um die Encryption nur auf einem Share zu...
Hallo zusammen,
Mit Skype for Business und Teams, sowie anderen VoIP und Meeting Technologien, wird ein gutes Headset immer wie wichtiger. Um bestmögliche Qualität während Anrufen und Meetings zu erhalten, muss es sich um zertifizierte Hardware handeln, denn diese muss gewisse Qualitätskriterien erfüllen.
Introducing new Teams certified devices
https://techcommunity.microsoft.com/t5/microsoft-teams-blog/introducing-new-teams-certified-devices/ba-p/1345703
Skype for Business and Teams certification program
https://docs.microsoft.com/en-us/SkypeForBusiness/certification/overview
Auserdem sollte man in regelmässigen Abständen die Firmware aktualiseren
https://www.jabra.com.de/software-and-services/jabra-direct
Grüsse
Andres Bohren
Hallo zusammen,
Am gestrigen Microsoft Patchday gab es mal wieder ein Secuity Update für Office Online Server.
Beschreibung des Sicherheitsupdates für Office Online Server: 14. Juli 2020
https://support.microsoft.com/de-ch/help/4484451/security-update-for-office-online-server-july-14-2020
Security Update for Microsoft Office Online Server (KB4484451)
https://www.microsoft.com/en-us/download/details.aspx?id=101512
Grüsse
Andres Bohren
Hallo zusammen,
Gestern war Microsoft Patchday und es wurde ein Security Update für Skype for Business Server 2015 CU 8 veröffentlicht.
Description of the security update for Skype for Business Server 2015 CU 8: July 14, 2020
https://support.microsoft.com/de-ch/help/4571333/description-of-the-security-update-for-skype-for-business-server-2015
Skype for Business Server 2015 Cumulative Update KB3061064
https://www.microsoft.com/en-us/download/details.aspx?id=47690
Installation auf einem Standardserver
Zuerst müssen die Services gestoppt werden
Stop-CsWindowsService
Stop-Service w3svc
Ausführen des SkypeServerUpdateInstaller.exe
Anschlissend müssen die Services wieder gestartet werden
Start-CsWindowsService
Start-Service w3svc
Nun müssen noch die Datenbanken aktualisiert werden
Install-CsDatabase -Update -LocalDatabases
Grüsse
Andres Bohren
Hallo zusammen,
Ich habe ja schon kürzich über das neue Exchange Admin Center in Microsoft 365 berichtet. Kürzlich wurde dazu ein Artikel im Exchange Team Blog veröffentlicht. Neu kann man über das Exchange Admin Center auch im GUI gelöschte Objekte wiederherstellen.
A New RecoverableItems Experience Comes to Exchange Online!
https://techcommunity.microsoft.com/t5/exchange-team-blog/a-new-recoverableitems-experience-comes-to-exchange-online/ba-p/1505353
Dazu braucht es aber erstmal ein paar Grundlagen.
Recoverable Items folder in Exchange Server
https://docs.microsoft.com/en-us/exchange/policy-and-compliance/recoverable-items-folder/recoverable-items-folder?view=exchserver-2019
Ein Mail kommt erst in die Recoverable Items (Exchange Papierkorb) von Exchange, wenn der Benutzer das Objekt mit Shift + Delete direkt löscht oder nachdem es aus den "Deleted Items" (Gelöschte Objekte) im Postfach gelöscht wird.
In diesem Falle landet das Objekt im "Deletions" Order....
Hallo zusammen,
Erst vor ein paar Tagen ist eine neue Version vom AAD Connect veröffentlicht worden. Neu ist dabei, dass man die Konfiguration als JSON exportieren und importieren kann. Das ist allerdings erst im Preview.
Azure AD Connect: Version release history
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/reference-connect-version-history
Microsoft Azure Active Directory Connect 1.5.42.0
https://www.microsoft.com/en-us/download/details.aspx?id=47594
Danach kann man im M365 Admin Portal prüfen ob der Sync immer noch funktioniert und die neue Version angezeigt wird.
https://admin.microsoft.com/AdminPortal/Home#/dirsyncmanagement
Wie bereits erwähnt, kann man die AAD Connect Konfiguration als JSON Exportieren.
Importing and exporting Azure AD Connect configuration settings (Public Preview)
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-import-export-config
Das File befindet sich dann hier: C:\ProgramData\AADConnect
Grüsse
Andres Bohren
Hallo zusammen,
Vor ein paar Tagen hat Microsoft auf dem Exchange Team Blog erklärt, wie man mit sich mit Modern Auth und dem Exchange Online PowerShell V2 Module authentifizieren kann. Dies benötigt jedoch die Preview vom Exchange Online PowerShell V2 Module.
Modern Auth and Unattended Scripts in Exchange Online PowerShell V2
https://techcommunity.microsoft.com/t5/exchange-team-blog/modern-auth-and-unattended-scripts-in-exchange-online-powershell/ba-p/1497387
App-only authentication for unattended scripts in the EXO V2 module
https://docs.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps
A first look at Certificate-Based Authentication for Exchange Online Remote PowerShell
https://www.quadrotech-it.com/blog/certificate-based-authentication-for-exchange-online-remote-powershell/
Als erstes muss eine Applikation im Azure AD registriert werden.
Dort nur einen Namen vergeben, den Rest so belassen
Am besten merkt man sich dann gleich die Application ID
Nun müssen der Applikation noch...
Hallo zusammen,
Kürzlich habe ich einen Blog Artikel geschrieben, wie man mit Visual Studio Code ein Version Control Repository in GitHub verwaltet.
In diesem Artikel zeige ich euch Azure DevOps und wie man hier Code in einem Repository verwalten kann.
Für die ersten fünf Benutzer ist Azure DevOps kostenlos. Danach kostet der Basci Plan 5.91 pro Benutzer und Monat. Für meine Zwecke reicht der Basis Plan.
https://azure.microsoft.com/de-de/pricing/details/devops/azure-devops-services/
Nun muss man die Region auswählen
Der Organisation einen Namen vergeben - ich übernehme den Vorschlag
Die DevOps Organisation ist vorbereitet. Nun kann man ein Projekt erstellen. Ich erstelle ein privates Projekt um dort Code zu verwalten.
Es gibt aber noch...
Hallo zusammen,
Es gibt eine Preview vom ExchangeOnlineManagement Modul - musste ich natürlich ausprobieren.
https://www.powershellgallery.com/packages/ExchangeOnlineManagement/2.0.3-Preview
Um PowerShell Module zu installieren, muss die PowerShell als Administrator gestartet werden. Damit keine Module über die PowerShell Profile geladen werden, starte ich eine cmd als Administrator. Dort führe ich dann folgenden Befehl aus:
start PowerShell -noprofile
Als ich den Befehl für die Installation eingegeben habe, war der Parameter "-AllowPrerelease" unbekannt
Install-Module -Name ExchangeOnlineManagement -AllowPrerelease
Tja das heisst wohl, dass PowershellGet zu alt ist.
Get-Module PowershellGet --ListAvailable
Find-Module PowershellGet
Install-Module PowershellGet
Install-Module PowershellGet -Force
Nun kann die neue Version vom ExchangeOnlineManagement PowerShell Modul installiert werden.
Falls nicht schon passiert, zuerst die alte Version deinstallieren
Uninstall-Module -Name ExchangeOnlineManagement
Install-Module -Name ExchangeOnlineManagement...
Hallo zusammen,
Das Update der PowerShell 7 mit der Version 7.0.2 gibt es schon ein paar Wochen. Höchste Zeit das mal zu installieren.
v7.0.2 Release of Powershell
https://github.com/PowerShell/PowerShell/releases/tag/v7.0.2
Grüsse
Andres Bohren
Hallo zusammen,
Schon vor einiger Zeit wurde informiert, dass es eine neues Layout und Navigation auf der M365 Startseite https://office.com geben wird.
So hat es bisher ausgesehen
Gestern habe ich das neue Layout auf der Seite zum ersten mal gesehen.
Klickt man oben auf das Viereck mit den Punkten öffnet sich das Menü.
Klickt man auf "Alle Apps" gehen die Apps seitlich auf.
Grüsse
Andres Bohren
Hallo zusammen,
Im letzten Artikel haben wir uns mit den Grundlagen von GIT vertraut gemacht.
Visual Studio Code and Version Control - Part 2
http://blog.icewolf.ch/archive/2020/07/04/visual-studio-code-and-version-control-part-2.aspx
Nun folgt die praktische Anwendung im VS Code
Ein paar Tips hierzu gibt's auch hier:
Using Version Control in VS Code
https://code.visualstudio.com/docs/editor/versioncontrol
Mit Ctrl + Shift + P kommt man in die Command Palette. Dort gibt man folgendes ein:
Git: Clone
Ich habe mir schon vor einiger Zeit ein GitHub Konto angelegt und dort ein Repository angelegt.
https://github.com/BohrenAn/ExOIPChecker
Auf dem Knopf "Clone or Download" kann man die URL vom Repository kopieren.
Diese URL gibt man nun im VS Code ein.
Anschliessend muss man noch ein Working Directory konfigurieren. Ich...
Hallo zusammen,
Im vorangegangenen Artikel habe ich euch gezeigt, wie man VS Code und GIT installiert.
Visual Studio Code and Version Control - Part 1
http://blog.icewolf.ch/archive/2020/07/04/visual-studio-code-and-version-control-part-1.aspx
Nun muss man sich erstmal mit den Grundlagen von GIT auseinander setzen. Ich habe den untenstehenden Link gefunden und finde, er zeigt recht gut die Grundlagen der Versionsverwaltung mit GIT auf. Natürlich ist das stark vereinfacht, aber ich denke, das wichtigste steht da.
git - Der einfache Einstieg
https://rogerdudler.github.io/git-guide/index.de.html
Ich habe mir erlaubt, die wichtigsten Dinge zusammenzufassen. Also eine Art Zusammenfassung der Zusammenfassung :)
#neues repository erstellen
git init
#ein repository auschecken
git clone /pfad/zum/repository
#Falls du ein entferntes Repository verwendest, benutze:
git clone benutzername@host:/pfad/zum/repository
#Du...
Hallo zusammen,
Die Rolle des Systemadministrators verändert sich schon seit ein paar Jahren. Obwohl Engineering immer noch ein grosser Teil des Alltags ist, wird die Automatisierung immer wichtiger. Ein Systemadministrator, welcher sich nur im GUI zurechtfindet, hat es immer schwieriger. Wer kein PowerShell oder ein paar andere Programmiersprachen wie C#, Javascript, Java, Phyton (die Liste lässt sich beliebig erweitern) kann, hat es immer schwerer.
Seit einigen Jahren wird in der IT Industrie das DevOps Modell vorangetrieben. Dabei werden Teams aus Entwicklern (Developer) und Systemadministratoren (Operator) zusammengestellt, welche dann gemeinsam für ein Produkt verantwortlich sind.
In meiner Laufbahn habe ich mich mit verschiedenen Programmiersprachen auseinandergesetzt...
Hallo zusammen,
Die Dokumentation der Office 365 URL's und IP's existiert schon sehr lange. Anfänglich konnte man sich ein XML herunterladen. Seit knapp zwei Jahren gibt es einen Webservice, welches ein JSON zurückliefert.
Office 365 URLs and IP address ranges
https://docs.microsoft.com/en-us/office365/enterprise/urls-and-ip-address-ranges
Office 365 IP Address and URL web service
https://docs.microsoft.com/en-us/office365/enterprise/office-365-ip-web-service
Falls auf einer Firewall die IP's für Exchange Online Protection eingeschränkt werden, so sollte man zumindest mitbekommen, wenn sich die IP's ändern, damit man die Firewall Regeln angepasst werden können. Dafür habe ich ein entsprechende Script entwickelt.
Es gibt sogar Scripte für Checkpoint Firewalls, welche das automatisch anpassen https://github.com/leinadred/IPaddressFeed2CheckPointAPI
So sieht das JSON aus und ist einfach zu...
Hallo zusammen,
Nachdem ich mich beim Exchange Update wieder mal durch den Wizard geklickt hatte und dann darauf hingewiesen wurde, dass noch ein Pending Reboot offen ist. Habe ich gedacht, das könnte man auch rasch vorher checken. Die folgende Tabelle habe ich im Internet gefunden. Daraus habe ich dann rasch ein PowerShell Script gebastelt.
How to Check for a Pending Reboot in the Registry (Windows)
https://adamtheautomator.com/pending-reboot-registry-windows/
KEY
VALUE
...
Hallo zusammen,
Wie im Message Center angekündigt, ist der Storage Provider "Egnyte" automatisch aktiviert.
So sieht das dann im Microsoft Teams Admin Center aus.
Das kann man übers GUI deaktivieren oder natürlich auch über PowerShell.
Get-CsTeamsClientConfiguration | fl allow*
Set-CsTeamsClientConfiguration -AllowEgnyte $false
Danach ist es deaktiviert
Grüsse
Andres Bohren
Hallo zusammen,
Vor ein paar Tagen wurde die Public Preview vom Endpoint Analytics angekündigt. Ich habe mir das mal angeschaut und ein paar Screenshots davon gemacht.
What is Endpoint analytics (preview)?
https://docs.microsoft.com/de-de/mem/analytics/overview
https://aka.ms/endpointanalytics
Grüsse
Andres Bohren