From 857e8c0afc941faf11b087cd7c5ca111c7b2436e Mon Sep 17 00:00:00 2001 From: diecknet Date: Mon, 23 Dec 2024 16:06:09 +0000 Subject: [PATCH] deploy: c7dd3c2093885935276c331d9558cf99cdb61896 --- de/2019/10/21/new-blog/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../01/25/Exchange-Mailbox-Creation-Date/index.html | 4 ++-- .../05/01/Exchange-Hybrid-HCW8064-OAuth/index.html | 4 ++-- .../10/Apple-Internet-Accounts-Office365/index.html | 4 ++-- de/2020/06/05/Azure-AD-Connect-Video/index.html | 4 ++-- de/2020/06/10/Office-365-Trials/index.html | 4 ++-- .../06/23/Azure-AD-Connect-Video-Part2/index.html | 4 ++-- .../09/08/Set-File-Date-with-PowerShell/index.html | 4 ++-- de/2020/12/01/M365-Self-Service-Purchase/index.html | 4 ++-- .../25/MSTeams-Disable-Custom-Backgrounds/index.html | 4 ++-- .../06/29/Deleted-Teams-Channel-Retention/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../Exchange-Online-per-Azure-Automation/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- de/2023/11/28/powershell-brackets/index.html | 4 ++-- .../index.html | 4 ++-- .../02/20/powershell-check-admin-rights/index.html | 4 ++-- .../28/powershell-environment-variables/index.html | 4 ++-- de/2024/03/05/powershell-profiles/index.html | 4 ++-- .../12/powershell-measure-execution-time/index.html | 4 ++-- de/2024/03/19/powershell-regex/index.html | 4 ++-- de/2024/03/26/powershell-dot-sourcing/index.html | 4 ++-- de/2024/04/09/powershell-suppress-output/index.html | 4 ++-- .../powershell-remote-script-development/index.html | 4 ++-- de/2024/04/29/powershell-null/index.html | 4 ++-- .../05/15/powershell-multiline-commands/index.html | 4 ++-- de/2024/06/08/powershell-zip/index.html | 4 ++-- .../powershell-write-host-vs-write-output/index.html | 4 ++-- .../21/powershell-calculated-properties/index.html | 4 ++-- .../index.html | 4 ++-- de/2024/09/12/powershell-array-plus/index.html | 4 ++-- de/2024/09/20/powershell-wmi/index.html | 4 ++-- de/2024/11/02/powershell-cancel-loops/index.html | 4 ++-- de/2024/12/16/entra-connect-matching/index.html | 4 ++-- de/404.html | 4 ++-- de/about/index.html | 4 ++-- de/archive/index.html | 4 ++-- de/categories/index.html | 4 ++-- de/index.html | 12 ++++++------ de/legal/index.html | 4 ++-- de/page/2/index.html | 6 +++--- de/page/3/index.html | 6 +++--- de/page/4/index.html | 6 +++--- de/page/5/index.html | 6 +++--- de/page/6/index.html | 6 +++--- de/page/7/index.html | 6 +++--- de/posts/index.html | 4 ++-- de/posts/page/2/index.html | 4 ++-- de/posts/page/3/index.html | 4 ++-- de/posts/page/4/index.html | 4 ++-- de/privacy/index.html | 4 ++-- de/services/index.html | 4 ++-- de/tags/AAD/index.html | 4 ++-- de/tags/Active-Directory/index.html | 4 ++-- de/tags/Azure-AD-Connect/index.html | 4 ++-- de/tags/Azure-Active-Directory/index.html | 4 ++-- de/tags/Exchange-Server/index.html | 4 ++-- de/tags/about/index.html | 4 ++-- de/tags/activedirectory/index.html | 4 ++-- de/tags/admin-rights/index.html | 4 ++-- de/tags/apple/index.html | 4 ++-- de/tags/azure/index.html | 4 ++-- de/tags/azuread/index.html | 4 ++-- de/tags/azureadconnect/index.html | 4 ++-- de/tags/azureautomation/index.html | 4 ++-- de/tags/brackets/index.html | 4 ++-- de/tags/constrained-language/index.html | 4 ++-- de/tags/customization/index.html | 4 ++-- de/tags/diecknet/index.html | 4 ++-- de/tags/entra-connect/index.html | 4 ++-- de/tags/environment-variables/index.html | 4 ++-- de/tags/exchange-online/index.html | 4 ++-- de/tags/exchange/index.html | 4 ++-- de/tags/exchange2010/index.html | 4 ++-- de/tags/exchange2013/index.html | 4 ++-- de/tags/exchangehybrid/index.html | 4 ++-- de/tags/exchangeonline/index.html | 4 ++-- de/tags/exo/index.html | 4 ++-- de/tags/freigegebenes-postfach/index.html | 4 ++-- de/tags/hybrid/index.html | 4 ++-- de/tags/hybrididentity/index.html | 4 ++-- de/tags/index.html | 4 ++-- de/tags/ios/index.html | 4 ++-- de/tags/iphone/index.html | 4 ++-- de/tags/klammern/index.html | 4 ++-- de/tags/language-mode/index.html | 4 ++-- de/tags/licensing/index.html | 4 ++-- de/tags/measure/index.html | 4 ++-- de/tags/microsoft-entra/index.html | 4 ++-- de/tags/microsoft-teams/index.html | 4 ++-- de/tags/microsoft365/index.html | 4 ++-- de/tags/microsoftteams/index.html | 4 ++-- de/tags/ntfs/index.html | 4 ++-- de/tags/oauth/index.html | 4 ++-- de/tags/office365/index.html | 4 ++-- de/tags/optimization/index.html | 4 ++-- de/tags/powershell/index.html | 4 ++-- de/tags/powershell/page/2/index.html | 4 ++-- de/tags/powershell/page/3/index.html | 4 ++-- de/tags/powershellsnips/index.html | 4 ++-- de/tags/profiles/index.html | 4 ++-- de/tags/regex/index.html | 4 ++-- de/tags/regular-expressions/index.html | 4 ++-- de/tags/security-identifiers/index.html | 4 ++-- de/tags/selfservice/index.html | 4 ++-- de/tags/shared-mailbox/index.html | 4 ++-- de/tags/teams-audio-conferencing/index.html | 4 ++-- de/tags/teams-channel-retention/index.html | 4 ++-- de/tags/teams-dial-in-number/index.html | 4 ++-- de/tags/teams/index.html | 4 ++-- de/tags/timespan/index.html | 4 ++-- de/tags/trial/index.html | 4 ++-- de/tags/why/index.html | 4 ++-- de/tags/windows/index.html | 4 ++-- de/tags/windowsserver/index.html | 4 ++-- en/2019/10/21/new-blog/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../01/25/Exchange-Mailbox-Creation-Date/index.html | 4 ++-- .../05/01/Exchange-Hybrid-HCW8064-OAuth/index.html | 4 ++-- .../10/Apple-Internet-Accounts-Office365/index.html | 4 ++-- .../20/Check-NTFS-Permissions-Powershell/index.html | 4 ++-- en/2020/06/10/Office-365-Trials/index.html | 4 ++-- .../05/02/My-simple-serverless-journey/index.html | 4 ++-- .../index.html | 4 ++-- .../06/29/Deleted-Teams-Channel-Retention/index.html | 4 ++-- .../index.html | 4 ++-- en/2021/08/18/TeamsAutoUpgrade-fail/index.html | 4 ++-- .../index.html | 4 ++-- en/2021/10/13/PowerShell-Task-Scheduler/index.html | 4 ++-- .../10/25/PowerShell-Regular-Expression/index.html | 4 ++-- .../27/My-simple-serverless-journey-part2/index.html | 4 ++-- .../index.html | 4 ++-- .../List-All-Microsoft-Booking-Mailboxes/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../Exchange-Online-per-Azure-Automation/index.html | 4 ++-- en/2023/02/12/ntfy-sh-with-homeassistant/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- en/2024/02/22/Migrating-from-11ty-to-Hugo/index.html | 4 ++-- .../index.html | 4 ++-- .../21/powershell-calculated-properties/index.html | 4 ++-- .../index.html | 4 ++-- en/2024/09/24/tryhackme-blueprint/index.html | 4 ++-- en/2024/11/25/powershell-show-adba-infos/index.html | 4 ++-- en/404.html | 4 ++-- en/about/index.html | 4 ++-- en/archive/index.html | 4 ++-- en/categories/index.html | 4 ++-- en/index.html | 12 ++++++------ en/legal/index.html | 4 ++-- en/page/2/index.html | 6 +++--- en/page/3/index.html | 6 +++--- en/page/4/index.html | 6 +++--- en/posts/index.html | 4 ++-- en/posts/page/2/index.html | 4 ++-- en/posts/page/3/index.html | 4 ++-- en/posts/page/4/index.html | 4 ++-- en/privacy/index.html | 4 ++-- en/services/index.html | 4 ++-- en/tags/11ty/index.html | 4 ++-- en/tags/Active-Directory/index.html | 4 ++-- en/tags/Exchange-Server/index.html | 4 ++-- en/tags/Hybrid/index.html | 4 ++-- .../index.html | 4 ++-- en/tags/MicrosoftTeams/index.html | 4 ++-- en/tags/SkypeForBusiness/index.html | 4 ++-- en/tags/about/index.html | 4 ++-- en/tags/accessrights/index.html | 4 ++-- en/tags/acl/index.html | 4 ++-- en/tags/adba/index.html | 4 ++-- en/tags/apple/index.html | 4 ++-- en/tags/archive-mailbox/index.html | 4 ++-- en/tags/azure-ad-connect/index.html | 4 ++-- en/tags/azure-ad/index.html | 4 ++-- en/tags/azure-virtual-desktop/index.html | 4 ++-- en/tags/azure/index.html | 4 ++-- en/tags/azuread/index.html | 4 ++-- en/tags/azureautomation/index.html | 4 ++-- en/tags/booking-calendar/index.html | 4 ++-- en/tags/cloud/index.html | 4 ++-- en/tags/cloudflare/index.html | 4 ++-- en/tags/cloudflareworkers/index.html | 4 ++-- en/tags/constrained-language/index.html | 4 ++-- en/tags/cyber-security/index.html | 4 ++-- en/tags/diecknet/index.html | 4 ++-- en/tags/eleventy/index.html | 4 ++-- en/tags/exchange-online/index.html | 4 ++-- en/tags/exchange-server-setup/index.html | 4 ++-- en/tags/exchange/index.html | 4 ++-- en/tags/exchange2010/index.html | 4 ++-- en/tags/exchange2013/index.html | 4 ++-- en/tags/exchangehybrid/index.html | 4 ++-- en/tags/exchangeonline/index.html | 4 ++-- en/tags/exo/index.html | 4 ++-- en/tags/filename/index.html | 4 ++-- en/tags/fslogix/index.html | 4 ++-- en/tags/git/index.html | 4 ++-- en/tags/graph-api/index.html | 4 ++-- en/tags/hackathon/index.html | 4 ++-- en/tags/home-assistant/index.html | 4 ++-- en/tags/homeassistant/index.html | 4 ++-- en/tags/hugo/index.html | 4 ++-- en/tags/index.html | 4 ++-- en/tags/ios/index.html | 4 ++-- en/tags/ipaddress/index.html | 4 ++-- en/tags/iphone/index.html | 4 ++-- en/tags/language-mode/index.html | 4 ++-- en/tags/licensing/index.html | 4 ++-- en/tags/mfa/index.html | 4 ++-- en/tags/microsoft-365/index.html | 4 ++-- en/tags/microsoft-booking/index.html | 4 ++-- en/tags/microsoft-teams/index.html | 4 ++-- en/tags/microsoft365/index.html | 4 ++-- en/tags/multi-factor-authentication/index.html | 4 ++-- en/tags/my-site/index.html | 4 ++-- en/tags/named-groups/index.html | 4 ++-- en/tags/nerdio/index.html | 4 ++-- en/tags/notification/index.html | 4 ++-- en/tags/ntfs/index.html | 4 ++-- en/tags/ntfy.sh/index.html | 4 ++-- en/tags/oauth/index.html | 4 ++-- en/tags/office365/index.html | 4 ++-- en/tags/onedrive-for-business/index.html | 4 ++-- en/tags/onedrive/index.html | 4 ++-- en/tags/php/index.html | 4 ++-- en/tags/powershell/index.html | 4 ++-- en/tags/powershell/page/2/index.html | 4 ++-- en/tags/regex/index.html | 4 ++-- en/tags/regexp/index.html | 4 ++-- en/tags/regular-expressions/index.html | 4 ++-- en/tags/serverless/index.html | 4 ++-- en/tags/sharepoint-online/index.html | 4 ++-- en/tags/simpleip/index.html | 4 ++-- en/tags/ssg/index.html | 4 ++-- en/tags/static-site-generator/index.html | 4 ++-- en/tags/task-scheduler/index.html | 4 ++-- en/tags/teams-audio-conferencing/index.html | 4 ++-- en/tags/teams-channel-retention/index.html | 4 ++-- en/tags/teams-dial-in-number/index.html | 4 ++-- en/tags/teams/index.html | 4 ++-- en/tags/timezone/index.html | 4 ++-- en/tags/trial/index.html | 4 ++-- en/tags/troubleshooting/index.html | 4 ++-- en/tags/tryhackme/index.html | 4 ++-- en/tags/vercel/index.html | 4 ++-- en/tags/website/index.html | 4 ++-- en/tags/why/index.html | 4 ++-- en/tags/windows-virtual-desktop/index.html | 4 ++-- en/tags/windows/index.html | 4 ++-- en/tags/windowsvirtualdesktop/index.html | 4 ++-- 262 files changed, 541 insertions(+), 541 deletions(-) diff --git a/de/2019/10/21/new-blog/index.html b/de/2019/10/21/new-blog/index.html index 400f2f50..9462ab49 100644 --- a/de/2019/10/21/new-blog/index.html +++ b/de/2019/10/21/new-blog/index.html @@ -17,10 +17,10 @@ B: 2001 hat angerufen und will seinen Blog zurück! A: … Nun ja… -Das WARUM Nicht erst seit ich professionell in der IT-Welt arbeite, weiß ich, dass die Lösung zu vielen IT-Problemen oft nur eine Google Suche entfernt ist. Bei komplizierten Fällen muss man manchmal allerdings länger recherchieren… In den Jahren habe ich immer mal wieder interessante Perspektiven und Lösungsansätze im Netz gefunden, die mir dabei geholfen haben weiter zu kommen.">

Ein neuer Blog

Inhaltsverzeichnis

Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe:

B: Dein Handy klingelt…
A: Oh, was? tippt auf das Handy
B: 2001 hat angerufen und will seinen Blog zurück!
A: …

Nun ja…

Das WARUM

Nicht erst seit ich professionell in der IT-Welt arbeite, weiß ich, dass die Lösung zu vielen IT-Problemen oft nur eine Google Suche entfernt ist. Bei komplizierten Fällen muss man manchmal allerdings länger recherchieren… In den Jahren habe ich immer mal wieder interessante Perspektiven und Lösungsansätze im Netz gefunden, die mir dabei geholfen haben weiter zu kommen. +Das WARUM Nicht erst seit ich professionell in der IT-Welt arbeite, weiß ich, dass die Lösung zu vielen IT-Problemen oft nur eine Google Suche entfernt ist. Bei komplizierten Fällen muss man manchmal allerdings länger recherchieren… In den Jahren habe ich immer mal wieder interessante Perspektiven und Lösungsansätze im Netz gefunden, die mir dabei geholfen haben weiter zu kommen.">

Ein neuer Blog

Inhaltsverzeichnis

Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe:

B: Dein Handy klingelt…
A: Oh, was? tippt auf das Handy
B: 2001 hat angerufen und will seinen Blog zurück!
A: …

Nun ja…

Das WARUM

Nicht erst seit ich professionell in der IT-Welt arbeite, weiß ich, dass die Lösung zu vielen IT-Problemen oft nur eine Google Suche entfernt ist. Bei komplizierten Fällen muss man manchmal allerdings länger recherchieren… In den Jahren habe ich immer mal wieder interessante Perspektiven und Lösungsansätze im Netz gefunden, die mir dabei geholfen haben weiter zu kommen. Mit diesem Blog möchte ich etwas zurückgeben. Ich möchte Lösungen und Ideen teilen, um anderen zu helfen. Diese Webseite ist also nicht kommerziell, dient nicht der Selbstdarstellung oder ähnlichem.

Natürlich könnte ich die Informationen stattdessen auch auf Reddit, StackOverflow oder anderen Foren und Websites teilen. Aber ich möchte das Ganze unabhängig von anderen Plattformen halten. Falls ich mich irgendwann dazu entschließen sollte, diese Webseite nicht mehr weiter zu betreiben, kann sie weiterhin über das Internet Archive abgerufen werden.

Themen

Thematisch wird es hier voraussichtlich um Windows Server, Office 365, PowerShell, Azure, Exchange Server etc. gehen.

Feedback

Ich freue mich über jedes Feedback und Verbesserungsvorschläge zur Webseite und zu den Inhalten. Ich habe bisher allerdings noch keinen Kanal dafür eingerichtet. Eine Kommentarfunktion für den Blog ist noch in Planung. Der Code dieser Webseite ist auf GitHub einsehbar.

+Datenschutz \ No newline at end of file diff --git a/de/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html b/de/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html index 6e84f1b4..69ee9ffb 100644 --- a/de/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html +++ b/de/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html @@ -14,9 +14,9 @@ … The security certificate has expired or is not valid yet] Ich habe kürzlich eine Anfrage von einem Kunden erhalten, der nach seiner Office 365 Migration noch Zertifikatswarnungen (Zertifikat abgelaufen) für den alten Exchange Server erhalten hat. Da ich bei der Migration nicht involviert war, musste ich mir erstmal einen Überblick verschaffen: -Der On-Premise Exchange Server 2010 war noch vorhanden - logisch, sonst wäre wohl kaum eine Zertifikatswarnung erschienen.">

Outlook Zertifikatswarnung nach Office 365 Migration

Outlook Zertifikatswarnung nach Office 365 Migration
Security Alert: svr1.example.com

The security certificate has expired or is not valid yet]

Ich habe kürzlich eine Anfrage von einem Kunden erhalten, der nach seiner Office 365 Migration noch Zertifikatswarnungen (Zertifikat abgelaufen) für den alten Exchange Server erhalten hat. Da ich bei der Migration nicht involviert war, musste ich mir erstmal einen Überblick verschaffen:
Der On-Premise Exchange Server 2010 war noch vorhanden - logisch, sonst wäre wohl kaum eine Zertifikatswarnung erschienen. Es erhalten allerdings auch nicht alle Anwender diese Meldung. Betroffen waren sowohl migrierte Benutzer, als auch Benutzer, deren Postfächer direkt in Office 365 erstellt wurden.

Outlook Verbindungsstatus: Es werden noch Ressourcen vom Exchange Server svr1.example.com abgerufen
Bei einem betroffenen User haben wir per STRG+Rechtsklick auf das Outlook-Symbol im Tray im Menü den “Verbindungsstatus” abgerufen. Hier war schnell ersichtlich, dass der User tatsächlich noch Ressourcen des lokalen On-Premise Exchange Systems abruft: Ein IT-Mitarbeiter hat neue Ressourcenpostfächer am Exchange Server erstellt und den Anwendern Zugriff erteilt.
Als Workaround könnte nun erstmal das Zertifikat des Servers erneuert werden. Die tatsächliche Lösung, nämlich das Ressourcenpostfach ebenfalls zu Office 365 zu migrieren, konnte aus organisatorischen Gründen des Kunden nicht zeitnah umgesetzt werden.

© 2024 diecknet +Der On-Premise Exchange Server 2010 war noch vorhanden - logisch, sonst wäre wohl kaum eine Zertifikatswarnung erschienen.">

Outlook Zertifikatswarnung nach Office 365 Migration

Outlook Zertifikatswarnung nach Office 365 Migration
Security Alert: svr1.example.com

The security certificate has expired or is not valid yet]

Ich habe kürzlich eine Anfrage von einem Kunden erhalten, der nach seiner Office 365 Migration noch Zertifikatswarnungen (Zertifikat abgelaufen) für den alten Exchange Server erhalten hat. Da ich bei der Migration nicht involviert war, musste ich mir erstmal einen Überblick verschaffen:
Der On-Premise Exchange Server 2010 war noch vorhanden - logisch, sonst wäre wohl kaum eine Zertifikatswarnung erschienen. Es erhalten allerdings auch nicht alle Anwender diese Meldung. Betroffen waren sowohl migrierte Benutzer, als auch Benutzer, deren Postfächer direkt in Office 365 erstellt wurden.

Outlook Verbindungsstatus: Es werden noch Ressourcen vom Exchange Server svr1.example.com abgerufen
Bei einem betroffenen User haben wir per STRG+Rechtsklick auf das Outlook-Symbol im Tray im Menü den “Verbindungsstatus” abgerufen. Hier war schnell ersichtlich, dass der User tatsächlich noch Ressourcen des lokalen On-Premise Exchange Systems abruft: Ein IT-Mitarbeiter hat neue Ressourcenpostfächer am Exchange Server erstellt und den Anwendern Zugriff erteilt.
Als Workaround könnte nun erstmal das Zertifikat des Servers erneuert werden. Die tatsächliche Lösung, nämlich das Ressourcenpostfach ebenfalls zu Office 365 zu migrieren, konnte aus organisatorischen Gründen des Kunden nicht zeitnah umgesetzt werden.

+Datenschutz
\ No newline at end of file diff --git a/de/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html b/de/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html index 3b1a0be6..f8902178 100644 --- a/de/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html +++ b/de/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html @@ -2,7 +2,7 @@

Exchange Raumpostfach - Berechtigungen setzen

Zugriff wurde für den Benutzer verweigert. - Exchange Raumpostfach Berechtigungen (Outlook Fenster)

Standardmäßig hat der “Kalender”-Ordner von Exchange 2013 Raumpostfächer die Berechtigung “LimitedDetails” für das Sicherheitsprinzipal “Standard”. Wenn also keine weiteren Berechtigungen konfiguriert sind, können die Anwender keine Details für Termine in diesem Raum anzeigen. Für eine bessere Bedienbarkeit in Outlook ist die Berechtigung “Reviewer” besser geeignet. Hierdurch dürfen Elemente aufgelistet und Details angezeigt werden. Bei Bedarf kann noch das CalendarProcessing angepasst werden, sodass Details wie Beschreibung und Betreff des Termins nicht im Raumpostfach gespeichert werden. Ob das alles sinnvoll ist, kommt immer auf die Umgebung an.

Auflisten der aktuellen Berechtigungen

Mit folgendem PowerShell Code lassen sich die aktuellen Berechtigungen für den “Kalender” (Englisch: “Calendar”) Ordner von allen Raumpostfächern auflisten. Der Code muss in der Exchange Management Shell ausgeführt werden.

1
+Standardmäßig hat der “Kalender”-Ordner von Exchange 2013 Raumpostfächer die Berechtigung “LimitedDetails” für das Sicherheitsprinzipal “Standard”. Wenn also keine weiteren Berechtigungen konfiguriert sind, können die Anwender keine Details für Termine in diesem Raum anzeigen. Für eine bessere Bedienbarkeit in Outlook ist die Berechtigung “Reviewer” besser geeignet. Hierdurch dürfen Elemente aufgelistet und Details angezeigt werden. Bei Bedarf kann noch das CalendarProcessing angepasst werden, sodass Details wie Beschreibung und Betreff des Termins nicht im Raumpostfach gespeichert werden.">

Exchange Raumpostfach - Berechtigungen setzen

Zugriff wurde für den Benutzer verweigert. - Exchange Raumpostfach Berechtigungen (Outlook Fenster)

Standardmäßig hat der “Kalender”-Ordner von Exchange 2013 Raumpostfächer die Berechtigung “LimitedDetails” für das Sicherheitsprinzipal “Standard”. Wenn also keine weiteren Berechtigungen konfiguriert sind, können die Anwender keine Details für Termine in diesem Raum anzeigen. Für eine bessere Bedienbarkeit in Outlook ist die Berechtigung “Reviewer” besser geeignet. Hierdurch dürfen Elemente aufgelistet und Details angezeigt werden. Bei Bedarf kann noch das CalendarProcessing angepasst werden, sodass Details wie Beschreibung und Betreff des Termins nicht im Raumpostfach gespeichert werden. Ob das alles sinnvoll ist, kommt immer auf die Umgebung an.

Auflisten der aktuellen Berechtigungen

Mit folgendem PowerShell Code lassen sich die aktuellen Berechtigungen für den “Kalender” (Englisch: “Calendar”) Ordner von allen Raumpostfächern auflisten. Der Code muss in der Exchange Management Shell ausgeführt werden.

1
 2
 3
 4
@@ -42,5 +42,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2020/01/25/Exchange-Mailbox-Creation-Date/index.html b/de/2020/01/25/Exchange-Mailbox-Creation-Date/index.html
index df9735a2..b6828faa 100644
--- a/de/2020/01/25/Exchange-Mailbox-Creation-Date/index.html
+++ b/de/2020/01/25/Exchange-Mailbox-Creation-Date/index.html
@@ -2,7 +2,7 @@
 

Exchange - Wann wurde das Postfach WIRKLICH erstellt?

Wenn du herausfinden möchtest, wann ein Exchange Postfach erstellt wurde, wirst du wahrscheinlich über das Active Directory-Benutzer Attribut MSExchWhenMailboxCreated stolpern. Um den Wert auszulesen, kannst du PowerShell oder Active Directory-Benutzer und -Computer (ADUC) verwenden.

1
+1 Get-ADUser -Properties MSExchMaiboxWhenCreated MSExchWhenMailboxCreated enthält nicht die ganze Wahrheit Das könnte schon das Ende der Geschichte sein. ABER das Attribut ist nicht, was du vielleicht denkst. Das Attribut wird nur propagiert wenn der Benutzer DAS ERSTE MAL ein Postfach erhält.">

Exchange - Wann wurde das Postfach WIRKLICH erstellt?

Wenn du herausfinden möchtest, wann ein Exchange Postfach erstellt wurde, wirst du wahrscheinlich über das Active Directory-Benutzer Attribut MSExchWhenMailboxCreated stolpern. Um den Wert auszulesen, kannst du PowerShell oder Active Directory-Benutzer und -Computer (ADUC) verwenden.

1
 
Get-ADUser -Properties MSExchMaiboxWhenCreated
 

Get MSExchWhenMailboxCreated attribute using PowerShell

MSExchWhenMailboxCreated enthält nicht die ganze Wahrheit

Das könnte schon das Ende der Geschichte sein. ABER das Attribut ist nicht, was du vielleicht denkst. Das Attribut wird nur propagiert wenn der Benutzer DAS ERSTE MAL ein Postfach erhält. Wenn das Postfach zwischenzeitlich deaktiviert und dann später neuerstellt wurde, bleibt trotzdem der Zeitstempel der ersten Postfacherstellung.

Überprüfung des MSExchWhenMailboxCreated Attributs per PowerShell, nach einer Postfach-Neuerstellung

Das wirkliche Datum der Postfacherstellung herausfinden

Wenn die Postfacherstellung erst kürzlich geschehen ist, kannst du eventuell einen entsprechenden Eintrag im Ereignislog des Exchange Servers finden. Wenn du das MSExchange Management Event Log manuell nach Postfacherstellungen durchsuchst (STRG+F und nach “Enable-Mailbox” suchen), findest du eventuell das tatsächliche Datum der Postfacherstellung. Der PowerShell Weg wäre:

1
 
Get-EventLog -Source "MSExchange CmdletLogs" -LogName "MSExchange Management" -ComputerName <Servername> -Message "*Enable-Mailbox*test.user*"
@@ -10,5 +10,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html b/de/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html
index ecf33937..be73a7d4 100644
--- a/de/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html
+++ b/de/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html
@@ -5,7 +5,7 @@
 HCW8064 - Der Assistent für Hybridkonfiguration wurde abgeschlossen, er konnte den OAuth-Anteil der Hybridkonfiguration aber nicht ausführen. Wenn Sie Features benötigen, die OAuth voraussetzen, können Sie versuchen den Assistenten für Hybridkonfiguration erneut auszuführen oder OAuth mithilfe dieser manuellen Schritte manuell konfigurieren.
 Der Link “Weitere Informationen” verweist auf https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. Wenn man schaut, wofür OAuth verwendet, wird dieser Artikel referenziert. Dort ist zu lesen, OAuth für Cross-Premises eDiscovery Suchen benötigt wird.">

Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt:

HCW8064 - Der Assistent für Hybridkonfiguration wurde abgeschlossen, er konnte den OAuth-Anteil der Hybridkonfiguration aber nicht ausführen. Wenn Sie Features benötigen, die OAuth voraussetzen, können Sie versuchen den Assistenten für Hybridkonfiguration erneut auszuführen oder OAuth mithilfe dieser manuellen Schritte manuell konfigurieren.

Der Link “Weitere Informationen” verweist auf https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. Wenn man schaut, wofür OAuth verwendet, wird dieser Artikel referenziert. Dort ist zu lesen, OAuth für Cross-Premises eDiscovery Suchen benötigt wird. Da diese erwähnten Funktionen in dem Projekt nicht relevant waren, habe ich das erstmal ignoriert. Eine erneute Ausführung des HCW hat übrigens auch kein OAuth einrichten können. Manchmal kann aber das erneute Ausführen des HCW solche Probleme tatsächlich beheben - einfach ausprobieren!

OAuth kann allerdings auch für die Authentifizierung für den Cross-Premise Austausch von Free/Busy Informationen genutzt werden. Der verlinkte OAuth-Artikel erwähnt allerdings ausschließlich eDiscovery - das ist auch die Sektion der Dokumentation in der sich der Artikel befindet. Weitere OAuth-Szenarien werden hier nicht erläutert. Im Artikel zur Konfiguration von OAuth für Exchange Hybrid wird Free/Busy auch nicht erwähnt.

Kein Free/Busy möglich

Nachdem die ersten Test-User zu Exchange Online migriert wurden, hat sich gezeigt, dass der Cross-Premise Abruf von Free/Busy Informationen nicht funktioniert. Zur Erläuterung von Hybrid Free/Busy gibt es hier zwei sehr gute Artikel im Exchange Team Blog:

Intra-Organization Connector (IOC)

Sowohl On-Premise als auch in Exchange Online kann geprüft werden, ob ein Intra-Organization Connector (für Hybrid OAuth notwendig) verwendet wird. Da die Konfiguration per HCW fehlgeschlagen ist, sollte keine funktionierende IOC Konfiguration hinterlegt sein.

1
+Der Link “Weitere Informationen” verweist auf https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. Wenn man schaut, wofür OAuth verwendet, wird dieser Artikel referenziert. Dort ist zu lesen, OAuth für Cross-Premises eDiscovery Suchen benötigt wird.">

Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt:

HCW8064 - Der Assistent für Hybridkonfiguration wurde abgeschlossen, er konnte den OAuth-Anteil der Hybridkonfiguration aber nicht ausführen. Wenn Sie Features benötigen, die OAuth voraussetzen, können Sie versuchen den Assistenten für Hybridkonfiguration erneut auszuführen oder OAuth mithilfe dieser manuellen Schritte manuell konfigurieren.

Der Link “Weitere Informationen” verweist auf https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. Wenn man schaut, wofür OAuth verwendet, wird dieser Artikel referenziert. Dort ist zu lesen, OAuth für Cross-Premises eDiscovery Suchen benötigt wird. Da diese erwähnten Funktionen in dem Projekt nicht relevant waren, habe ich das erstmal ignoriert. Eine erneute Ausführung des HCW hat übrigens auch kein OAuth einrichten können. Manchmal kann aber das erneute Ausführen des HCW solche Probleme tatsächlich beheben - einfach ausprobieren!

OAuth kann allerdings auch für die Authentifizierung für den Cross-Premise Austausch von Free/Busy Informationen genutzt werden. Der verlinkte OAuth-Artikel erwähnt allerdings ausschließlich eDiscovery - das ist auch die Sektion der Dokumentation in der sich der Artikel befindet. Weitere OAuth-Szenarien werden hier nicht erläutert. Im Artikel zur Konfiguration von OAuth für Exchange Hybrid wird Free/Busy auch nicht erwähnt.

Kein Free/Busy möglich

Nachdem die ersten Test-User zu Exchange Online migriert wurden, hat sich gezeigt, dass der Cross-Premise Abruf von Free/Busy Informationen nicht funktioniert. Zur Erläuterung von Hybrid Free/Busy gibt es hier zwei sehr gute Artikel im Exchange Team Blog:

Intra-Organization Connector (IOC)

Sowohl On-Premise als auch in Exchange Online kann geprüft werden, ob ein Intra-Organization Connector (für Hybrid OAuth notwendig) verwendet wird. Da die Konfiguration per HCW fehlgeschlagen ist, sollte keine funktionierende IOC Konfiguration hinterlegt sein.

1
 
Get-IntraOrganizationConnector | fl
 

Das Attribut “Enabled” steht auf “False”, demnach wird kein OAuth verwendet. Also wie erwartet. &ldquo;Get-IntraOrganizationConnector | fl&rdquo; - &ldquo;Enabled&rdquo; steht auf &ldquo;False&rdquo;

Organization Relationship (ORG REL)

Als nächstes sollte geprüft werden, ob ein Organization Relationship vorhanden ist.

1
@@ -23,5 +23,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2020/05/10/Apple-Internet-Accounts-Office365/index.html b/de/2020/05/10/Apple-Internet-Accounts-Office365/index.html
index 212bcf78..64fa152c 100644
--- a/de/2020/05/10/Apple-Internet-Accounts-Office365/index.html
+++ b/de/2020/05/10/Apple-Internet-Accounts-Office365/index.html
@@ -11,11 +11,11 @@
 Administratorgenehmigung erforderlich
 Apple Internet Accounts
 Apple Internet Accounts benötigt, um auf Ressourcen in Ihrer Organisation zugreifen zu können, eine Berechtigung, die nur ein Administrator erteilen kann. Bitten Sie einen Administrator, die Berechtigung für diese App zu erteilen, damit Sie die App verwenden können.
-Die App hieß früher übrigens “iOS Accounts” und wurde anscheinend Anfang 2020 umbenannt.">

Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt:

Administratorgenehmigung erforderlich
Apple Internet Accounts
Apple Internet Accounts benötigt, um auf Ressourcen in Ihrer Organisation zugreifen zu können, eine Berechtigung, die nur ein Administrator erteilen kann. Bitten Sie einen Administrator, die Berechtigung für diese App zu erteilen, damit Sie die App verwenden können.

Die App hieß früher übrigens “iOS Accounts” und wurde anscheinend Anfang 2020 umbenannt. Die bisherige AppID ist allerdings gleich geblieben.

Ursache

Folgende Ursachen haben für diese Meldung gesorgt:

  1. Die App “Apple Internet Accounts” wird von Apple iOS für den Zugriff auf die Office 365 Ressourcen des Benutzers benötigt. Ein Zugriff auf Ressourcen eines Office 365 Tenants durch eine Drittanbieter App ist nur nach expliziter Genehmigung möglich.
  2. Es wurde bisher noch keine Benutzer- oder Administrator-Genehmigung für Apple Internet Accounts in diesem Tenant erteilt.
  3. Die Benutzer-Genehmigung ist tenantweit deaktiviert. Diese empfehlenswerte Einstellung kann gesetzt werden, damit Endanwender nicht einfach Drittanbieter-Apps für den Zugriff auf Unternehmensdaten berechtigen können.

Die Einstellung zu 3. ist in Azure AD unter “Enterprise applications” -> “User settings” zu finden. Die Option lautet “Users can consent to apps accessing company data on their behalf”. Diese Einstellung sollte auf “No” belassen werden! Dass der Endanwender nicht einfach irgendwelche Apps erlauben darf (und deshalb hier nicht weiterkommt), ist ja genau was man möchte um die Unternehmensdaten vor unberechtigtem Zugriff zu schützen.

Lösung

Es gibt mehrere Lösungsmöglichkeiten, ohne dass einfach alle Drittanbieter-Apps freigeschaltet werden.

Lösungsmöglichkeit 1: Apple Internet Accounts tenantweit erlauben

Update 2022-06-20: Das manuelle Zusammensetzen der URL ist in der Regel nicht mehr notwendig. Stattdessen kann einfach folgender Link aufgerufen werden: https://aka.ms/ConsentAppleApp. Die Schritte 1 und 2 können dann übersprungen werden.

Schritt 1: TenantID herausfinden

Als Erstes muss die Tenant ID des Azure AD Tenants herausgefunden werden. Diese ist auf “Overview Seite in Azure Active Directory” zu finden (im nachfolgenden Screenshot rot markiert).

Die Tenant ID ist in Azure Active Directory auf der Overview Seite zu finden.

Schritt 2: URL zusammensetzen und aufrufen

Der Platzhalter <TenantID> muss in der nachfolgenden URL durch die Tenant ID aus Schritt 1 ersetzt werden. Anschließend kann die erstellte URL mit Tenant Admin (Global Administrator) Rechten aufgerufen werden. Die in der URL enthaltene client_id ist die ID von Apple Internet Accounts.

1
+Die App hieß früher übrigens “iOS Accounts” und wurde anscheinend Anfang 2020 umbenannt.">

Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt:

Administratorgenehmigung erforderlich
Apple Internet Accounts
Apple Internet Accounts benötigt, um auf Ressourcen in Ihrer Organisation zugreifen zu können, eine Berechtigung, die nur ein Administrator erteilen kann. Bitten Sie einen Administrator, die Berechtigung für diese App zu erteilen, damit Sie die App verwenden können.

Die App hieß früher übrigens “iOS Accounts” und wurde anscheinend Anfang 2020 umbenannt. Die bisherige AppID ist allerdings gleich geblieben.

Ursache

Folgende Ursachen haben für diese Meldung gesorgt:

  1. Die App “Apple Internet Accounts” wird von Apple iOS für den Zugriff auf die Office 365 Ressourcen des Benutzers benötigt. Ein Zugriff auf Ressourcen eines Office 365 Tenants durch eine Drittanbieter App ist nur nach expliziter Genehmigung möglich.
  2. Es wurde bisher noch keine Benutzer- oder Administrator-Genehmigung für Apple Internet Accounts in diesem Tenant erteilt.
  3. Die Benutzer-Genehmigung ist tenantweit deaktiviert. Diese empfehlenswerte Einstellung kann gesetzt werden, damit Endanwender nicht einfach Drittanbieter-Apps für den Zugriff auf Unternehmensdaten berechtigen können.

Die Einstellung zu 3. ist in Azure AD unter “Enterprise applications” -> “User settings” zu finden. Die Option lautet “Users can consent to apps accessing company data on their behalf”. Diese Einstellung sollte auf “No” belassen werden! Dass der Endanwender nicht einfach irgendwelche Apps erlauben darf (und deshalb hier nicht weiterkommt), ist ja genau was man möchte um die Unternehmensdaten vor unberechtigtem Zugriff zu schützen.

Lösung

Es gibt mehrere Lösungsmöglichkeiten, ohne dass einfach alle Drittanbieter-Apps freigeschaltet werden.

Lösungsmöglichkeit 1: Apple Internet Accounts tenantweit erlauben

Update 2022-06-20: Das manuelle Zusammensetzen der URL ist in der Regel nicht mehr notwendig. Stattdessen kann einfach folgender Link aufgerufen werden: https://aka.ms/ConsentAppleApp. Die Schritte 1 und 2 können dann übersprungen werden.

Schritt 1: TenantID herausfinden

Als Erstes muss die Tenant ID des Azure AD Tenants herausgefunden werden. Diese ist auf “Overview Seite in Azure Active Directory” zu finden (im nachfolgenden Screenshot rot markiert).

Die Tenant ID ist in Azure Active Directory auf der Overview Seite zu finden.

Schritt 2: URL zusammensetzen und aufrufen

Der Platzhalter <TenantID> muss in der nachfolgenden URL durch die Tenant ID aus Schritt 1 ersetzt werden. Anschließend kann die erstellte URL mit Tenant Admin (Global Administrator) Rechten aufgerufen werden. Die in der URL enthaltene client_id ist die ID von Apple Internet Accounts.

1
 
https://login.microsoftonline.com/<TenantID>/oauth2/authorize?client_id=f8d98a96-0999-43f5-8af3-69971c7bb423&response_type=code&redirect_uri=https://example.com&prompt=admin_consent
 

Schritt 3: Berechtigung administrativ für den gesamten Tenant erteilen

Die Abfrage “Angeforderte Berechtigungen für Ihre Organisation zustimmen - Apple Internet Accounts” muss per “Akzeptieren” bestätigt werden.

Administrativer Zustimmungsdialog: Angeforderte Berechtigung für Ihre Organisation zustimmen - Apple Internet Accounts - Diese Anwendung wird nicht von Microsoft oder Ihrer Organisation veröffentlicht. Diese App benötigt folgende Berechtigungen: Über Exchange Active Sync auf Postfächer zugreifen, Als angemeldeter Benutzer über Exchange-Webdienste auf Postfächer zugreifen, Anmelden und Benutzerprofil lesen

Falls die URL wie in Schritt 1 und 2 manuell zusammengesetzt wurde, wird anschließend ein Fehler angezeigt, da die hinterlegte Redirect URL auf https://example.com verweist. Der Fehler AADSTS900561 kann in diesem Fall ignoriert werden.

Fehler: Leider können wir Sie nicht anmelden. AADSTS900561: The endpoint only accepts POST requests. Received a GET request. Kann in diesem Fall auf Grund der hinterlegten Redirect URL ignoriert werden.

Die App sollte nun in Azure AD unter “Enterprise applications” -> “All applications” aufgelistet sein.

Auflistung erlaubter Enterprise Applications in Azure AD

Schritt 4: Funktion überprüfen

Anschließend sollten die Anwender per iOS Kalender/Kontakte auf ihre in Exchange Online hinterlegten Daten zugreifen können.

Lösungsmöglichkeit 2: Administrator-Anfragen aktivieren

Alternativ kann aktiviert werden, dass Anwender die Genehmigung einer App beantragen können. Dies ist auch ergänzend zu der einmaligen administrativen Freigabe aus Lösung 1 möglich.

Als Administrator in Azure AD “Enterprise applications” -> “User settings” aufrufen. Unter “Admin consent requests (Preview)” kann die Option “Users can request admin consent to apps they are unable to consent to” aktiviert werden. Anschließend auf “Select admin consent request reviewers” klicken und die Administratoren auswählen, die die Requests bestätigen sollen. Bei Bedarf kann die Benachrichtigung des Administrators per E-Mail deaktiviert/aktiviert werden. Standardmäßig laufen die Anfragen nach 30 Tagen ab, was bei Bedarf auch angepasst werden kann.

Aktivieren von Enterprise Application Admin Consent Request in Azure AD

Schritt 2: Benutzer fragt Administrator-Zustimmung an

Wenn ein Benutzer nun eine neue Applikation nutzen möchte, erscheint die Meldung “Genehmigung erforderlich”. Die notwendigen Berechtigungen der Applikation werden aufgelistet. Der Benutzer muss eine Begründung für die Anfrage der Applikation eingeben. Anschließend kann die Genehmigungsanforderung abgesendet werden.

Hinweis für Endanwender bei Benutzung der App - Genehmigung erforderlich. Die Rechte der App werden aufgeführt. Es muss eine Begründung für die Anfrage eingegeben werden.

Schritt 3: Administrator prüft die Genehmigungsanforderung

Die ausgewählten Administratoren erhalten eine E-Mail, in der Details zur Anforderung aufgeführt werden. In der E-Mail kann auf “Anforderung überprüfen” geklickt werden, um die Anfrage zu bearbeiten. Falls bis zum Ablaufdatum nicht reagiert wird, wird die Anfrage automatisch zurückgewiesen.

E-Mail mit einem Enterprise Application - Admin consent requests

Alternativ kann der Administrator auch die Liste der offenen Anfragen in Azure AD aufrufen. Hierzu “Enterprise applications” -> “Admin consent requests” anklicken.

Auflistung von Enterprise Application - Admin consent requests

Es können Details wie Name, Homepage URL, verwendete Reply URLs angezeigt werden. Unter “Requested by” wird angezeigt, welcher Benutzer die App angefragt hat. Der Administrator kann nun wahlweise die Berechtigungen prüfen und genehmigen (“Review permissions and consent”), oder die Anfrage per “Deny” ablehnen. Falls die Applikation dauerhaft gesperrt werden soll, damit keine Anfragen mehr zu dieser App eingereicht werden können, kann “Block” angeklickt werden.

Abruf von Details zum Enterprise Application Admin consent request

Falls die Applikation nicht gestattet wurde, würde der Benutzer bei der nächsten Anmeldung die Meldung AADSTS7000112 erhalten.

Applikation wurde durch den Administrator blockiert oder nicht genehmigt: AADSTS7000112 application is disabled

Schritt 4: Funktion überprüfen nach erfolgter Administratorgenehmigung

Anschließend sollten die Anwender die angefragte und genehmigte App verwenden können.

Deaktivieren einer zuvor erlaubten App

Wenn eine App bereits erlaubt ist, kann sie bei Bedarf auch wieder deaktiviert werden. Hierzu die Applikation aus “Enterprise applications” raussuchen und unter “Properties” die Option “Enabled for users to sign-in” auf “No” setzen. Falls man hier stattdessen auf “Delete” klickt, können die Benutzer wieder erneut eine Genehmigung beantragen.

Deaktivieren einer bereits bestehenden Enterprise App: Enabled for users to sign-in auf No setzen.

+Datenschutz
\ No newline at end of file diff --git a/de/2020/06/05/Azure-AD-Connect-Video/index.html b/de/2020/06/05/Azure-AD-Connect-Video/index.html index f6721e5e..d6706b61 100644 --- a/de/2020/06/05/Azure-AD-Connect-Video/index.html +++ b/de/2020/06/05/Azure-AD-Connect-Video/index.html @@ -5,9 +5,9 @@ Azure AD Connect Entscheidungsbaum Kostenloser Download (.pdf, .png, .drawio) Weiterführende Links Unterstützte und nicht unterstützte Azure AD Connect Topologien: Topologies for Azure AD Connect (docs.microsoft.com) Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs.">

Azure AD Connect richtig planen und vorbereiten (Video)

Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt.

Azure AD Connect: Planen und vorbereiten (YouTube)

Azure AD Connect Entscheidungsbaum

Azure AD Connect Entscheidungsbaum (kostenloser Download)

Kostenloser Download (.pdf, .png, .drawio)

© 2024 diecknet +Weiterführende Links Unterstützte und nicht unterstützte Azure AD Connect Topologien: Topologies for Azure AD Connect (docs.microsoft.com) Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs.">

Azure AD Connect richtig planen und vorbereiten (Video)

Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt.

Azure AD Connect: Planen und vorbereiten (YouTube)

Azure AD Connect Entscheidungsbaum

Azure AD Connect Entscheidungsbaum (kostenloser Download)

Kostenloser Download (.pdf, .png, .drawio)

+Datenschutz
\ No newline at end of file diff --git a/de/2020/06/10/Office-365-Trials/index.html b/de/2020/06/10/Office-365-Trials/index.html index f6db6292..788be06c 100644 --- a/de/2020/06/10/Office-365-Trials/index.html +++ b/de/2020/06/10/Office-365-Trials/index.html @@ -1,8 +1,8 @@ Office 365 Trial Lizenzen | diecknet -

Office 365 Trial Lizenzen

Zum Ausprobieren von Office 365 bzw. Microsoft 365 können diverse kostenlose Trial-Lizenzen genutzt werden. Hierbei kann man sich einen kostenlosen Tenant erstellen, oder die Test-Lizenz in einem bestehenden Tenant aktivieren. In der Regel startet dann eine 30 Tage Testphase mit jeweils 25 Benutzerlizenzen. Die Testphase kann einmal kostenlos um weitere 30 Tage verlängert werden. Nach Ablauf der Testphase kann der Tenant gelöscht werden. Alternativ können passende Lizenzen gekauft werden, um die Dienste weiter zu nutzen.

Enterprise Lizenzen

Folgende Office 365 Enterprise Demolizenzen stehen zur Verfügung:

Business Lizenzen

Folgende Microsoft 365 Business Testlizenzen stehen zur Verfügung:

Intune Lizenzen

Folgende Microsoft Intune Testversion stehen zur Verfügung:

Enterprise and Mobility Suite (E5)

Zum Ausprobieren der Enterprise Mobility + Security E5 Funktionen kann folgende Trial-Lizenz verwendet werden:

Teams Lizenzen

Grundsätzlich gibt es mittlerweile Teams als Free beziehungsweise Freemium Version. Die Anmeldung dazu erfolgt hier: https://go.microsoft.com/fwlink/p/?LinkID=2123761. +

Office 365 Trial Lizenzen

Zum Ausprobieren von Office 365 bzw. Microsoft 365 können diverse kostenlose Trial-Lizenzen genutzt werden. Hierbei kann man sich einen kostenlosen Tenant erstellen, oder die Test-Lizenz in einem bestehenden Tenant aktivieren. In der Regel startet dann eine 30 Tage Testphase mit jeweils 25 Benutzerlizenzen. Die Testphase kann einmal kostenlos um weitere 30 Tage verlängert werden. Nach Ablauf der Testphase kann der Tenant gelöscht werden. Alternativ können passende Lizenzen gekauft werden, um die Dienste weiter zu nutzen.

Enterprise Lizenzen

Folgende Office 365 Enterprise Demolizenzen stehen zur Verfügung:

Business Lizenzen

Folgende Microsoft 365 Business Testlizenzen stehen zur Verfügung:

Intune Lizenzen

Folgende Microsoft Intune Testversion stehen zur Verfügung:

Enterprise and Mobility Suite (E5)

Zum Ausprobieren der Enterprise Mobility + Security E5 Funktionen kann folgende Trial-Lizenz verwendet werden:

Teams Lizenzen

Grundsätzlich gibt es mittlerweile Teams als Free beziehungsweise Freemium Version. Die Anmeldung dazu erfolgt hier: https://go.microsoft.com/fwlink/p/?LinkID=2123761. Zum Testen der vollständigen Teams Version sollte aber mindestens M365 Business Basic verwendet werden (siehe oben).

Microsoft Viva Learning Trial Lizenz

Auch für Microsoft Viva Learning gibt es eine Trial Lizenz:

YouTube Video - Demo-Tenant anlegen

In diesem YouTube Video zeige ich, wie ein Demo-Tenant mit Trial-Lizenzen angelegt werden kann. Außerdem wird gezeigt, wie die Trial-Lizenz noch einmal um 30 Tage verlängert werden kann.

Microsoft 365 Demo-Tenant anlegen! (YouTube)

Trial Lizenz zu bestehendem Tenant hinzufügen

Um eine Trial Lizenz zu einem bestehenden Tenant hinzuzufügen, können die gleichen Links verwendet werden.

Schritt 1: “Yes, add it to my account” anklicken

Microsoft 365 Trial Lizenz zu bestehenden Tenant hinzufügen (1)

Schritt 2: Bestätigen per Klick auf “Try now”

Microsoft 365 Trial Lizenz zu bestehenden Tenant hinzufügen (2)

+Datenschutz \ No newline at end of file diff --git a/de/2020/06/23/Azure-AD-Connect-Video-Part2/index.html b/de/2020/06/23/Azure-AD-Connect-Video-Part2/index.html index 33ca688e..2a242414 100644 --- a/de/2020/06/23/Azure-AD-Connect-Video-Part2/index.html +++ b/de/2020/06/23/Azure-AD-Connect-Video-Part2/index.html @@ -2,9 +2,9 @@

Azure AD Connect installieren (Video)

Inhaltsverzeichnis

Azure AD Connect installieren (YouTube)
Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an!

© 2024 diecknet +Weiterführende Links Download Azure AD Connect: Azure AD Connect Download (Microsoft.com) Diecknet Blog post: Azure AD Connect richtig planen und vorbereiten YouTube Video: Azure AD Connect richtig planen und vorbereiten Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs.">

Azure AD Connect installieren (Video)

Inhaltsverzeichnis

Azure AD Connect installieren (YouTube)
Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an!

+Datenschutz
\ No newline at end of file diff --git a/de/2020/09/08/Set-File-Date-with-PowerShell/index.html b/de/2020/09/08/Set-File-Date-with-PowerShell/index.html index cf8fa7f9..f14f4b61 100644 --- a/de/2020/09/08/Set-File-Date-with-PowerShell/index.html +++ b/de/2020/09/08/Set-File-Date-with-PowerShell/index.html @@ -8,7 +8,7 @@ CreationTime (Wann die Datei erstellt wurde) LastAccessTime (Wann das letzte Mal auf die Datei zugegriffen wurde) LastWriteTime (Wann die Datei zuletzt geändert wurde) Wie hinten am {get;set;} zu erkennen ist, kann man die Attribute auch nicht nur auslesen, sondern auch setzen.">

Dateidatum per PowerShell setzen

Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1.

Per Get-Member kann man sich die Zeit-Attribute einer Datei anzeigen lassen.

1
+CreationTime (Wann die Datei erstellt wurde) LastAccessTime (Wann das letzte Mal auf die Datei zugegriffen wurde) LastWriteTime (Wann die Datei zuletzt geändert wurde) Wie hinten am {get;set;} zu erkennen ist, kann man die Attribute auch nicht nur auslesen, sondern auch setzen.">

Dateidatum per PowerShell setzen

Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1.

Per Get-Member kann man sich die Zeit-Attribute einer Datei anzeigen lassen.

1
 
Get-Item beispiel.txt | Get-Member *time*
 

Dateidatums-Attribute anzeigen

Interessant sind hier die Attribute:

  • CreationTime (Wann die Datei erstellt wurde)
  • LastAccessTime (Wann das letzte Mal auf die Datei zugegriffen wurde)
  • LastWriteTime (Wann die Datei zuletzt geändert wurde)

Wie hinten am {get;set;} zu erkennen ist, kann man die Attribute auch nicht nur auslesen, sondern auch setzen.

Beispiele

Im Folgenden zeige ich ein paar Beispiele, wie das Änderungsdatum, der Zeitpunkt des letzten Zugriffs und des Erstellzeitpunkts von einzelnen Dateien oder auch allen Dateien in einem Ordner geändert werden kann.

Hinweise zu den Beispielen

Datum generieren

Ich generiere das Datum am liebsten im folgendem Format: 2020-09-13T13:37:37 (siehe auch ISO 8601), alternativ vereinfacht auf 2020-09-13 13:37. Dieses standardisierte Format funktioniert unabhängig von OS-Lokalisierungen.

Abkürzungen und Aliase

Mit gci (Abkürzung/Alias für Get-ChildItem) lesen wir alle Elemente (Ordner und Dateien) im aktuellen Ordner aus. Mit % (Alias für ForEach-Object) gehen wir durch alle Elemente eingegebenen Elemente durch.

Erstelldatum ändern

Beispiele zum Erstelldatum (“Erstellt”) ändern:

1
@@ -45,5 +45,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2020/12/01/M365-Self-Service-Purchase/index.html b/de/2020/12/01/M365-Self-Service-Purchase/index.html
index e2687029..03bba7b2 100644
--- a/de/2020/12/01/M365-Self-Service-Purchase/index.html
+++ b/de/2020/12/01/M365-Self-Service-Purchase/index.html
@@ -2,7 +2,7 @@
 

Microsoft 365 Self Service Purchase Lizenzen

Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte:

  • Power Apps per user
  • Power Automate per user
  • Power Automate RPA
  • Power BI Pro
  • Power BI Premium (standalone)
  • Project Plan 1
  • Project Plan 3
  • Visio Plan 1
  • Visio Plan 2

Erklärungsvideo

Ich habe den Lizenzkauf als Anwender ausprobiert und dokumentiert. Die Funktionsweise eines Selbstkaufs von Lizenzen und eine Entscheidungshilfe, ob die Funktion im eigenen Unternehmen deaktiviert werden sollte zeige ich in folgendem Video:

Microsoft 365 Self Service Purchase Lizenzen (YouTube)

Pro und Contra Selbstkauf

Für einen Selbstkauf von Lizenzen spricht:

  • Die Anwender können sich bei Bedarf einfach selbst die Lizenzen kaufen. Keine Freigaben durch IT-Abteilungen oder Einkauf notwendig. Weniger administrativer Aufwand für IT-Abteilung.
  • Selbstschulung der Anwender durch Materialien von Microsoft
  • Bei Problemen können die Anwender selbsttätig Supportfälle bei Microsoft eröffnen

Gegen einen Selbstkauf von Lizenzen spricht:

  • Verwendung von Cloudservices, die nicht explizit durch die IT-Strategie freigegeben sind (fast schon: Schatten-IT)
  • Eigenständiges Schulen für die Produkte fraglich
  • Eigenständiger Support für die Produkte fraglich
  • Höhere Preise als durch Enterprise Agreement/CSP-Partner
  • Eventuell Probleme bei Abrechnung, da das Unternehmen nicht auf der Rechnung steht, sondern nur der Name des Mitarbeiters

Self Purchase Lizenzen deaktivieren

Mit folgendem PowerShell Code können alle Self Service Purchase Lizenzen deaktiviert werden. Falls ihr erstmal prüfen wollt, wie die aktuelle Konfiguration ist, könnt ihr anstelle der foreach-Schleife (in den letzten 3 Zeilen) auch einfach nur $products ausführen.

1
+Power Apps per user Power Automate per user Power Automate RPA Power BI Pro Power BI Premium (standalone) Project Plan 1 Project Plan 3 Visio Plan 1 Visio Plan 2 Erklärungsvideo Ich habe den Lizenzkauf als Anwender ausprobiert und dokumentiert.">

Microsoft 365 Self Service Purchase Lizenzen

Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte:

  • Power Apps per user
  • Power Automate per user
  • Power Automate RPA
  • Power BI Pro
  • Power BI Premium (standalone)
  • Project Plan 1
  • Project Plan 3
  • Visio Plan 1
  • Visio Plan 2

Erklärungsvideo

Ich habe den Lizenzkauf als Anwender ausprobiert und dokumentiert. Die Funktionsweise eines Selbstkaufs von Lizenzen und eine Entscheidungshilfe, ob die Funktion im eigenen Unternehmen deaktiviert werden sollte zeige ich in folgendem Video:

Microsoft 365 Self Service Purchase Lizenzen (YouTube)

Pro und Contra Selbstkauf

Für einen Selbstkauf von Lizenzen spricht:

  • Die Anwender können sich bei Bedarf einfach selbst die Lizenzen kaufen. Keine Freigaben durch IT-Abteilungen oder Einkauf notwendig. Weniger administrativer Aufwand für IT-Abteilung.
  • Selbstschulung der Anwender durch Materialien von Microsoft
  • Bei Problemen können die Anwender selbsttätig Supportfälle bei Microsoft eröffnen

Gegen einen Selbstkauf von Lizenzen spricht:

  • Verwendung von Cloudservices, die nicht explizit durch die IT-Strategie freigegeben sind (fast schon: Schatten-IT)
  • Eigenständiges Schulen für die Produkte fraglich
  • Eigenständiger Support für die Produkte fraglich
  • Höhere Preise als durch Enterprise Agreement/CSP-Partner
  • Eventuell Probleme bei Abrechnung, da das Unternehmen nicht auf der Rechnung steht, sondern nur der Name des Mitarbeiters

Self Purchase Lizenzen deaktivieren

Mit folgendem PowerShell Code können alle Self Service Purchase Lizenzen deaktiviert werden. Falls ihr erstmal prüfen wollt, wie die aktuelle Konfiguration ist, könnt ihr anstelle der foreach-Schleife (in den letzten 3 Zeilen) auch einfach nur $products ausführen.

1
 2
 3
 4
@@ -20,5 +20,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2021/02/25/MSTeams-Disable-Custom-Backgrounds/index.html b/de/2021/02/25/MSTeams-Disable-Custom-Backgrounds/index.html
index ae47a71e..db7955ae 100644
--- a/de/2021/02/25/MSTeams-Disable-Custom-Backgrounds/index.html
+++ b/de/2021/02/25/MSTeams-Disable-Custom-Backgrounds/index.html
@@ -2,7 +2,7 @@
 

Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

Nachdem Microsoft virtuelle Hintergründe für MS Teams Besprechungen eingeführt hat, habe ich einige interessante Hintergrundbilder in Meetings gesehen. Trotzdem ist es meiner Meinung nach nicht notwendig, die freie Auswahl von Hintergründen zu verbieten. Da dies jedoch von Unternehmen zu Unternehmen unterschiedlich gehandhabt wird, beschreibe ich hier die Konfigurationsmöglichkeiten. Zur Einschränkung der Hintergrundauswahl kann eine Besprechungsrichtline verwendet werden.

Möglichkeiten zur Konfiguration

Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center. Folgende Konfigurationsmöglichkeiten bestehen:

Name der OptionHintergrund WeichzeichnenStandard HintergründeEigene Hintergründe
NoFilters❌ Nein❌ Nein❌ Nein
BlurOnly✅ Ja❌ Nein❌ Nein
BlurandDefaultBackgrounds✅ Ja✅ Ja❌ Nein
AllFilters (Standardwert)✅ Ja✅ Ja✅ Ja

Standardmäßig ist die Option AllFilters für alle Benutzer aktiviert. Bei Bedarf können mehrere Teams Besprechungsrichtlinien verwendet werden, um den Benutzern unterschiedliche Hintergrundoptionen zu erlauben.

Voraussetzungen

  • Administratorrechte für Teams im Tenant
  • Microsoft Teams PowerShell Modul (TL;DR Install-Module MicrosoftTeams)
  • optional: falls nicht die aktuelle Teams PowerShell Modulversion installiert ist, benötigt ihr eventuell noch das Skype for Business Online PowerShell Modul

Mit Microsoft Teams PowerShell Online verbinden

Zunächst müssen wir uns per PowerShell mit dem Microsoft Teams Service verbinden:

1
+Möglichkeiten zur Konfiguration Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center.">

Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

Nachdem Microsoft virtuelle Hintergründe für MS Teams Besprechungen eingeführt hat, habe ich einige interessante Hintergrundbilder in Meetings gesehen. Trotzdem ist es meiner Meinung nach nicht notwendig, die freie Auswahl von Hintergründen zu verbieten. Da dies jedoch von Unternehmen zu Unternehmen unterschiedlich gehandhabt wird, beschreibe ich hier die Konfigurationsmöglichkeiten. Zur Einschränkung der Hintergrundauswahl kann eine Besprechungsrichtline verwendet werden.

Möglichkeiten zur Konfiguration

Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center. Folgende Konfigurationsmöglichkeiten bestehen:

Name der OptionHintergrund WeichzeichnenStandard HintergründeEigene Hintergründe
NoFilters❌ Nein❌ Nein❌ Nein
BlurOnly✅ Ja❌ Nein❌ Nein
BlurandDefaultBackgrounds✅ Ja✅ Ja❌ Nein
AllFilters (Standardwert)✅ Ja✅ Ja✅ Ja

Standardmäßig ist die Option AllFilters für alle Benutzer aktiviert. Bei Bedarf können mehrere Teams Besprechungsrichtlinien verwendet werden, um den Benutzern unterschiedliche Hintergrundoptionen zu erlauben.

Voraussetzungen

  • Administratorrechte für Teams im Tenant
  • Microsoft Teams PowerShell Modul (TL;DR Install-Module MicrosoftTeams)
  • optional: falls nicht die aktuelle Teams PowerShell Modulversion installiert ist, benötigt ihr eventuell noch das Skype for Business Online PowerShell Modul

Mit Microsoft Teams PowerShell Online verbinden

Zunächst müssen wir uns per PowerShell mit dem Microsoft Teams Service verbinden:

1
 2
 3
 
Connect-MicrosoftTeams
@@ -22,5 +22,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2021/06/29/Deleted-Teams-Channel-Retention/index.html b/de/2021/06/29/Deleted-Teams-Channel-Retention/index.html
index cfb267fd..642e3904 100644
--- a/de/2021/06/29/Deleted-Teams-Channel-Retention/index.html
+++ b/de/2021/06/29/Deleted-Teams-Channel-Retention/index.html
@@ -8,9 +8,9 @@
 Deleted channels can be restored within 30 days.">

Wie lange werden gelöschte Teams Kanäle aufbewahrt?

Inhaltsverzeichnis

Falls ihr euch fragt “Wie lange wird ein gelöschter Teams Kanal aufbewahrt?” oder “Für wie lange kann ich einen gelöschten Teams Kanal wiederherstellen?”, findet ihr die Antwort relativ schnell. Aber meistens fehlt der Verweis auf die original Quelle in der Microsoft Dokumentation.

Antwort

Gelöschte Teams Kanäle werden für 30 Tage aufbewahrt.

Offizielle Quelle

Im englischsprachigen Original https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels wird unterhalb der Tabelle Teams and channels in Fußnote 4 festgehalten:

Deleted channels can be restored within 30 days. During these 30 days, a deleted channel continues to be counted towards the 200 channel or 30 private channel per team limit. After 30 days, a deleted channel and its content are permanently deleted and the channel no longer counts towards the per team limit.

Die deutschsprachige Version ist hier zu finden: https://docs.microsoft.com/de-de/microsoftteams/limits-specifications-teams#teams-and-channels

Gelöschte Kanäle können innerhalb von 30 Tagen wiederhergestellt werden. Während dieser 30 Tage wird ein gelöschter Kanal weiterhin in das Limit von 200 Kanälen oder 30 privaten Kanälen pro Team eingerechnet. Nach 30 Tagen wird ein gelöschter Kanal samt seiner Inhalte endgültig gelöscht und der Kanal wird nicht mehr in das Kanallimit pro Team eingerechnet.

© 2024 diecknet +Deleted channels can be restored within 30 days.">

Wie lange werden gelöschte Teams Kanäle aufbewahrt?

Inhaltsverzeichnis

Falls ihr euch fragt “Wie lange wird ein gelöschter Teams Kanal aufbewahrt?” oder “Für wie lange kann ich einen gelöschten Teams Kanal wiederherstellen?”, findet ihr die Antwort relativ schnell. Aber meistens fehlt der Verweis auf die original Quelle in der Microsoft Dokumentation.

Antwort

Gelöschte Teams Kanäle werden für 30 Tage aufbewahrt.

Offizielle Quelle

Im englischsprachigen Original https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels wird unterhalb der Tabelle Teams and channels in Fußnote 4 festgehalten:

Deleted channels can be restored within 30 days. During these 30 days, a deleted channel continues to be counted towards the 200 channel or 30 private channel per team limit. After 30 days, a deleted channel and its content are permanently deleted and the channel no longer counts towards the per team limit.

Die deutschsprachige Version ist hier zu finden: https://docs.microsoft.com/de-de/microsoftteams/limits-specifications-teams#teams-and-channels

Gelöschte Kanäle können innerhalb von 30 Tagen wiederhergestellt werden. Während dieser 30 Tage wird ein gelöschter Kanal weiterhin in das Limit von 200 Kanälen oder 30 privaten Kanälen pro Team eingerechnet. Nach 30 Tagen wird ein gelöschter Kanal samt seiner Inhalte endgültig gelöscht und der Kanal wird nicht mehr in das Kanallimit pro Team eingerechnet.

+Datenschutz
\ No newline at end of file diff --git a/de/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html b/de/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html index 14173d4c..083fb3ce 100644 --- a/de/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html +++ b/de/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html @@ -5,7 +5,7 @@ Die Einwahlrufnummer in der Meeting-Einladung basiert auf dem UsageLocation Attribut des Benutzers - einmalig wenn der Benutzer für Audiokonferenz aktiviert wird. Also selbst wenn ihr eine falsche UsageLocation korrigiert, hat der Benutzer noch eine alte Einwahlrufnummer zugewiesen. Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts.">

Einwahlrufnummer für Teams Meetings per PowerShell setzen

Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll.

Die Einwahlrufnummer in der Meeting-Einladung basiert auf dem UsageLocation Attribut des Benutzers - einmalig wenn der Benutzer für Audiokonferenz aktiviert wird. Also selbst wenn ihr eine falsche UsageLocation korrigiert, hat der Benutzer noch eine alte Einwahlrufnummer zugewiesen.

Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern

Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts.

Microsoft Teams Admin Center mit Optionen zum Ändern der Einwahlrufnummer.

PowerShell verwenden um die Einwahlrufnummer für mehrere Benutzer zu ändern

Hinweis: Ihr müsst das Microsoft Teams PowerShell Modul installiert haben.

Ich nenne diese Nummern “Einwahlrufnummern”, aber der interne Name ist “ServiceNumber”. Ihr könnt eine Liste der verfügbaren Nummenr per Get-CsOnlineDialInConferencingServiceNumber abrufen.

 1
+Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts.">

Einwahlrufnummer für Teams Meetings per PowerShell setzen

Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll.

Die Einwahlrufnummer in der Meeting-Einladung basiert auf dem UsageLocation Attribut des Benutzers - einmalig wenn der Benutzer für Audiokonferenz aktiviert wird. Also selbst wenn ihr eine falsche UsageLocation korrigiert, hat der Benutzer noch eine alte Einwahlrufnummer zugewiesen.

Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern

Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts.

Microsoft Teams Admin Center mit Optionen zum Ändern der Einwahlrufnummer.

PowerShell verwenden um die Einwahlrufnummer für mehrere Benutzer zu ändern

Hinweis: Ihr müsst das Microsoft Teams PowerShell Modul installiert haben.

Ich nenne diese Nummern “Einwahlrufnummern”, aber der interne Name ist “ServiceNumber”. Ihr könnt eine Liste der verfügbaren Nummenr per Get-CsOnlineDialInConferencingServiceNumber abrufen.

 1
  2
  3
  4
@@ -43,5 +43,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2021/11/19/Exchange-Online-Cache-Mode-Shared-Mailboxes/index.html b/de/2021/11/19/Exchange-Online-Cache-Mode-Shared-Mailboxes/index.html
index 03a0a72d..d3547f5a 100644
--- a/de/2021/11/19/Exchange-Online-Cache-Mode-Shared-Mailboxes/index.html
+++ b/de/2021/11/19/Exchange-Online-Cache-Mode-Shared-Mailboxes/index.html
@@ -8,7 +8,7 @@
 In persönlichen Postfächern wird stattdessen die Möglichkeit geboten, weitere Elemente vom Server abzurufen. Der Text dazu wurde stümperhaft automatisch übersetzt, was sich gut ins Gesamtbild fügt:">

Outlook Cache Modus für Freigegebene Postfächer

In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt:

Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden.

Verbindung mit dem Server herstellen, um diese anzuzeigen

Outlook Meldung: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Verbindung mit dem Server herstellen, um diese anzuzeigen

In persönlichen Postfächern wird stattdessen die Möglichkeit geboten, weitere Elemente vom Server abzurufen. Der Text dazu wurde stümperhaft automatisch übersetzt, was sich gut ins Gesamtbild fügt:

Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden.

Klicken Sie hier, um weitere Informationen “Microsoft Exchange” anzuzeigen

Outlook Meldung: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Klicken Sie hier, um weitere Informationen Microsoft Exchange anzuzeigen

Workaround

Da es nicht immer praktikabel ist, einfach den Cache Mode für alle Postfachdaten in allen freigegebenen Postfächern zu aktivieren habe ich nach einem Workaround gesucht. Von vielen wird empfohlen, freigegebene Postfächer gar nicht zu cachen. Nach Möglichkeit würde ich aber zumindest für einen gewissen Zeitraum cachen.

Hinweis: In manchen Umgebungen funktioniert diese Vorgehensweise nicht und es wird kein Link zum Anzeigen von allen Elementen angezeigt. Die Ursache ist mir aktuell unklar.

Kurz zusammengefasst lautet die Vorgehensweise:

  1. AutoMapping für das Postfach deaktivieren. Dafür muss die Berechtigung auf das Postfach entzogen werden und dann per PowerShell mit dem zusätzlichen Parameter -AutoMapping:$false wieder erteilt werden. Anschließend 1h warten, bis die Berechtigung aktiv wird.
  2. Das freigegebene Postfach als zusätzliches Konto hinzufügen – nicht als freigegebenes Postfach.
  3. Bei Angabe der Zugangsdaten dann mit den Zugangsdaten des Benutzers anmelden (nicht mit der E-Mail-Adresse der SharedMailbox).
  4. Outlook neustarten.
  5. Der Cache Zeitraum lässt sich nun für die SharedMailbox separat einstellen. Der Abruf von Daten über den Cache Zeitraum hinaus ist möglich.

1. AutoMapping deaktivieren

Per Exchange Online PowerShell die FullAccess Berechtigung zunächst entziehen, dann mit dem zusätzlichen Parameter -AutoMapping:$false erneut zuweisen. In diesem Beispiel heißt das freigegebene Postfach MyShared-Mailbox und der Benutzer mit Vollzugriff heißt andreas.dieckmann. Ich gehe hier von einer Exchange Online Umgebung aus.

1
+In persönlichen Postfächern wird stattdessen die Möglichkeit geboten, weitere Elemente vom Server abzurufen. Der Text dazu wurde stümperhaft automatisch übersetzt, was sich gut ins Gesamtbild fügt:">

Outlook Cache Modus für Freigegebene Postfächer

In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt:

Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden.

Verbindung mit dem Server herstellen, um diese anzuzeigen

Outlook Meldung: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Verbindung mit dem Server herstellen, um diese anzuzeigen

In persönlichen Postfächern wird stattdessen die Möglichkeit geboten, weitere Elemente vom Server abzurufen. Der Text dazu wurde stümperhaft automatisch übersetzt, was sich gut ins Gesamtbild fügt:

Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden.

Klicken Sie hier, um weitere Informationen “Microsoft Exchange” anzuzeigen

Outlook Meldung: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Klicken Sie hier, um weitere Informationen Microsoft Exchange anzuzeigen

Workaround

Da es nicht immer praktikabel ist, einfach den Cache Mode für alle Postfachdaten in allen freigegebenen Postfächern zu aktivieren habe ich nach einem Workaround gesucht. Von vielen wird empfohlen, freigegebene Postfächer gar nicht zu cachen. Nach Möglichkeit würde ich aber zumindest für einen gewissen Zeitraum cachen.

Hinweis: In manchen Umgebungen funktioniert diese Vorgehensweise nicht und es wird kein Link zum Anzeigen von allen Elementen angezeigt. Die Ursache ist mir aktuell unklar.

Kurz zusammengefasst lautet die Vorgehensweise:

  1. AutoMapping für das Postfach deaktivieren. Dafür muss die Berechtigung auf das Postfach entzogen werden und dann per PowerShell mit dem zusätzlichen Parameter -AutoMapping:$false wieder erteilt werden. Anschließend 1h warten, bis die Berechtigung aktiv wird.
  2. Das freigegebene Postfach als zusätzliches Konto hinzufügen – nicht als freigegebenes Postfach.
  3. Bei Angabe der Zugangsdaten dann mit den Zugangsdaten des Benutzers anmelden (nicht mit der E-Mail-Adresse der SharedMailbox).
  4. Outlook neustarten.
  5. Der Cache Zeitraum lässt sich nun für die SharedMailbox separat einstellen. Der Abruf von Daten über den Cache Zeitraum hinaus ist möglich.

1. AutoMapping deaktivieren

Per Exchange Online PowerShell die FullAccess Berechtigung zunächst entziehen, dann mit dem zusätzlichen Parameter -AutoMapping:$false erneut zuweisen. In diesem Beispiel heißt das freigegebene Postfach MyShared-Mailbox und der Benutzer mit Vollzugriff heißt andreas.dieckmann. Ich gehe hier von einer Exchange Online Umgebung aus.

1
 2
 
Remove-MailboxPermission MyShared-Mailbox -User andreas.dieckmann -AccessRights fullaccess
 Add-MailboxPermission MyShared-Mailbox -User andreas.dieckmann -AccessRights fullaccess -AutoMapping:$false
@@ -17,5 +17,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2022/06/13/Connect-MicrosoftTeams-Authentifizierungsfehler-ActiveX/index.html b/de/2022/06/13/Connect-MicrosoftTeams-Authentifizierungsfehler-ActiveX/index.html
index 87713075..17ff707e 100644
--- a/de/2022/06/13/Connect-MicrosoftTeams-Authentifizierungsfehler-ActiveX/index.html
+++ b/de/2022/06/13/Connect-MicrosoftTeams-Authentifizierungsfehler-ActiveX/index.html
@@ -2,7 +2,7 @@
 

Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun.

Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter. Aber bevor ich überhaupt nach einem Benutzernamen gefragt wurde - alles rot.

Die Fehlermeldung:

Connect-MicrosoftTeams : Mindestens ein Fehler ist aufgetreten. +Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter.">

Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun.

Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter. Aber bevor ich überhaupt nach einem Benutzernamen gefragt wurde - alles rot.

Die Fehlermeldung:

Connect-MicrosoftTeams : Mindestens ein Fehler ist aufgetreten. In Zeile:1 Zeichen:1 + Connect-MicrosoftTeams + ~~~~~~~~~~~~~~~~~~~~~~ @@ -22,5 +22,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

\ No newline at end of file diff --git a/de/2023/01/09/Exchange-Online-per-Azure-Automation/index.html b/de/2023/01/09/Exchange-Online-per-Azure-Automation/index.html index c5387999..27160bf2 100644 --- a/de/2023/01/09/Exchange-Online-per-Azure-Automation/index.html +++ b/de/2023/01/09/Exchange-Online-per-Azure-Automation/index.html @@ -2,7 +2,7 @@

Exchange Online per Azure Automation steuern im Jahr 2024

Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024).

Legacy Ansatz

Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? +Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig.">

Exchange Online per Azure Automation steuern im Jahr 2024

Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024).

Legacy Ansatz

Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig.

Managed Identities + Exchange Online PowerShell

Eine System Assigned Managed Identity weist einer Azure Resource eine Identität zu. Dieser Identität können Rechte zugewiesen werden, z.B. für die Administration von Exchange Online oder bestimmten Azure Ressourcen. Die Verwaltung der Identität erfolgt automatisch, es muss also kein Passwort regelmäßig geändert werden oder ähnliches. Und wenn die dazugehörige Ressource (in dem Fall das Azure Automation Konto) gelöscht wird, wird die System Assigned Managed Identity automatisch mitgelöscht. Das Exchange Online PowerShell Modul unterstützt ab Version 3 Managed Identities für die Authentifizierung.

Theoretisch sollte das ganze auch mit einer User Assigned Managed Identities funktionieren. Dabei wird die Managed Identity selbst erzeugt und kann dann mehreren Azure Ressourcen zugewiesen werden. Für manche Szenarien sicher auch praktisch.

Managed Identity aktivieren

Ich bevorzuge es System Assigned Managed Identities zu verwenden, da so effektiv nur eine Ressource die Rechte erhält. Ihr könnt im Automation Account unter “Account Settings” -> “Identity” prüfen, ob eine Managed Identity verwendet wird. Hier ein Beispiel-Screenshot mit einer vorhandenen Managed Identity: Der Status steht auf “On” und es wird eine Object ID aufgeführt.

Beispiel für einen Azure Automation Account mit einer System Assigned Managed Identity

Die Zuweisung der “Exchange Administrator”-Rolle an die Managed Identity erfolgt dann anschließend per PowerShell/Graph API.

Konfiguration per PowerShell

In diesem Abschnitt wird beschrieben, wie ihr die Konfiguration per PowerShell durchführen könnt. Die Zuweisung der “Exchange Administrator”-Rolle an eine Managed Identity erfolgt einmalig per lokaler PowerShell - der nachfolgende Code wird also nicht in Azure Automation als Runbook ausgeführt.

Voraussetzungen:

  • Das Microsoft.Graph PowerShell Modul
  • Ein Benutzeraccount mit der Admin-Rolle “Privileged Role Administrator” oder “Globaler Administrator”

Falls ihr das Modul noch nicht installiert habt, könnt ihr es wie folgt installieren (mehr Infos hier):

1
 
Install-Module Microsoft.Graph
@@ -96,5 +96,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2023/04/12/exchange-hybrid-without-ever-having-an-exchange-server/index.html b/de/2023/04/12/exchange-hybrid-without-ever-having-an-exchange-server/index.html
index 8b16a280..2a7274da 100644
--- a/de/2023/04/12/exchange-hybrid-without-ever-having-an-exchange-server/index.html
+++ b/de/2023/04/12/exchange-hybrid-without-ever-having-an-exchange-server/index.html
@@ -2,7 +2,7 @@
 

Synchronisierte Exchange Objekte ohne Exchange Server verwalten

Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. +In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:">

Synchronisierte Exchange Objekte ohne Exchange Server verwalten

Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich.

In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:

Dieser Benutzer wird mit Ihrem lokalen Active Directory synchronisiert. Einige Details können nur über Ihre lokale Active Directory bearbeitet werden

Aber wie kann die Konfiguration über das lokale Active Directory vorgenommen werden?

Video zu dem Thema

Ich habe auch ein Video zu dem Thema erstellt: Video Thumbnail &ldquo;Synchronisierte User trotzdem administrieren&rdquo;

Ursache

Die Ursache liegt in Azure AD Connect. Auf Grund der Architektur der Verzeichnissynchronisierung zwischen On-Premises Windows Server Active Directory und Azure Active Directory ist festgelegt, dass die Benutzerattribute von On-Premises stammen. Die Änderung ist dann nur an der Quelle möglich. Also im lokalen AD. @@ -39,5 +39,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

\ No newline at end of file diff --git a/de/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html b/de/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html index 347a90ce..cef7505b 100644 --- a/de/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html +++ b/de/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html @@ -8,7 +8,7 @@ Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen.">

PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System.

Gleichzeitig ist das auch ein zweischneidiges Schwert:
Vorteil: Wir entziehen potenziellen Angreifern ein mächtiges Werkzeug.
Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen.

Ich habe auch ein Video zum Thema PowerShell Language Modes erstellt, in dem ich weiter darauf eingehe. In diesem Blog-Beitrag hier geht es aber nur darum, wie der ConstrainedLanguage Mode per Gruppenrichtlinie konfiguriert werden kann. Die anderen Modes lassen sich leider nicht sinnvoll systemweit aktivieren.

Hinweis zu __PSLockdownPolicy

Die Umgebungsvariable __PSLockdownPolicy auf den Wert 4 setzen ist übrigens KEIN sicherer oder supporteter Weg um den ConstrainedLanguage Mode zu aktivieren.

ConstrainedLanguage Mode konfigurieren

Hinweis: Die Vorgehensweise habe ich mit Windows 11 Enterprise Version 22H2 (Build 22621.1702) evaluiert.

Der ConstrainedLanguage Mode kann per Windows Defender Application Control (WDAC) oder mit dem älteren AppLocker konfiguriert werden. +Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen.">

PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System.

Gleichzeitig ist das auch ein zweischneidiges Schwert:
Vorteil: Wir entziehen potenziellen Angreifern ein mächtiges Werkzeug.
Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen.

Ich habe auch ein Video zum Thema PowerShell Language Modes erstellt, in dem ich weiter darauf eingehe. In diesem Blog-Beitrag hier geht es aber nur darum, wie der ConstrainedLanguage Mode per Gruppenrichtlinie konfiguriert werden kann. Die anderen Modes lassen sich leider nicht sinnvoll systemweit aktivieren.

Hinweis zu __PSLockdownPolicy

Die Umgebungsvariable __PSLockdownPolicy auf den Wert 4 setzen ist übrigens KEIN sicherer oder supporteter Weg um den ConstrainedLanguage Mode zu aktivieren.

ConstrainedLanguage Mode konfigurieren

Hinweis: Die Vorgehensweise habe ich mit Windows 11 Enterprise Version 22H2 (Build 22621.1702) evaluiert.

Der ConstrainedLanguage Mode kann per Windows Defender Application Control (WDAC) oder mit dem älteren AppLocker konfiguriert werden. Verwendet am besten eine VM zum Testen, die schnell wieder auf einen funktionsfähigen Zustand zurückgesetzt werden kann. Es ist möglich sich mit Application Control Policies sehr schnell das System zu zerschießen, sodass es nicht mehr bootfähig ist.

Um den ConstrainedLanguage Mode per WDAC zu konfigurieren, verwenden wir das Sub-Feature “Code Integrity” mit “Script Enforcement”. Diese Script Enforcement betrifft nicht nur PowerShell, sondern auch einige andere Skript Hosts, die Microsoft als “Enlightened” bezeichnet. Der Windows Based Script Host (wscript.exe) und Microsoft Console Based Script Host (cscript.exe) blockiert die komplette Ausführung von Skripten in den Formaten VBScript, cscript und jscript - egal wo die liegen. Ähnlich verhält sich der Microsoft HTML Application Host (mshta.exe) der für die Ausführung von .hta Dateien zuständig ist - die Ausführung von .hta Dateien wird pauschal blockiert. Andere Skripte wie z.B. .bat oder .cmd in der cmd.exe werden übrigens gar nicht durch WDAC blockiert. Und auch nicht-Microsoft Skripte wie z.B. Python werden nicht blockiert.

Schritt 1: Base Policy

Für CodeIntegrity gibt es einige Beispiel-Policies, die wir als Grundlage verwenden können. Diese sind unter folgendem Pfad zu finden: C:\Windows\schemas\CodeIntegrity\ExamplePolicies

Um weiterhin normale Microsoft Applikationen und Systemkomponenten zu erlauben, kopieren wir uns die AllowMicrosoft.xml in ein Verzeichnis, z.B. C:\CIPolicy. Dann per PowerShell anpassen, sodass die Policy eine neue GUID, einen neuen Namen und eine Versionsnummer erhält:

1
@@ -42,5 +42,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2023/11/28/powershell-brackets/index.html b/de/2023/11/28/powershell-brackets/index.html
index 7e027557..2a34584a 100644
--- a/de/2023/11/28/powershell-brackets/index.html
+++ b/de/2023/11/28/powershell-brackets/index.html
@@ -5,7 +5,7 @@
 # Verschiedene Klammern in der PowerShell () {} [] Die Klammern haben unterschiedliche Einsatzzwecke. Die Größer-als < und Kleiner-als > Zeichen würde ich übrigens nicht zu den Klammern zählen. Für alle echten Klammern gilt: Wenn ihr eine Klammer geöffnet habt, müsst ihr sie auch wieder schließen.
 Runde Klammern ( ) Mit runden Klammern wird in der PowerShell ein Ausdruck bzw. ein Befehl umfasst, bzw.">

Die unterschiedlichen Klammern in der PowerShell

Wann ist welche Klammer die Richtige in der PowerShell?

# Verschiedene Klammern in der PowerShell
+Runde Klammern ( ) Mit runden Klammern wird in der PowerShell ein Ausdruck bzw. ein Befehl umfasst, bzw.">

Die unterschiedlichen Klammern in der PowerShell

Wann ist welche Klammer die Richtige in der PowerShell?

# Verschiedene Klammern in der PowerShell
 () {} []

Die Klammern haben unterschiedliche Einsatzzwecke. Die Größer-als < und Kleiner-als > Zeichen würde ich übrigens nicht zu den Klammern zählen. Für alle echten Klammern gilt: Wenn ihr eine Klammer geöffnet habt, müsst ihr sie auch wieder schließen.

Runde Klammern ( )

Mit runden Klammern wird in der PowerShell ein Ausdruck bzw. ein Befehl umfasst, bzw. die Parameter für .NET Methoden umschlossen.

Expressions

Mit runden Klammern kann ein Ausdruck (Englisch: eine Expression) zusammengefasst werden. Ähnlich wie in einer mathematischen Formel wird das was in Klammern steht zuerst ausgeführt. Also bevor die weiter außen stehenden Sachen ausgeführt werden.

 1
  2
@@ -357,5 +357,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/01/17/powershell-localized-security-identifiers/index.html b/de/2024/01/17/powershell-localized-security-identifiers/index.html
index 98954cd6..a65fd6fe 100644
--- a/de/2024/01/17/powershell-localized-security-identifiers/index.html
+++ b/de/2024/01/17/powershell-localized-security-identifiers/index.html
@@ -2,7 +2,7 @@
 

PowerShell: Übersetzte Security Identifier Namen herausfinden

Inhaltsverzeichnis

Security Identifiers sind dazu da, um bestimmte Security Prinzipale oder Gruppen unter Windows zu identifizieren. Leider sind die dazugehörigen Namen lokalisiert, also sind zum Beispiel in einem deutschsprachigen System anders als in einem englischsprachigen System.

Beispielsweise heißt die eingebaute Administratorgruppe auf Englisch BUILTIN\ADMINISTRATORS und auf Deutsch VORDEFINIERT\Administratoren. Oder das Englische NT AUTHORITY\SYSTEM wird an einem Deutschen System zu NT-AUTORITÄT\SYSTEM. Das finde ich richtig abgefahren! Da wird auf einmal ein Leerzeichen durch ein Bindestrich ersetzt. Naja was soll’s.

Diese unterschiedlichen Namen können problematisch sein, wenn sie in Skripten fest reingeschrieben werden (hardcoded). Und falls das Skript dann auf einem anderssprachigem System ausgeführt wird, dann schlägt es fehl - zumindest teilweise, kommt auf das Skript an. So war es zum Beispiel in diesem Skript vom Microsoft FastTrack Team, welches bei Migrationen zu Exchange Online helfen soll. Ich habe dann eine Code Änderung eingereicht, die auch akzeptiert wurde.

SID zu Namen konvertieren

Hier also die Lösung: Anstatt den Security Principal Namen in allen erdenklichen Sprachen im Code aufzunehmen, kann eine .NET Methode verwendet werden. Hier zum Beispiel um den korrekten Namen für NT AUTHORITY\SYSTEM am aktuellen System herauszufinden:

1
+Beispielsweise heißt die eingebaute Administratorgruppe auf Englisch BUILTIN\ADMINISTRATORS und auf Deutsch VORDEFINIERT\Administratoren. Oder das Englische NT AUTHORITY\SYSTEM wird an einem Deutschen System zu NT-AUTORITÄT\SYSTEM. Das finde ich richtig abgefahren! Da wird auf einmal ein Leerzeichen durch ein Bindestrich ersetzt.">

PowerShell: Übersetzte Security Identifier Namen herausfinden

Inhaltsverzeichnis

Security Identifiers sind dazu da, um bestimmte Security Prinzipale oder Gruppen unter Windows zu identifizieren. Leider sind die dazugehörigen Namen lokalisiert, also sind zum Beispiel in einem deutschsprachigen System anders als in einem englischsprachigen System.

Beispielsweise heißt die eingebaute Administratorgruppe auf Englisch BUILTIN\ADMINISTRATORS und auf Deutsch VORDEFINIERT\Administratoren. Oder das Englische NT AUTHORITY\SYSTEM wird an einem Deutschen System zu NT-AUTORITÄT\SYSTEM. Das finde ich richtig abgefahren! Da wird auf einmal ein Leerzeichen durch ein Bindestrich ersetzt. Naja was soll’s.

Diese unterschiedlichen Namen können problematisch sein, wenn sie in Skripten fest reingeschrieben werden (hardcoded). Und falls das Skript dann auf einem anderssprachigem System ausgeführt wird, dann schlägt es fehl - zumindest teilweise, kommt auf das Skript an. So war es zum Beispiel in diesem Skript vom Microsoft FastTrack Team, welches bei Migrationen zu Exchange Online helfen soll. Ich habe dann eine Code Änderung eingereicht, die auch akzeptiert wurde.

SID zu Namen konvertieren

Hier also die Lösung: Anstatt den Security Principal Namen in allen erdenklichen Sprachen im Code aufzunehmen, kann eine .NET Methode verwendet werden. Hier zum Beispiel um den korrekten Namen für NT AUTHORITY\SYSTEM am aktuellen System herauszufinden:

1
 2
 3
 
# Get the localized name of "NT AUTHORITY\SYSTEM" for the current user's language
@@ -12,5 +12,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/02/20/powershell-check-admin-rights/index.html b/de/2024/02/20/powershell-check-admin-rights/index.html
index 47edd5b2..e4d72e6b 100644
--- a/de/2024/02/20/powershell-check-admin-rights/index.html
+++ b/de/2024/02/20/powershell-check-admin-rights/index.html
@@ -2,7 +2,7 @@
 

PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. +Admin-Rechte per Requires Anweisung erfordern 1 #Requires -RunAsAdministrator Diese Zeile kann an eine beliebigen Stelle im PowerShell Code eingefügt werden.">

PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Admin-Rechte per Requires Anweisung erfordern

1
 
#Requires -RunAsAdministrator
 

Diese Zeile kann an eine beliebigen Stelle im PowerShell Code eingefügt werden. Ich würde es immer relativ am Anfang des Skriptes einbauen, damit es gut sichtbar ist. Aber die Position spielt technisch gesehen keine Rolle. Also wenn die #Requires Anweisung im Code drin steht, wird das vor der richtigen Ausführung des gesamten restlichen Codes ausgewertet. Und je nachdem ob Adminrechte vorhanden sind, oder nicht - wird ein Fehler ausgegeben.

Fehler wenn #Requires -RunAsAdministrator Anweisung im Code genutzt wird, aber keine Admin-Rechte vorhanden sind

Windows: Admin-Rechte per Code prüfen

Aber die #Requires -RunAsAdministrator Methode ist nicht für alle Fälle passend. @@ -17,5 +17,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

\ No newline at end of file diff --git a/de/2024/02/28/powershell-environment-variables/index.html b/de/2024/02/28/powershell-environment-variables/index.html index a75c2df4..dab86feb 100644 --- a/de/2024/02/28/powershell-environment-variables/index.html +++ b/de/2024/02/28/powershell-environment-variables/index.html @@ -11,7 +11,7 @@ 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Umgebungsvariable per $Env:-Variable auslesen Die einfachste Möglichkeit ist per $Env:-Variable. Gebt dafür einfach $Env ein, dann einen Doppelpunkt und dann den Namen der Umgebungsvariable von der ihr den Wert auslesen wollt. 1 $Env:username Dadurch wird der Username des aktuell angemeldeten Users ausgegeben. -Das funktioniert übrigens plattformübergreifend, also auch zum Beispiel unter Linux.">

PowerShell: Zugriff auf Umgebungsvariablen

Per PowerShell auf Umgebungsvariablen zugreifen - das geht ganz einfach.
🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Umgebungsvariable per $Env:-Variable auslesen

Die einfachste Möglichkeit ist per $Env:-Variable. Gebt dafür einfach $Env ein, dann einen Doppelpunkt und dann den Namen der Umgebungsvariable von der ihr den Wert auslesen wollt.

1
+Das funktioniert übrigens plattformübergreifend, also auch zum Beispiel unter Linux.">

PowerShell: Zugriff auf Umgebungsvariablen

Per PowerShell auf Umgebungsvariablen zugreifen - das geht ganz einfach.
🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Umgebungsvariable per $Env:-Variable auslesen

Die einfachste Möglichkeit ist per $Env:-Variable. Gebt dafür einfach $Env ein, dann einen Doppelpunkt und dann den Namen der Umgebungsvariable von der ihr den Wert auslesen wollt.

1
 
$Env:username
 

Dadurch wird der Username des aktuell angemeldeten Users ausgegeben.

Beispiel Ausgabe von $Env:username in der PowerShell - der aktuelle Username wird angezeigt

Das funktioniert übrigens plattformübergreifend, also auch zum Beispiel unter Linux.

Umgebungsvariablen per PSDrive auslesen

Die Umgebungsvariablen stehen auch als PSDrive - also als PowerShell Laufwerk zur Verfügung. Das heißt ihr könnt auch durch alle Umgebungsvariablen navigieren wie durch ein Dateisystem. Ihr könnt zum Beispiel per Get-ChildItem alle Umgebungsvariablen auflisten.

1
 
Get-ChildItem Env:
@@ -49,5 +49,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/03/05/powershell-profiles/index.html b/de/2024/03/05/powershell-profiles/index.html
index 6a574a65..cac48d6b 100644
--- a/de/2024/03/05/powershell-profiles/index.html
+++ b/de/2024/03/05/powershell-profiles/index.html
@@ -11,7 +11,7 @@
 Oder ihr könnt einstellen, dass beim Start so ein Splash-Screen angezeigt (winfetch) wird:
 Oder ihr könnt auch eigene Funktionen und Variablen hinterlegen, sodass diese immer sofort verfügbar sind, wenn ihr die PowerShell startet.
 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.
-Letztendlich ist ein PowerShell Profil einfach ein PowerShell Skript, was automatisch ausgeführt wird, wenn ihr die PowerShell startet.">

PowerShell Profile erklärt (mit Beispielen)

Mit PowerShell Profilen könnt ihr eure PowerShell anpassen. Also zum Beispiel, dass sie so aussieht:

PowerShell Konsole angepasst mit Oh My Posh und dem Theme Blue Owl

Oder ihr könnt einstellen, dass beim Start so ein Splash-Screen angezeigt (winfetch) wird:

Beispiel für Winfetch Infobildschirm

Oder ihr könnt auch eigene Funktionen und Variablen hinterlegen, sodass diese immer sofort verfügbar sind, wenn ihr die PowerShell startet.

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Letztendlich ist ein PowerShell Profil einfach ein PowerShell Skript, was automatisch ausgeführt wird, wenn ihr die PowerShell startet. Die PowerShell schaut beim Start automatisch in bestimmten Pfaden, ob eine Profildatei vorhanden ist. Es können aber auch mehrere Profile vorhanden sein. +Letztendlich ist ein PowerShell Profil einfach ein PowerShell Skript, was automatisch ausgeführt wird, wenn ihr die PowerShell startet.">

PowerShell Profile erklärt (mit Beispielen)

Mit PowerShell Profilen könnt ihr eure PowerShell anpassen. Also zum Beispiel, dass sie so aussieht:

PowerShell Konsole angepasst mit Oh My Posh und dem Theme Blue Owl

Oder ihr könnt einstellen, dass beim Start so ein Splash-Screen angezeigt (winfetch) wird:

Beispiel für Winfetch Infobildschirm

Oder ihr könnt auch eigene Funktionen und Variablen hinterlegen, sodass diese immer sofort verfügbar sind, wenn ihr die PowerShell startet.

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Letztendlich ist ein PowerShell Profil einfach ein PowerShell Skript, was automatisch ausgeführt wird, wenn ihr die PowerShell startet. Die PowerShell schaut beim Start automatisch in bestimmten Pfaden, ob eine Profildatei vorhanden ist. Es können aber auch mehrere Profile vorhanden sein. So kann dann zum Beispiel ein User-spezifisches Profil angelegt werden und auch ein systemweites. Außerdem können unterschiedliche PowerShell Konsolenhosts auch noch separate Profile haben. So kann dann zum Beispiel VSCode oder die PowerShell ISE anders konfiguriert werden, als die normale PowerShell Konsole (falls es gewünscht ist). Und die Windows PowerShell hat auch nochmal Profile die unabhängig sind von der PowerShell 7. Also es gibt sehr viele Orte wo ein Profil liegen kann.

Tipp: PowerShell ohne Profile starten

Übrigens die PowerShell versucht normalerweise immer Profile zu laden wenn sie gestartet wird. Aber es ist auch möglich die PowerShell mit dem zusätzlichen Parameter -NoProfile zu starten und dann wird sie ganz ohne Profile gestartet - kann manchmal nützlich sein.

1
 2
 3
@@ -242,5 +242,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/03/12/powershell-measure-execution-time/index.html b/de/2024/03/12/powershell-measure-execution-time/index.html
index a65a1709..5285c1e8 100644
--- a/de/2024/03/12/powershell-measure-execution-time/index.html
+++ b/de/2024/03/12/powershell-measure-execution-time/index.html
@@ -5,7 +5,7 @@
 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.
 Möglichkeit 1: Measure-Command Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts.">

Die Ausführungsdauer von PowerShell Code messen

Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert.
🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Möglichkeit 1: Measure-Command

Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts. Ein einfaches Beispiel dafür:

1
+Möglichkeit 1: Measure-Command Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts.">

Die Ausführungsdauer von PowerShell Code messen

Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert.
🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Möglichkeit 1: Measure-Command

Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts. Ein einfaches Beispiel dafür:

1
 
Measure-Command { Get-Disk }
 

Messung per Measure-Command

Aber wir können auch mehr messen, als nur einen einzelnen Befehl. Hier ein Beispiel bei dem ein längerer Code ausgeführt und gemessen wird.

1
 2
@@ -81,5 +81,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/03/19/powershell-regex/index.html b/de/2024/03/19/powershell-regex/index.html
index e1deaf5c..b422006a 100644
--- a/de/2024/03/19/powershell-regex/index.html
+++ b/de/2024/03/19/powershell-regex/index.html
@@ -2,7 +2,7 @@
 

Regular Expressions in PowerShell

Regular Expressions sind Muster mit denen Texte verglichen werden können oder auch Infos aus Texten extrahiert werden können. Zum Beispiel könnt ihr damit überprüfen, ob eine Logdatei von einem Programm die Zeichenfolge “Error” enthält (also um zu prüfen, ob ein Fehler aufgetreten ist). Oder um einfach nur zu schauen, ob eine Zeichenkette einem bestimmten Muster entspricht, zum Beispiel einer E-Mail Adresse.

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Diese Muster gibt es in vielen Programmiersprachen. Die Details der Implementierungen können sich dann in den Details aber etwas unterscheiden. PowerShell und die RegEx-Engine der PowerShell basieren auf .NET. Deshalb gelten hier vorallem die .NET Eigenheiten.
In der PowerShell gibt es verschiedene Möglichkeiten um Regular Expressions zu verwenden - also zum Beispiel in Cmdlets, als Vergleichsoperator oder per .NET Methode. Im Folgenden zeige ich euch ein paar dieser Möglichkeiten. Außerdem zeige ich euch, wie ihr die Vergleichsmuster also die tatsächlichen Regular Expressions erstellen könnt.

Der -match Operator

Eine einfache Möglichkeit um einen Vergleich per Regular Expressions zu machen, ist der -match Vergleichsoperator. Zum Beispiel so:

1
+🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.">

Regular Expressions in PowerShell

Regular Expressions sind Muster mit denen Texte verglichen werden können oder auch Infos aus Texten extrahiert werden können. Zum Beispiel könnt ihr damit überprüfen, ob eine Logdatei von einem Programm die Zeichenfolge “Error” enthält (also um zu prüfen, ob ein Fehler aufgetreten ist). Oder um einfach nur zu schauen, ob eine Zeichenkette einem bestimmten Muster entspricht, zum Beispiel einer E-Mail Adresse.

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Diese Muster gibt es in vielen Programmiersprachen. Die Details der Implementierungen können sich dann in den Details aber etwas unterscheiden. PowerShell und die RegEx-Engine der PowerShell basieren auf .NET. Deshalb gelten hier vorallem die .NET Eigenheiten.
In der PowerShell gibt es verschiedene Möglichkeiten um Regular Expressions zu verwenden - also zum Beispiel in Cmdlets, als Vergleichsoperator oder per .NET Methode. Im Folgenden zeige ich euch ein paar dieser Möglichkeiten. Außerdem zeige ich euch, wie ihr die Vergleichsmuster also die tatsächlichen Regular Expressions erstellen könnt.

Der -match Operator

Eine einfache Möglichkeit um einen Vergleich per Regular Expressions zu machen, ist der -match Vergleichsoperator. Zum Beispiel so:

1
 2
 3
 4
@@ -654,5 +654,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/03/26/powershell-dot-sourcing/index.html b/de/2024/03/26/powershell-dot-sourcing/index.html
index 416dd4d0..d958d19a 100644
--- a/de/2024/03/26/powershell-dot-sourcing/index.html
+++ b/de/2024/03/26/powershell-dot-sourcing/index.html
@@ -2,7 +2,7 @@
 

PowerShell Dot Sourcing

Mit PowerShell Dot Sourcing könnt ihr eine Skriptdatei in eure PowerShell Session importieren. Das Skript wird erstmal normal ausgeführt, aber gesetzte Variablen, erstellte Funktionen und so weiter sind dann in der Session verfügbar. Bei einem normalen Skript-Aufruf ist das sonst nicht der Fall. Mich erinnert das immer an den PHP-Befehl include, weil ich in meiner Jugend mit PHP rumgedaddelt habe 😅

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Normaler Skript-Aufruf

Zum Vergleich: Normalerweise würde man ein Skript ja wie folgt ausführen. Entweder mit einem relativen Pfad oder mit einem absoluten Pfad.

1
+🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.">

PowerShell Dot Sourcing

Mit PowerShell Dot Sourcing könnt ihr eine Skriptdatei in eure PowerShell Session importieren. Das Skript wird erstmal normal ausgeführt, aber gesetzte Variablen, erstellte Funktionen und so weiter sind dann in der Session verfügbar. Bei einem normalen Skript-Aufruf ist das sonst nicht der Fall. Mich erinnert das immer an den PHP-Befehl include, weil ich in meiner Jugend mit PHP rumgedaddelt habe 😅

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Normaler Skript-Aufruf

Zum Vergleich: Normalerweise würde man ein Skript ja wie folgt ausführen. Entweder mit einem relativen Pfad oder mit einem absoluten Pfad.

1
 2
 3
 4
@@ -26,5 +26,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/04/09/powershell-suppress-output/index.html b/de/2024/04/09/powershell-suppress-output/index.html
index 9bd2d442..487b094a 100644
--- a/de/2024/04/09/powershell-suppress-output/index.html
+++ b/de/2024/04/09/powershell-suppress-output/index.html
@@ -8,7 +8,7 @@
 1 New-NetFirewallRule -DisplayName "Ausgehende Verbindungen zu Port 443 blockieren" -Direction Outbound -RemotePort 443 -Protocol TCP -Action Block Wenn ich das ausführe, dann kriege ich als Rückgabe ein Objekt, welches die Firewall Regel repräsentiert.'>

PowerShell Ausgabe unterdrücken

Manchmal geben PowerShell Befehle eine Rückmeldung aus, obwohl uns das gar nicht interessiert. Es gibt verschiedene Szenarien, wie ihr die Ausgaben unterdrücken könnt.
🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Ich verwende hier zum Beispiel das Cmdlet New-NetFirewallRule mit dem ich eine neue Regel in der Windows Firewall hinzufügen kann:

1
+1 New-NetFirewallRule -DisplayName "Ausgehende Verbindungen zu Port 443 blockieren" -Direction Outbound -RemotePort 443 -Protocol TCP -Action Block Wenn ich das ausführe, dann kriege ich als Rückgabe ein Objekt, welches die Firewall Regel repräsentiert.'>

PowerShell Ausgabe unterdrücken

Manchmal geben PowerShell Befehle eine Rückmeldung aus, obwohl uns das gar nicht interessiert. Es gibt verschiedene Szenarien, wie ihr die Ausgaben unterdrücken könnt.
🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Ich verwende hier zum Beispiel das Cmdlet New-NetFirewallRule mit dem ich eine neue Regel in der Windows Firewall hinzufügen kann:

1
 
New-NetFirewallRule -DisplayName "Ausgehende Verbindungen zu Port 443 blockieren" -Direction Outbound -RemotePort 443 -Protocol TCP -Action Block
 

Beispiel für eine exzessive Rückgabe von Informationen durch ein PowerShell Cmdlet: Der Aufruf von New-NetFirewallRule

Wenn ich das ausführe, dann kriege ich als Rückgabe ein Objekt, welches die Firewall Regel repräsentiert. Wenn man das in einem Skript weiterverarbeiten möchte ist es natürlich sinnvoll. Manchmal braucht man die Info aber nicht.

$null vs. Out-Null

Ich würde das jetzt am ehesten unterdrücken, indem ich die automatische vordefinierte Variable $null verwende und ihr die Rückgabe des Befehls zuweise. $null ist read-only, erhält dadurch also nicht wirklich einen anderen Wert zugewiesen.

1
 
$null = New-NetFirewallRule -DisplayName "Ausgehende Verbindungen zu Port 443 blockieren" -Direction Outbound -RemotePort 443 -Protocol TCP -Action Block
@@ -69,5 +69,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/04/23/powershell-remote-script-development/index.html b/de/2024/04/23/powershell-remote-script-development/index.html
index b2e71df4..629637a5 100644
--- a/de/2024/04/23/powershell-remote-script-development/index.html
+++ b/de/2024/04/23/powershell-remote-script-development/index.html
@@ -2,7 +2,7 @@
 

PowerShell Skripte remote entwickeln

Es ist möglich PowerShell Skripte remote zu entwickeln. Also das Skript wird auf einem remote Computer gespeichert und ausgeführt, aber die Eingabe erfolgt im lokalen Editor-Tool. Das geht sowohl mit der klassischen Windows PowerShell ISE, als auch mit Visual Studio Code. In VSCode könnt ihr sowohl mit remote Windows PowerShell, als auch remote PowerShell 7 Systemen arbeiten. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Windows PowerShell ISE

Die Windows PowerShell ISE unterstützt nur remote Windows Systeme mit Windows PowerShell. Um remote ein Skript zu entwickeln, könnt ihr über das Menü “Datei” ➡️ “Neue Remote-PowerShell-Registerkarte” eine Session starten.

Neue Remote-PowerShell-Registerkarte in der PowerShell ISE starten

Im Dialog “Neue Remote-PowerShell-Registerkarte” könnt ihr dann den Hostname des remote Computers angegeben und optional noch einen anderen Benutzernamen. Falls der User mit dem ihr lokal angemeldet seid schon Rechte für den Remotecomputer hat, ist es nicht nötig ihn hier erneut anzugeben.

Angabe des Remotecomputernamens im Dialog Neue Remote-PowerShell-Registerkarte in der PowerShell ISE

Es öffnet sich eine neuer Tab. An den eckigen Klammern in der Prompt ist erkennbar, dass es sich um ein remote System handelt.

PowerShell ISE ist mit Server1 verbunden

Um eine neue Skriptdatei auf dem Remotecomputer anzulegen, könnt ihr das Cmdlet New-Item verwenden. Mit dem Befehl psedit könnt ihr ein Skript, welches auf dem Remotecomputer liegt zur Bearbeitung laden.

1
+Windows PowerShell ISE Die Windows PowerShell ISE unterstützt nur remote Windows Systeme mit Windows PowerShell.">

PowerShell Skripte remote entwickeln

Es ist möglich PowerShell Skripte remote zu entwickeln. Also das Skript wird auf einem remote Computer gespeichert und ausgeführt, aber die Eingabe erfolgt im lokalen Editor-Tool. Das geht sowohl mit der klassischen Windows PowerShell ISE, als auch mit Visual Studio Code. In VSCode könnt ihr sowohl mit remote Windows PowerShell, als auch remote PowerShell 7 Systemen arbeiten. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Windows PowerShell ISE

Die Windows PowerShell ISE unterstützt nur remote Windows Systeme mit Windows PowerShell. Um remote ein Skript zu entwickeln, könnt ihr über das Menü “Datei” ➡️ “Neue Remote-PowerShell-Registerkarte” eine Session starten.

Neue Remote-PowerShell-Registerkarte in der PowerShell ISE starten

Im Dialog “Neue Remote-PowerShell-Registerkarte” könnt ihr dann den Hostname des remote Computers angegeben und optional noch einen anderen Benutzernamen. Falls der User mit dem ihr lokal angemeldet seid schon Rechte für den Remotecomputer hat, ist es nicht nötig ihn hier erneut anzugeben.

Angabe des Remotecomputernamens im Dialog Neue Remote-PowerShell-Registerkarte in der PowerShell ISE

Es öffnet sich eine neuer Tab. An den eckigen Klammern in der Prompt ist erkennbar, dass es sich um ein remote System handelt.

PowerShell ISE ist mit Server1 verbunden

Um eine neue Skriptdatei auf dem Remotecomputer anzulegen, könnt ihr das Cmdlet New-Item verwenden. Mit dem Befehl psedit könnt ihr ein Skript, welches auf dem Remotecomputer liegt zur Bearbeitung laden.

1
 2
 3
 4
@@ -30,5 +30,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/04/29/powershell-null/index.html b/de/2024/04/29/powershell-null/index.html
index 94b6fd41..eadf0c00 100644
--- a/de/2024/04/29/powershell-null/index.html
+++ b/de/2024/04/29/powershell-null/index.html
@@ -2,7 +2,7 @@
 

NULL in PowerShell

Wenn ihr in PowerShell prüfen wollt, ob ein Wert nicht gesetzt ist, dann könnt ihr einen Vergleich mit $null machen. Diese automatische Variable bedeutet immer null, nichts, kein Wert. +1 2 3 4 5 $null -eq "" # = false $null -eq '' # = false # Hat übrigens nichts mit der Zahl 0 zu tun // also das ergibt auch False $null -eq 0 # = false 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.'>

NULL in PowerShell

Wenn ihr in PowerShell prüfen wollt, ob ein Wert nicht gesetzt ist, dann könnt ihr einen Vergleich mit $null machen. Diese automatische Variable bedeutet immer null, nichts, kein Wert. Das ist aber etwas anderes, als wenn ihr einfach Anführungszeichen "" nehmt und dann nichts reinschreibt. Zum Beispiel ergibt das hier immer FALSE:

1
 2
@@ -219,5 +219,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/05/15/powershell-multiline-commands/index.html b/de/2024/05/15/powershell-multiline-commands/index.html
index 132dd36a..e3264b6c 100644
--- a/de/2024/05/15/powershell-multiline-commands/index.html
+++ b/de/2024/05/15/powershell-multiline-commands/index.html
@@ -2,7 +2,7 @@
 

PowerShell Befehle auf mehrere Zeilen aufteilen

PowerShell Befehle mit vielen Parametern können die Lesbarkeit vom Code verschlechtern. Zum Beispiel habe ich im nachfolgenden Codeabschnitt in Zeile 5 das Cmdlet New-ADUser verwendet und dabei 7 Parameter angegeben. Das ist sehr schwer auf einer Zeile zu lesen, selbst wenn ihr einen Ultra-Wide Monitor verwendet.

1
+1 2 3 4 5 6 $CSVFile = Import-Csv .\NeueUser.csv foreach($User in $CSVFile) { $Manager = Get-ADUser -Filter "mail -eq '$($User.Manager)'" New-ADUser -Name "$($User.Vorname) $($User.'>

PowerShell Befehle auf mehrere Zeilen aufteilen

PowerShell Befehle mit vielen Parametern können die Lesbarkeit vom Code verschlechtern. Zum Beispiel habe ich im nachfolgenden Codeabschnitt in Zeile 5 das Cmdlet New-ADUser verwendet und dabei 7 Parameter angegeben. Das ist sehr schwer auf einer Zeile zu lesen, selbst wenn ihr einen Ultra-Wide Monitor verwendet.

1
 2
 3
 4
@@ -185,5 +185,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/06/08/powershell-zip/index.html b/de/2024/06/08/powershell-zip/index.html
index a8e9ad7c..c55ed0b2 100644
--- a/de/2024/06/08/powershell-zip/index.html
+++ b/de/2024/06/08/powershell-zip/index.html
@@ -2,7 +2,7 @@
 

Per PowerShell .zip-Archive erstellen und entpacken

Windows kann eigentlich schon ziemlich lange mit ZIP-Archiven umgehen. +🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.">

Per PowerShell .zip-Archive erstellen und entpacken

Windows kann eigentlich schon ziemlich lange mit ZIP-Archiven umgehen. Und auch die PowerShell kann das, also sowohl ZIP-Dateien erstellen, als auch sie entpacken. Das kann nützlich sein, wenn ihr z.B. mit einem PowerShell Skript mehrere Dateien zu einer ZIP-Datei zusammenfassen wollt - das erleichtert das wegkopieren. Oder vielleicht um eine per Skript aus dem Internet geladene ZIP-Datei zu extrahieren.

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Komprimieren

Mit dem Cmdlet Compress-Archive könnt ihr ein ZIP-Archiv erstellen:

1
 
Compress-Archive -Path "MeineOriginalDatei.txt" -DestinationPath "MeineGezippteDatei.zip"
@@ -34,5 +34,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/07/05/powershell-write-host-vs-write-output/index.html b/de/2024/07/05/powershell-write-host-vs-write-output/index.html
index f8be590d..05baec25 100644
--- a/de/2024/07/05/powershell-write-host-vs-write-output/index.html
+++ b/de/2024/07/05/powershell-write-host-vs-write-output/index.html
@@ -5,7 +5,7 @@
 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.
 Write-Host Write-Host gibt Daten auf dem PowerShell Host aus, dem Programm, welches die aktuelle PowerShell Sitzung hostet. Oft ist das der ConsoleHost, aber z.B. die PowerShell ISE oder Visual Studio Code verwenden eigene Hosts, die sich in manchen Aspekten voneinander unterscheiden.">

PowerShell Write-Host VS. Write-Output

In PowerShell könnt ihr ja Text mit dem Cmdlet Write-Host ausgeben. Aber es wird teilweise davon abgeraten das zu verwenden. Es gibt zum Beispiel die Alternative Write-Output. In diesem Post erkläre ich euch die Unterschiede.

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Write-Host

Write-Host gibt Daten auf dem PowerShell Host aus, dem Programm, welches die aktuelle PowerShell Sitzung hostet. Oft ist das der ConsoleHost, aber z.B. die PowerShell ISE oder Visual Studio Code verwenden eigene Hosts, die sich in manchen Aspekten voneinander unterscheiden.

Beispiel für andere PowerShell Hosts: Visual Studio Code und PowerShell ISE

Write-Host kann die Art und Weise beeinflussen, wie die Daten vom PowerShell Host ausgegeben werden. Zum Beispiel kann mit -ForegroundColor die Textfarbe und mit -BackgroundColor die Hintergrundfarbe angepasst werden. +Write-Host Write-Host gibt Daten auf dem PowerShell Host aus, dem Programm, welches die aktuelle PowerShell Sitzung hostet. Oft ist das der ConsoleHost, aber z.B. die PowerShell ISE oder Visual Studio Code verwenden eigene Hosts, die sich in manchen Aspekten voneinander unterscheiden.">

PowerShell Write-Host VS. Write-Output

In PowerShell könnt ihr ja Text mit dem Cmdlet Write-Host ausgeben. Aber es wird teilweise davon abgeraten das zu verwenden. Es gibt zum Beispiel die Alternative Write-Output. In diesem Post erkläre ich euch die Unterschiede.

🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt.

Write-Host

Write-Host gibt Daten auf dem PowerShell Host aus, dem Programm, welches die aktuelle PowerShell Sitzung hostet. Oft ist das der ConsoleHost, aber z.B. die PowerShell ISE oder Visual Studio Code verwenden eigene Hosts, die sich in manchen Aspekten voneinander unterscheiden.

Beispiel für andere PowerShell Hosts: Visual Studio Code und PowerShell ISE

Write-Host kann die Art und Weise beeinflussen, wie die Daten vom PowerShell Host ausgegeben werden. Zum Beispiel kann mit -ForegroundColor die Textfarbe und mit -BackgroundColor die Hintergrundfarbe angepasst werden. Also wenn ihr ein Skript interaktiv in einer Konsole ausführt, dann kann Write-Host durchaus nützlich sein um eine ansprechendere Ausgabe zu ermöglichen. Ein ganz großer Nachteil ist allerdings: Daten die per Write-Host ausgegeben werden, können dann nicht in der Pipeline weiterverarbeitet werden.

Also das Ergebnis kann z.B. nicht in eine Variable gespeichert werden:

1
 2
@@ -65,5 +65,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/08/21/powershell-calculated-properties/index.html b/de/2024/08/21/powershell-calculated-properties/index.html
index c569a1b0..68e88c48 100644
--- a/de/2024/08/21/powershell-calculated-properties/index.html
+++ b/de/2024/08/21/powershell-calculated-properties/index.html
@@ -5,7 +5,7 @@
 Damit können zum Beispiel:
 Eigenschaften umbenannt werden Eigenschaftswerte formatiert werden Komplett eigene Eigenschaften erzeugt werden (z.B. durch den Aufruf zusätzlicher Cmdlets) Ich habe zu diesem Thema auch ein Video auf meinem YouTube Kanal veröffentlicht.">

PowerShell Calculated Properties

Wenn ihr per PowerShell Daten exportiert (zum Beispiel in eine CSV-Datei per Export-CSV), dann werden die originalen Eigenschaftsnamen von den PowerShell Objekten verwendet. Wenn die aber nicht ganz passend für euren Zweck sind, dann könnt ihr sie auch anpassen. Dafür können sogenannte “Calculcated Properties” und das Cmdlet Select-Object verwendet werden.

Damit können zum Beispiel:

  • Eigenschaften umbenannt werden
  • Eigenschaftswerte formatiert werden
  • Komplett eigene Eigenschaften erzeugt werden (z.B. durch den Aufruf zusätzlicher Cmdlets)

Ich habe zu diesem Thema auch ein Video auf meinem YouTube Kanal veröffentlicht.

Objekte normal ausgeben

Zur Erinnerung: Die Auswahl von Objekteigenschaften bei Select-Object ist mit dem Parameter -Property möglich. Wobei der Parameter in der Regel auch nicht explizit benannt werden muss.

1
+Eigenschaften umbenannt werden Eigenschaftswerte formatiert werden Komplett eigene Eigenschaften erzeugt werden (z.B. durch den Aufruf zusätzlicher Cmdlets) Ich habe zu diesem Thema auch ein Video auf meinem YouTube Kanal veröffentlicht.">

PowerShell Calculated Properties

Wenn ihr per PowerShell Daten exportiert (zum Beispiel in eine CSV-Datei per Export-CSV), dann werden die originalen Eigenschaftsnamen von den PowerShell Objekten verwendet. Wenn die aber nicht ganz passend für euren Zweck sind, dann könnt ihr sie auch anpassen. Dafür können sogenannte “Calculcated Properties” und das Cmdlet Select-Object verwendet werden.

Damit können zum Beispiel:

  • Eigenschaften umbenannt werden
  • Eigenschaftswerte formatiert werden
  • Komplett eigene Eigenschaften erzeugt werden (z.B. durch den Aufruf zusätzlicher Cmdlets)

Ich habe zu diesem Thema auch ein Video auf meinem YouTube Kanal veröffentlicht.

Objekte normal ausgeben

Zur Erinnerung: Die Auswahl von Objekteigenschaften bei Select-Object ist mit dem Parameter -Property möglich. Wobei der Parameter in der Regel auch nicht explizit benannt werden muss.

1
 2
 3
 4
@@ -245,5 +245,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/08/30/powershell-ntfs-alternate-data-streams/index.html b/de/2024/08/30/powershell-ntfs-alternate-data-streams/index.html
index 62d0c320..bd4891a5 100644
--- a/de/2024/08/30/powershell-ntfs-alternate-data-streams/index.html
+++ b/de/2024/08/30/powershell-ntfs-alternate-data-streams/index.html
@@ -8,7 +8,7 @@
 NTFS Alternate Data Stream auslesen Aus dem Internet heruntergeladene Dateien erhalten bei vielen Browsern unter Windows ein “Mark of the web” (MOTW) im Zone.">

PowerShell NTFS Alternate Data Streams

Das Dateisystem NTFS wird standardmäßig unter Windows verwendet. Und normalerweise hat eine Datei nur einen dazugehörigen normalen Datenstrom (Data Stream) mit dem Namen :$DATA. Aber es gibt auch die sogenannten “Alternate Data Streams” (ADS), die zusätzliche Daten enthalten können.

Diese ADS werden teilweise vom System verwendet, könnten aber auch von Angreifern verwendet werden, um Daten zu verstecken.

Ich habe zu dem Thema auch ein YouTube Video erstellt.

NTFS Alternate Data Stream auslesen

Aus dem Internet heruntergeladene Dateien erhalten bei vielen Browsern unter Windows ein “Mark of the web” (MOTW) im Zone.Identifier Stream. Dieser Stream enthält Infos zur Quelle der Datei - also z.B. dass sie aus dem Internet heruntergeladen wurde. +NTFS Alternate Data Stream auslesen Aus dem Internet heruntergeladene Dateien erhalten bei vielen Browsern unter Windows ein “Mark of the web” (MOTW) im Zone.">

PowerShell NTFS Alternate Data Streams

Das Dateisystem NTFS wird standardmäßig unter Windows verwendet. Und normalerweise hat eine Datei nur einen dazugehörigen normalen Datenstrom (Data Stream) mit dem Namen :$DATA. Aber es gibt auch die sogenannten “Alternate Data Streams” (ADS), die zusätzliche Daten enthalten können.

Diese ADS werden teilweise vom System verwendet, könnten aber auch von Angreifern verwendet werden, um Daten zu verstecken.

Ich habe zu dem Thema auch ein YouTube Video erstellt.

NTFS Alternate Data Stream auslesen

Aus dem Internet heruntergeladene Dateien erhalten bei vielen Browsern unter Windows ein “Mark of the web” (MOTW) im Zone.Identifier Stream. Dieser Stream enthält Infos zur Quelle der Datei - also z.B. dass sie aus dem Internet heruntergeladen wurde. Um den Inhalt eines ADS auszulesen, kann einfach Get-Content mit dem Parameter -Stream und der Angabe des Streamnamens verwendet werden. Alternativ kann an den Dateinamen :<Name des Streams> angehängt werden.

1
 2
 3
@@ -63,5 +63,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/09/12/powershell-array-plus/index.html b/de/2024/09/12/powershell-array-plus/index.html
index a5c3fc4d..b3ceca12 100644
--- a/de/2024/09/12/powershell-array-plus/index.html
+++ b/de/2024/09/12/powershell-array-plus/index.html
@@ -2,7 +2,7 @@
 

Das Problem mit Array += in PowerShell

Die PowerShell macht es leider recht einfach ineffizienten Code zu schreiben. Viele Leute benutzen zum Beispiel die += Schreibweise um ein Array zu befüllen. Nicht empfehlenswert!

1
+1 2 3 4 5 # So bitte nicht machen! $Array = @() for ($i = 0; $i -lt 10000; $i++) { $Array += $i } Mit Measure-Command können wir messen, wie lange die Ausführung eines Skriptblocks dauert. Bei mir hat die Ausführung des obigen Codes in einer Test-VM über 2 Sekunden benötigt.">

Das Problem mit Array += in PowerShell

Die PowerShell macht es leider recht einfach ineffizienten Code zu schreiben. Viele Leute benutzen zum Beispiel die += Schreibweise um ein Array zu befüllen. Nicht empfehlenswert!

1
 2
 3
 4
@@ -130,5 +130,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/09/20/powershell-wmi/index.html b/de/2024/09/20/powershell-wmi/index.html
index 60b0e2fa..d3b217ab 100644
--- a/de/2024/09/20/powershell-wmi/index.html
+++ b/de/2024/09/20/powershell-wmi/index.html
@@ -2,7 +2,7 @@
 

WMI in PowerShell verwenden

WMI ist eine mächtige Schnittstelle um Windows Systeme zu verwalten. Dadurch ist der Zugriff auf Dinge möglich, für die es vielleicht sonst gar keine eigenen PowerShell Cmdlets gibt. Teilweise können wir so mehr Infos abrufen, als die Standard-Cmdlets liefern. Das geht sowohl lokal, als auch remote.

Deprecated: Die alten WMI Cmdlets

Es gibt ein paar ältere Cmdlets, die allerdings für Neuentwicklungen nicht empfohlen werden. Aber vielleicht stoßt ihr in älteren Skripten mal darüber, also jetzt habt ihr schon mal davon gehört - die existieren zumindest.

 1
+Deprecated: Die alten WMI Cmdlets Es gibt ein paar ältere Cmdlets, die allerdings für Neuentwicklungen nicht empfohlen werden. Aber vielleicht stoßt ihr in älteren Skripten mal darüber, also jetzt habt ihr schon mal davon gehört - die existieren zumindest.">

WMI in PowerShell verwenden

WMI ist eine mächtige Schnittstelle um Windows Systeme zu verwalten. Dadurch ist der Zugriff auf Dinge möglich, für die es vielleicht sonst gar keine eigenen PowerShell Cmdlets gibt. Teilweise können wir so mehr Infos abrufen, als die Standard-Cmdlets liefern. Das geht sowohl lokal, als auch remote.

Deprecated: Die alten WMI Cmdlets

Es gibt ein paar ältere Cmdlets, die allerdings für Neuentwicklungen nicht empfohlen werden. Aber vielleicht stoßt ihr in älteren Skripten mal darüber, also jetzt habt ihr schon mal davon gehört - die existieren zumindest.

 1
  2
  3
  4
@@ -294,5 +294,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/11/02/powershell-cancel-loops/index.html b/de/2024/11/02/powershell-cancel-loops/index.html
index 2e438976..c4c3b239 100644
--- a/de/2024/11/02/powershell-cancel-loops/index.html
+++ b/de/2024/11/02/powershell-cancel-loops/index.html
@@ -2,7 +2,7 @@
 

PowerShell: Schleifen gezielt abbrechen/überspringen

Normalerweise wird eine Schleife in PowerShell solange ausgeführt, wie es durch den außen stehenden Bedingungsblock definiert ist. Die folgende while-Schleife wird zum Beispiel so lange ausgeführt, wie die Variable namens $Variable kleiner oder gleich 10 ist.

1
+1 2 3 while($Variable -le 10) { # irgendwas } Es ist aber auch möglich gezielt eine komplette Schleife vorzeitig abzubrechen oder einen einzelnen Schleifendurchgang abzubrechen. Und zwar auch, wenn ihr mehrere Schleifen ineinander verschachtelt habt.">

PowerShell: Schleifen gezielt abbrechen/überspringen

Normalerweise wird eine Schleife in PowerShell solange ausgeführt, wie es durch den außen stehenden Bedingungsblock definiert ist. Die folgende while-Schleife wird zum Beispiel so lange ausgeführt, wie die Variable namens $Variable kleiner oder gleich 10 ist.

1
 2
 3
 
while($Variable -le 10) {
@@ -178,5 +178,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/2024/12/16/entra-connect-matching/index.html b/de/2024/12/16/entra-connect-matching/index.html
index f4131558..b8f1445d 100644
--- a/de/2024/12/16/entra-connect-matching/index.html
+++ b/de/2024/12/16/entra-connect-matching/index.html
@@ -2,7 +2,7 @@
 

Entra Connect: Soft Match und Hard Match

In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen.

Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin. Ansonsten werde ich aber der Einfachheit halber im Folgenden einfach Entra Connect schreiben, wenn ich beides meine.

Dieser Post ist vor allem als Begleitpost zum Video auf meinem YouTube Kanal gedacht, um z.B. die Code-Beispiele zu teilen - darf aber natürlich auch einzeln gelesen werden 😉

Überblick Funktionsweise

Wenn Entra Connect ein User Objekt aus dem On-Premises Active Directory verarbeitet, dann wird dabei erstmal geschaut, ob ein Hard Match (deutsch: “harte Übereinstimmung”) möglich ist. Zur genauen Funktionsweise vom Hard Match kommen wir weiter unten. Ist erstmal nur wichtig: Es kann in einem Entra Objekt gespeichert werden, dass es zu einem bestimmten Objekt aus dem On-Prem AD gehört. Wenn diese Info gefunden wird, und zwei Objekte zusammenpassen, dann haben wir ein Hard Match.

Falls aber kein Hard Match möglich ist, wird versucht ein Soft Match (deutsch: “weiche Übereinstimmung”) durchzuführen - auch die Funktionsweise des Soft Match erkläre ich später noch genauer.

Egal wie gematched wurde: Das vorherige Cloud-Objekt wird nun als “synchronisiert” markiert und erhält die Eigenschaften vom On-Prem AD Objekt. Die Objekt ID vom Cloud User, User-Daten (Postfach, OneDrive, Teams-Nachrichten etc.) und eventuell bereits vorhandene Berechtigungen und Cloud-Gruppenmitgliedschaften bleiben aber erhalten.

Falls weder ein Hard Match noch ein Soft Match möglich ist, dann wird das Objekt neu in Entra angelegt. Und es wird auch abgespeichert, dass das neue Entra Objekt und das On-Prem AD Objekt zusammengehören, sodass dann zukünftig ein Hard Match möglich ist.

Soft Match

Wenn ein neues On-Premises Active Directory Objekt von Entra Connect entdeckt wird, wird geprüft ob es ein passendes Objekt in Entra gibt, welches die gleiche E-Mail-Adresse oder den gleichen UserPrincipalName hat. Bei den E-Mail-Adressen wird in der Dokumentation hauptsächlich auf die AD-User-Eigenschaft ProxyAddresses verwiesen. Aus den ProxyAddresses wird übrigens nur die Haupt-E-Mail-Adresse ausgewertet, also die bei der das Präfix SMTP: großgeschrieben ist.

Active Directory ProxyAddresses eines Users

Das Bearbeiten des ProxyAddresses Attributs ist offiziell nur supported, wenn es über die Exchange Management Tools gemacht wird - also Exchange Management Shell oder das Exchange Admin Center. Aber das Matching funktioniert auch über das Feld mit dem Attributnamen mail, welches in der Active Directory Benutzer und Computer Konsole auf der “Allgemein” Seite in den User-Eigenschaften zu finden ist. Diese Eigenschaft darf einfach hier in der Konsole geändert werden.

Active Directory Mail Attribut eines Users

⚠️ Admin Matching Besonderheit: Wenn ein User in Entra beziehungsweise in Microsoft 365 eine Adminrolle hat, dann funktioniert Soft Matching aus Sicherheitsgründen nicht.

Und wenn ein Soft Match stattgefunden hat, dann wird automatisch eine Info abgespeichert, damit zukünftig ein Hard Match möglich ist.

🎬 Soft Match Beispiele

Hier mal 3 Beispiele für Soft Matches:

UserPrincipalName

  1. Ausgangssituation: Es existiert ein Cloud-Only User mit dem UserPrincipalName SoftMatch1@demotenant.de.
  2. Entra Connect stößt auf einen neuen Active Directory User mit dem gleichen UPN SoftMatch1@demotenant.de.
  3. Der Cloud User wird umgewandelt zu einem synchronisierten User und erhält die Attribute vom AD User.

ProxyAddresses / PrimarySmtpAddress

  1. Ausgangssituation: Es existiert ein Cloud-Only User mit dem UserPrincipalName SoftMatch2@demotenant.de und der PrimarySmtpAddress hallo@demotenant.de.
  2. Entra Connect stößt auf einen neuen Active Directory User mit dem UPN beispiel@demotenant.de und der PrimarySmtpAddress hallo@demotenant.de (Also ProxyAddressAttribut enthält unter anderem den Eintrag SMTP:hallo@demotenant.de).
  3. Der Cloud User wird umgewandelt zu einem synchronisierten User und erhält die Attribute vom AD User (inklusive des neuen UPN!).

Mail Attribut

  1. Ausgangssituation: Es existiert ein Cloud-Only User mit dem UserPrincipalName SoftMatch3@demotenant.de und der PrimarySmtpAddress ZZZ@demotenant.de.
  2. Entra Connect stößt auf einen neuen Active Directory User mit dem UPN AAA@demotenant.de und E-Mail-Adresse ZZZ@demotenant.de (Also das mail Attribut hat den Wert SMTP:ZZZ@demotenant.de).
  3. Der Cloud User wird umgewandelt zu einem synchronisierten User und erhält die Attribute vom AD User (inklusive des neuen UPN!).

Hard Match

Zum Speichern der Hard Match Info am Entra Objekt eine sogenannte “Immutable ID” (deutsch: “unveränderliche ID”) verwendet. Das Attribut wird auch als SourceAnchor (deutsch: “Quellanker”) bezeichnet. +Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin.">

Entra Connect: Soft Match und Hard Match

In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen.

Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin. Ansonsten werde ich aber der Einfachheit halber im Folgenden einfach Entra Connect schreiben, wenn ich beides meine.

Dieser Post ist vor allem als Begleitpost zum Video auf meinem YouTube Kanal gedacht, um z.B. die Code-Beispiele zu teilen - darf aber natürlich auch einzeln gelesen werden 😉

Überblick Funktionsweise

Wenn Entra Connect ein User Objekt aus dem On-Premises Active Directory verarbeitet, dann wird dabei erstmal geschaut, ob ein Hard Match (deutsch: “harte Übereinstimmung”) möglich ist. Zur genauen Funktionsweise vom Hard Match kommen wir weiter unten. Ist erstmal nur wichtig: Es kann in einem Entra Objekt gespeichert werden, dass es zu einem bestimmten Objekt aus dem On-Prem AD gehört. Wenn diese Info gefunden wird, und zwei Objekte zusammenpassen, dann haben wir ein Hard Match.

Falls aber kein Hard Match möglich ist, wird versucht ein Soft Match (deutsch: “weiche Übereinstimmung”) durchzuführen - auch die Funktionsweise des Soft Match erkläre ich später noch genauer.

Egal wie gematched wurde: Das vorherige Cloud-Objekt wird nun als “synchronisiert” markiert und erhält die Eigenschaften vom On-Prem AD Objekt. Die Objekt ID vom Cloud User, User-Daten (Postfach, OneDrive, Teams-Nachrichten etc.) und eventuell bereits vorhandene Berechtigungen und Cloud-Gruppenmitgliedschaften bleiben aber erhalten.

Falls weder ein Hard Match noch ein Soft Match möglich ist, dann wird das Objekt neu in Entra angelegt. Und es wird auch abgespeichert, dass das neue Entra Objekt und das On-Prem AD Objekt zusammengehören, sodass dann zukünftig ein Hard Match möglich ist.

Soft Match

Wenn ein neues On-Premises Active Directory Objekt von Entra Connect entdeckt wird, wird geprüft ob es ein passendes Objekt in Entra gibt, welches die gleiche E-Mail-Adresse oder den gleichen UserPrincipalName hat. Bei den E-Mail-Adressen wird in der Dokumentation hauptsächlich auf die AD-User-Eigenschaft ProxyAddresses verwiesen. Aus den ProxyAddresses wird übrigens nur die Haupt-E-Mail-Adresse ausgewertet, also die bei der das Präfix SMTP: großgeschrieben ist.

Active Directory ProxyAddresses eines Users

Das Bearbeiten des ProxyAddresses Attributs ist offiziell nur supported, wenn es über die Exchange Management Tools gemacht wird - also Exchange Management Shell oder das Exchange Admin Center. Aber das Matching funktioniert auch über das Feld mit dem Attributnamen mail, welches in der Active Directory Benutzer und Computer Konsole auf der “Allgemein” Seite in den User-Eigenschaften zu finden ist. Diese Eigenschaft darf einfach hier in der Konsole geändert werden.

Active Directory Mail Attribut eines Users

⚠️ Admin Matching Besonderheit: Wenn ein User in Entra beziehungsweise in Microsoft 365 eine Adminrolle hat, dann funktioniert Soft Matching aus Sicherheitsgründen nicht.

Und wenn ein Soft Match stattgefunden hat, dann wird automatisch eine Info abgespeichert, damit zukünftig ein Hard Match möglich ist.

🎬 Soft Match Beispiele

Hier mal 3 Beispiele für Soft Matches:

UserPrincipalName

  1. Ausgangssituation: Es existiert ein Cloud-Only User mit dem UserPrincipalName SoftMatch1@demotenant.de.
  2. Entra Connect stößt auf einen neuen Active Directory User mit dem gleichen UPN SoftMatch1@demotenant.de.
  3. Der Cloud User wird umgewandelt zu einem synchronisierten User und erhält die Attribute vom AD User.

ProxyAddresses / PrimarySmtpAddress

  1. Ausgangssituation: Es existiert ein Cloud-Only User mit dem UserPrincipalName SoftMatch2@demotenant.de und der PrimarySmtpAddress hallo@demotenant.de.
  2. Entra Connect stößt auf einen neuen Active Directory User mit dem UPN beispiel@demotenant.de und der PrimarySmtpAddress hallo@demotenant.de (Also ProxyAddressAttribut enthält unter anderem den Eintrag SMTP:hallo@demotenant.de).
  3. Der Cloud User wird umgewandelt zu einem synchronisierten User und erhält die Attribute vom AD User (inklusive des neuen UPN!).

Mail Attribut

  1. Ausgangssituation: Es existiert ein Cloud-Only User mit dem UserPrincipalName SoftMatch3@demotenant.de und der PrimarySmtpAddress ZZZ@demotenant.de.
  2. Entra Connect stößt auf einen neuen Active Directory User mit dem UPN AAA@demotenant.de und E-Mail-Adresse ZZZ@demotenant.de (Also das mail Attribut hat den Wert SMTP:ZZZ@demotenant.de).
  3. Der Cloud User wird umgewandelt zu einem synchronisierten User und erhält die Attribute vom AD User (inklusive des neuen UPN!).

Hard Match

Zum Speichern der Hard Match Info am Entra Objekt eine sogenannte “Immutable ID” (deutsch: “unveränderliche ID”) verwendet. Das Attribut wird auch als SourceAnchor (deutsch: “Quellanker”) bezeichnet. Wenn ihr das klassische Entra Connect Sync verwendet, dann könnt ihr theoretisch bei der initialen Konfiguration einstellen, welches On-Premises Active Directory Attribut als Source Anchor verwendet werden soll. Der Standardwert ist heutzutage das Attribut “ms-ds-ConsistencyGuid” - und Abweichungen sind in der Regel auch nicht empfehlenswert.

Konfiguration des Source Anchors in Entra Connect Sync

Jetzt wird’s ein bisschen kompliziert: Der eigentliche Wert basiert auf der Objekt GUID des On-Premises AD Objekts. Aber es wird nicht einfach nur die GUID genommen, sondern die GUID wird als Byte Array genommen und dann mit Base64 encoded. Wenn ihr das klassische Entra Connect Sync verwendet und es sich um ein User-Objekt handelt, dann wird die Eigenschaft “ms-ds-ConsistencyGuid” auch tatsächlich durch den Sync Vorgang gesetzt (normalerweise nach 2 Sync Zyklen) und als Byte Array gespeichert. Wenn ihr euch die Eigenschaft ansehen wollt, dann hilft die Active Directory Benutzer und Computer Konsole nicht wirklich weiter. Also da könnt ihr höchstens sehen, dass das Attribut einen Wert hat, aber der eigentliche Wert ist nicht lesbar. Der Wert lässt sich aber per PowerShell auslesen und konvertieren.

1
 2
@@ -115,5 +115,5 @@
  | 
 Impressum
  | 
-Datenschutz
+Datenschutz
 
\ No newline at end of file
diff --git a/de/404.html b/de/404.html
index 93f1ace7..6a1a3e8a 100644
--- a/de/404.html
+++ b/de/404.html
@@ -1,7 +1,7 @@
 404 Page not found | diecknet
-
404
© 2024 diecknet +
404
+Datenschutz
\ No newline at end of file diff --git a/de/about/index.html b/de/about/index.html index 333fc3a5..aec4500b 100644 --- a/de/about/index.html +++ b/de/about/index.html @@ -2,9 +2,9 @@

About

Hey!

Hey! 👋

Mein Name ist Andreas Dieckmann und ich komme aus Hamburg. Ich mag Technik, IT, Coding und Open Source. Und Natur, Wälder, Seen und Videospiele.

Ich arbeite als selbstständiger IT-Consultant mit Fokus auf IT-Security, Microsoft 365 und Microsoft Azure. Ich arbeite aber auch mit anderen Technologien. Abgesehen von dieser Webseite betreibe ich auch einen YouTube Channel, auf dem ich mein Wissen teile.

© 2024 diecknet +Ich arbeite als selbstständiger IT-Consultant mit Fokus auf IT-Security, Microsoft 365 und Microsoft Azure. Ich arbeite aber auch mit anderen Technologien. Abgesehen von dieser Webseite betreibe ich auch einen YouTube Channel, auf dem ich mein Wissen teile.">

About

Hey!

Hey! 👋

Mein Name ist Andreas Dieckmann und ich komme aus Hamburg. Ich mag Technik, IT, Coding und Open Source. Und Natur, Wälder, Seen und Videospiele.

Ich arbeite als selbstständiger IT-Consultant mit Fokus auf IT-Security, Microsoft 365 und Microsoft Azure. Ich arbeite aber auch mit anderen Technologien. Abgesehen von dieser Webseite betreibe ich auch einen YouTube Channel, auf dem ich mein Wissen teile.

+Datenschutz
\ No newline at end of file diff --git a/de/archive/index.html b/de/archive/index.html index 06c0befa..39814b21 100644 --- a/de/archive/index.html +++ b/de/archive/index.html @@ -1,7 +1,7 @@ Archiv | diecknet -

2024  19

Dezember  1

Entra Connect: Soft Match und Hard Match

2024-12-16 · 14 Minuten · Andreas Dieckmann

November  1

PowerShell: Schleifen gezielt abbrechen/überspringen

2024-11-02 · 5 Minuten · Andreas Dieckmann

September  2

WMI in PowerShell verwenden

2024-09-20 · 12 Minuten · Andreas Dieckmann

Das Problem mit Array += in PowerShell

2024-09-12 · 3 Minuten · Andreas Dieckmann

August  2

PowerShell NTFS Alternate Data Streams

2024-08-30 · 3 Minuten · Andreas Dieckmann

PowerShell Calculated Properties

2024-08-21 · 7 Minuten · Andreas Dieckmann

Juli  1

PowerShell Write-Host VS. Write-Output

2024-07-05 · 4 Minuten · Andreas Dieckmann

Juni  1

Per PowerShell .zip-Archive erstellen und entpacken

2024-06-08 · 3 Minuten · Andreas Dieckmann

Mai  1

PowerShell Befehle auf mehrere Zeilen aufteilen

2024-05-15 · 6 Minuten · Andreas Dieckmann

April  3

NULL in PowerShell

2024-04-29 · 7 Minuten · Andreas Dieckmann

PowerShell Skripte remote entwickeln

2024-04-23 · 3 Minuten · Andreas Dieckmann

PowerShell Ausgabe unterdrücken

2024-04-09 · 4 Minuten · Andreas Dieckmann

März  4

PowerShell Dot Sourcing

2024-03-26 · 2 Minuten · Andreas Dieckmann

Regular Expressions in PowerShell

2024-03-19 · 18 Minuten · Andreas Dieckmann

Die Ausführungsdauer von PowerShell Code messen

2024-03-12 · 4 Minuten · Andreas Dieckmann

PowerShell Profile erklärt (mit Beispielen)

2024-03-05 · 9 Minuten · Andreas Dieckmann

Februar  2

PowerShell: Zugriff auf Umgebungsvariablen

2024-02-28 · 3 Minuten · Andreas Dieckmann

PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

2024-02-20 · 4 Minuten · Andreas Dieckmann

Januar  1

PowerShell: Übersetzte Security Identifier Namen herausfinden

2024-01-17 · 2 Minuten · Andreas Dieckmann

2023  4

November  1

Die unterschiedlichen Klammern in der PowerShell

2023-11-28 · 9 Minuten · Andreas Dieckmann

Mai  1

PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

2023-05-20 · 6 Minuten · Andreas Dieckmann

April  1

Synchronisierte Exchange Objekte ohne Exchange Server verwalten

2023-04-12 · 4 Minuten · Andreas Dieckmann

Januar  1

Exchange Online per Azure Automation steuern im Jahr 2024

2023-01-09 · 4 Minuten · Andreas Dieckmann

2022  1

Juni  1

Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

2022-06-13 · 2 Minuten · Andreas Dieckmann

2021  4

November  1

Outlook Cache Modus für Freigegebene Postfächer

2021-11-19 · 3 Minuten · Andreas Dieckmann

Oktober  1

Einwahlrufnummer für Teams Meetings per PowerShell setzen

2021-10-05 · 2 Minuten · Andreas Dieckmann

Juni  1

Wie lange werden gelöschte Teams Kanäle aufbewahrt?

2021-06-29 · 1 Minute · Andreas Dieckmann

Februar  1

Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

2021-02-25 · 2 Minuten · Andreas Dieckmann

2020  9

Dezember  1

Microsoft 365 Self Service Purchase Lizenzen

2020-12-01 · 2 Minuten · Andreas Dieckmann

September  1

Dateidatum per PowerShell setzen

2020-09-08 · 2 Minuten · Andreas Dieckmann

Juni  3

Azure AD Connect installieren (Video)

2020-06-23 · 1 Minute · Andreas Dieckmann

Office 365 Trial Lizenzen

2020-06-10 · 2 Minuten · Andreas Dieckmann

Azure AD Connect richtig planen und vorbereiten (Video)

2020-06-05 · 2 Minuten · Andreas Dieckmann

Mai  2

Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

2020-05-10 · 5 Minuten · Andreas Dieckmann

Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

2020-05-01 · 4 Minuten · Andreas Dieckmann

Januar  2

Exchange - Wann wurde das Postfach WIRKLICH erstellt?

2020-01-25 · 1 Minute · Andreas Dieckmann

Exchange Raumpostfach - Berechtigungen setzen

2020-01-15 · 2 Minuten · Andreas Dieckmann

2019  2

Dezember  1

Outlook Zertifikatswarnung nach Office 365 Migration

2019-12-18 · 1 Minute · Andreas Dieckmann

Oktober  1

Ein neuer Blog

2019-10-21 · 2 Minuten · Andreas Dieckmann
© 2024 diecknet +

2024  19

Dezember  1

Entra Connect: Soft Match und Hard Match

2024-12-16 · 14 Minuten · Andreas Dieckmann

November  1

PowerShell: Schleifen gezielt abbrechen/überspringen

2024-11-02 · 5 Minuten · Andreas Dieckmann

September  2

WMI in PowerShell verwenden

2024-09-20 · 12 Minuten · Andreas Dieckmann

Das Problem mit Array += in PowerShell

2024-09-12 · 3 Minuten · Andreas Dieckmann

August  2

PowerShell NTFS Alternate Data Streams

2024-08-30 · 3 Minuten · Andreas Dieckmann

PowerShell Calculated Properties

2024-08-21 · 7 Minuten · Andreas Dieckmann

Juli  1

PowerShell Write-Host VS. Write-Output

2024-07-05 · 4 Minuten · Andreas Dieckmann

Juni  1

Per PowerShell .zip-Archive erstellen und entpacken

2024-06-08 · 3 Minuten · Andreas Dieckmann

Mai  1

PowerShell Befehle auf mehrere Zeilen aufteilen

2024-05-15 · 6 Minuten · Andreas Dieckmann

April  3

NULL in PowerShell

2024-04-29 · 7 Minuten · Andreas Dieckmann

PowerShell Skripte remote entwickeln

2024-04-23 · 3 Minuten · Andreas Dieckmann

PowerShell Ausgabe unterdrücken

2024-04-09 · 4 Minuten · Andreas Dieckmann

März  4

PowerShell Dot Sourcing

2024-03-26 · 2 Minuten · Andreas Dieckmann

Regular Expressions in PowerShell

2024-03-19 · 18 Minuten · Andreas Dieckmann

Die Ausführungsdauer von PowerShell Code messen

2024-03-12 · 4 Minuten · Andreas Dieckmann

PowerShell Profile erklärt (mit Beispielen)

2024-03-05 · 9 Minuten · Andreas Dieckmann

Februar  2

PowerShell: Zugriff auf Umgebungsvariablen

2024-02-28 · 3 Minuten · Andreas Dieckmann

PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

2024-02-20 · 4 Minuten · Andreas Dieckmann

Januar  1

PowerShell: Übersetzte Security Identifier Namen herausfinden

2024-01-17 · 2 Minuten · Andreas Dieckmann

2023  4

November  1

Die unterschiedlichen Klammern in der PowerShell

2023-11-28 · 9 Minuten · Andreas Dieckmann

Mai  1

PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

2023-05-20 · 6 Minuten · Andreas Dieckmann

April  1

Synchronisierte Exchange Objekte ohne Exchange Server verwalten

2023-04-12 · 4 Minuten · Andreas Dieckmann

Januar  1

Exchange Online per Azure Automation steuern im Jahr 2024

2023-01-09 · 4 Minuten · Andreas Dieckmann

2022  1

Juni  1

Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

2022-06-13 · 2 Minuten · Andreas Dieckmann

2021  4

November  1

Outlook Cache Modus für Freigegebene Postfächer

2021-11-19 · 3 Minuten · Andreas Dieckmann

Oktober  1

Einwahlrufnummer für Teams Meetings per PowerShell setzen

2021-10-05 · 2 Minuten · Andreas Dieckmann

Juni  1

Wie lange werden gelöschte Teams Kanäle aufbewahrt?

2021-06-29 · 1 Minute · Andreas Dieckmann

Februar  1

Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

2021-02-25 · 2 Minuten · Andreas Dieckmann

2020  9

Dezember  1

Microsoft 365 Self Service Purchase Lizenzen

2020-12-01 · 2 Minuten · Andreas Dieckmann

September  1

Dateidatum per PowerShell setzen

2020-09-08 · 2 Minuten · Andreas Dieckmann

Juni  3

Azure AD Connect installieren (Video)

2020-06-23 · 1 Minute · Andreas Dieckmann

Office 365 Trial Lizenzen

2020-06-10 · 2 Minuten · Andreas Dieckmann

Azure AD Connect richtig planen und vorbereiten (Video)

2020-06-05 · 2 Minuten · Andreas Dieckmann

Mai  2

Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

2020-05-10 · 5 Minuten · Andreas Dieckmann

Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

2020-05-01 · 4 Minuten · Andreas Dieckmann

Januar  2

Exchange - Wann wurde das Postfach WIRKLICH erstellt?

2020-01-25 · 1 Minute · Andreas Dieckmann

Exchange Raumpostfach - Berechtigungen setzen

2020-01-15 · 2 Minuten · Andreas Dieckmann

2019  2

Dezember  1

Outlook Zertifikatswarnung nach Office 365 Migration

2019-12-18 · 1 Minute · Andreas Dieckmann

Oktober  1

Ein neuer Blog

2019-10-21 · 2 Minuten · Andreas Dieckmann
+Datenschutz
\ No newline at end of file diff --git a/de/categories/index.html b/de/categories/index.html index 64d431e3..ee210dd8 100644 --- a/de/categories/index.html +++ b/de/categories/index.html @@ -1,7 +1,7 @@ Categories | diecknet -
    © 2024 diecknet +
      +Datenschutz
      \ No newline at end of file diff --git a/de/index.html b/de/index.html index 842df4df..4a53ccb3 100644 --- a/de/index.html +++ b/de/index.html @@ -1,8 +1,8 @@ -diecknet -

      Moin.

      Andreas Dieckmann hier. Ich bin selbstständiger IT-Consultant und seit Jahren in der Branche tätig. Ich veröffentliche hier Blog-Posts zu IT-Themen, um anderen zu helfen.

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. +diecknet +

      Moin.

      Andreas Dieckmann hier. Ich bin selbstständiger IT-Consultant und seit Jahren in der Branche tätig. Ich veröffentliche hier Blog-Posts zu IT-Themen, um anderen zu helfen.

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin....

      2024-12-16 · 14 Minuten · Andreas Dieckmann

      [English] Retrieve infos about Active Directory Based Activation via PowerShell

      If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: 1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work. Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain....

      2024-11-25 · 1 Minute · Andreas Dieckmann

      PowerShell: Schleifen gezielt abbrechen/überspringen

      Normalerweise wird eine Schleife in PowerShell solange ausgeführt, wie es durch den außen stehenden Bedingungsblock definiert ist. Die folgende while-Schleife wird zum Beispiel so lange ausgeführt, wie die Variable namens $Variable kleiner oder gleich 10 ist. @@ -25,5 +25,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/legal/index.html b/de/legal/index.html index 5df3eeb4..fc256032 100644 --- a/de/legal/index.html +++ b/de/legal/index.html @@ -47,12 +47,12 @@ 22305 Hamburg E-Mail: impressum@diecknet.de Konflikte EU-Streitschlichtung Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: https://ec.europa.eu/consumers/odr/. Unsere E-Mail-Adresse finden Sie oben im Impressum. -Verbraucherstreitbeilegung/Universalschlichtungsstelle Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.">

      Impressum

      diecknet UG (haftungsbeschränkt)
      Pestalozzistrasse 25
      22305 Hamburg

      Geschäftsführer: Andreas Jens Dieckmann
      Handelsregister: HRB 179818
      Registergericht: Amtsgericht Hamburg

      Kontakt

      Telefon: +49 40 5247 1765
      E-Mail: impressum@diecknet.de

      Umsatzsteuer-ID

      Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:
      DE360047884

      Redaktionell verantwortlich

      Andreas Jens Dieckmann
      c/o diecknet UG (haftungsbeschränkt)
      Pestalozzistrasse 25
      22305 Hamburg
      E-Mail: impressum@diecknet.de

      Konflikte

      EU-Streitschlichtung

      Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: +Verbraucherstreitbeilegung/Universalschlichtungsstelle Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.">

      Impressum

      diecknet UG (haftungsbeschränkt)
      Pestalozzistrasse 25
      22305 Hamburg

      Geschäftsführer: Andreas Jens Dieckmann
      Handelsregister: HRB 179818
      Registergericht: Amtsgericht Hamburg

      Kontakt

      Telefon: +49 40 5247 1765
      E-Mail: impressum@diecknet.de

      Umsatzsteuer-ID

      Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:
      DE360047884

      Redaktionell verantwortlich

      Andreas Jens Dieckmann
      c/o diecknet UG (haftungsbeschränkt)
      Pestalozzistrasse 25
      22305 Hamburg
      E-Mail: impressum@diecknet.de

      Konflikte

      EU-Streitschlichtung

      Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: https://ec.europa.eu/consumers/odr/. Unsere E-Mail-Adresse finden Sie oben im Impressum.

      Verbraucherstreitbeilegung/Universalschlichtungsstelle

      Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.

      Quelle: e-recht24.de

      +Datenschutz \ No newline at end of file diff --git a/de/page/2/index.html b/de/page/2/index.html index 3f2fb49b..62fd0cad 100644 --- a/de/page/2/index.html +++ b/de/page/2/index.html @@ -1,5 +1,5 @@ -diecknet -

      Per PowerShell .zip-Archive erstellen und entpacken

      Windows kann eigentlich schon ziemlich lange mit ZIP-Archiven umgehen. Und auch die PowerShell kann das, also sowohl ZIP-Dateien erstellen, als auch sie entpacken. Das kann nützlich sein, wenn ihr z.B. mit einem PowerShell Skript mehrere Dateien zu einer ZIP-Datei zusammenfassen wollt - das erleichtert das wegkopieren. Oder vielleicht um eine per Skript aus dem Internet geladene ZIP-Datei zu extrahieren. +diecknet +

      Per PowerShell .zip-Archive erstellen und entpacken

      Windows kann eigentlich schon ziemlich lange mit ZIP-Archiven umgehen. Und auch die PowerShell kann das, also sowohl ZIP-Dateien erstellen, als auch sie entpacken. Das kann nützlich sein, wenn ihr z.B. mit einem PowerShell Skript mehrere Dateien zu einer ZIP-Datei zusammenfassen wollt - das erleichtert das wegkopieren. Oder vielleicht um eine per Skript aus dem Internet geladene ZIP-Datei zu extrahieren. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt....

      2024-06-08 · 3 Minuten · Andreas Dieckmann

      PowerShell Befehle auf mehrere Zeilen aufteilen

      PowerShell Befehle mit vielen Parametern können die Lesbarkeit vom Code verschlechtern. Zum Beispiel habe ich im nachfolgenden Codeabschnitt in Zeile 5 das Cmdlet New-ADUser verwendet und dabei 7 Parameter angegeben. Das ist sehr schwer auf einer Zeile zu lesen, selbst wenn ihr einen Ultra-Wide Monitor verwendet. 1 2 3 4 5 6 $CSVFile = Import-Csv .\NeueUser.csv foreach($User in $CSVFile) { $Manager = Get-ADUser -Filter "mail -eq '$($User.Manager)'" New-ADUser -Name "$($User.Vorname) $($User....

      2024-05-15 · 6 Minuten · Andreas Dieckmann

      NULL in PowerShell

      Wenn ihr in PowerShell prüfen wollt, ob ein Wert nicht gesetzt ist, dann könnt ihr einen Vergleich mit $null machen. Diese automatische Variable bedeutet immer null, nichts, kein Wert. Das ist aber etwas anderes, als wenn ihr einfach Anführungszeichen "" nehmt und dann nichts reinschreibt. Zum Beispiel ergibt das hier immer FALSE: 1 2 3 4 5 $null -eq "" # = false $null -eq '' # = false # Hat übrigens nichts mit der Zahl 0 zu tun // also das ergibt auch False $null -eq 0 # = false 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt....

      2024-04-29 · 7 Minuten · Andreas Dieckmann

      PowerShell Skripte remote entwickeln

      Es ist möglich PowerShell Skripte remote zu entwickeln. Also das Skript wird auf einem remote Computer gespeichert und ausgeführt, aber die Eingabe erfolgt im lokalen Editor-Tool. Das geht sowohl mit der klassischen Windows PowerShell ISE, als auch mit Visual Studio Code. In VSCode könnt ihr sowohl mit remote Windows PowerShell, als auch remote PowerShell 7 Systemen arbeiten. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. @@ -23,5 +23,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/page/3/index.html b/de/page/3/index.html index e1e3e830..3afd5b82 100644 --- a/de/page/3/index.html +++ b/de/page/3/index.html @@ -1,5 +1,5 @@ -diecknet -

      [English] Migrating from 11ty to Hugo

      I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

      2024-02-22 · 7 Minuten · Andreas Dieckmann

      PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

      Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. +diecknet +

      [English] Migrating from 11ty to Hugo

      I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

      2024-02-22 · 7 Minuten · Andreas Dieckmann

      PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

      Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Admin-Rechte per Requires Anweisung erfordern 1 #Requires -RunAsAdministrator Diese Zeile kann an eine beliebigen Stelle im PowerShell Code eingefügt werden....

      2024-02-20 · 4 Minuten · Andreas Dieckmann

      PowerShell: Übersetzte Security Identifier Namen herausfinden

      Security Identifiers sind dazu da, um bestimmte Security Prinzipale oder Gruppen unter Windows zu identifizieren. Leider sind die dazugehörigen Namen lokalisiert, also sind zum Beispiel in einem deutschsprachigen System anders als in einem englischsprachigen System. Beispielsweise heißt die eingebaute Administratorgruppe auf Englisch BUILTIN\ADMINISTRATORS und auf Deutsch VORDEFINIERT\Administratoren. Oder das Englische NT AUTHORITY\SYSTEM wird an einem Deutschen System zu NT-AUTORITÄT\SYSTEM. Das finde ich richtig abgefahren! Da wird auf einmal ein Leerzeichen durch ein Bindestrich ersetzt....

      2024-01-17 · 2 Minuten · Andreas Dieckmann

      Die unterschiedlichen Klammern in der PowerShell

      Wann ist welche Klammer die Richtige in der PowerShell? # Verschiedene Klammern in der PowerShell () {} [] Die Klammern haben unterschiedliche Einsatzzwecke. Die Größer-als < und Kleiner-als > Zeichen würde ich übrigens nicht zu den Klammern zählen. Für alle echten Klammern gilt: Wenn ihr eine Klammer geöffnet habt, müsst ihr sie auch wieder schließen. @@ -17,5 +17,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/page/4/index.html b/de/page/4/index.html index ad68f7bb..f8022f74 100644 --- a/de/page/4/index.html +++ b/de/page/4/index.html @@ -1,5 +1,5 @@ -diecknet -

      [English] Set Azure AD Connect Staging Mode via PowerShell

      Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. +diecknet +

      [English] Set Azure AD Connect Staging Mode via PowerShell

      Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server....

      2022-07-21 · 2 Minuten · Andreas Dieckmann

      [English] Exchange Server Setup Incomplete but fails to complete

      I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. I’ll guide you through my troubleshooting steps / thought process. Try to continue Setup First I tried to resume the setup. The setup fails early - at Step 1 of 13: Stopping Services....

      2022-06-23 · 8 Minuten · Andreas Dieckmann

      [English] How to remove all merged Git Branches on Windows

      Here’s a quick tip on howto remove Git Branches that were already merged (thus not necessary to keep around anymore) locally on Windows, using PowerShell. Assuming that you do have Git for Windows installed. Execute these commands on your own risk. @@ -19,5 +19,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/page/5/index.html b/de/page/5/index.html index 592dd6a5..5b855651 100644 --- a/de/page/5/index.html +++ b/de/page/5/index.html @@ -1,5 +1,5 @@ -diecknet -

      [English] The Downside of going serverless

      After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +diecknet +

      [English] The Downside of going serverless

      After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

      2021-10-27 · 3 Minuten · Andreas Dieckmann

      [English] Using PowerShell Regular Expressions to match against filenames

      A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

      2021-10-25 · 1 Minute · Andreas Dieckmann

      [English] Run PowerShell Script with Windows Task Scheduler

      More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. @@ -20,5 +20,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/page/6/index.html b/de/page/6/index.html index 42da07f4..23627a6c 100644 --- a/de/page/6/index.html +++ b/de/page/6/index.html @@ -1,5 +1,5 @@ -diecknet -

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: +diecknet +

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: Power Apps per user Power Automate per user Power Automate RPA Power BI Pro Power BI Premium (standalone) Project Plan 1 Project Plan 3 Visio Plan 1 Visio Plan 2 Erklärungsvideo Ich habe den Lizenzkauf als Anwender ausprobiert und dokumentiert....

      2020-12-01 · 2 Minuten · Andreas Dieckmann

      Dateidatum per PowerShell setzen

      Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1. Per Get-Member kann man sich die Zeit-Attribute einer Datei anzeigen lassen. 1 Get-Item beispiel.txt | Get-Member *time* Interessant sind hier die Attribute: @@ -21,5 +21,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/page/7/index.html b/de/page/7/index.html index a7ee8430..4f49c4cc 100644 --- a/de/page/7/index.html +++ b/de/page/7/index.html @@ -1,5 +1,5 @@ -diecknet -

      Outlook Zertifikatswarnung nach Office 365 Migration

      Outlook Zertifikatswarnung nach Office 365 Migration +diecknet +

      Outlook Zertifikatswarnung nach Office 365 Migration

      Outlook Zertifikatswarnung nach Office 365 Migration Security Alert: svr1.example.com … The security certificate has expired or is not valid yet] @@ -14,5 +14,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/posts/index.html b/de/posts/index.html index c3599156..b4f0e8e4 100644 --- a/de/posts/index.html +++ b/de/posts/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. +

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin....

      2024-12-16 · 14 Minuten · Andreas Dieckmann

      PowerShell: Schleifen gezielt abbrechen/überspringen

      Normalerweise wird eine Schleife in PowerShell solange ausgeführt, wie es durch den außen stehenden Bedingungsblock definiert ist. Die folgende while-Schleife wird zum Beispiel so lange ausgeführt, wie die Variable namens $Variable kleiner oder gleich 10 ist. 1 2 3 while($Variable -le 10) { # irgendwas } Es ist aber auch möglich gezielt eine komplette Schleife vorzeitig abzubrechen oder einen einzelnen Schleifendurchgang abzubrechen. Und zwar auch, wenn ihr mehrere Schleifen ineinander verschachtelt habt....

      2024-11-02 · 5 Minuten · Andreas Dieckmann

      WMI in PowerShell verwenden

      WMI ist eine mächtige Schnittstelle um Windows Systeme zu verwalten. Dadurch ist der Zugriff auf Dinge möglich, für die es vielleicht sonst gar keine eigenen PowerShell Cmdlets gibt. Teilweise können wir so mehr Infos abrufen, als die Standard-Cmdlets liefern. Das geht sowohl lokal, als auch remote. Deprecated: Die alten WMI Cmdlets Es gibt ein paar ältere Cmdlets, die allerdings für Neuentwicklungen nicht empfohlen werden. Aber vielleicht stoßt ihr in älteren Skripten mal darüber, also jetzt habt ihr schon mal davon gehört - die existieren zumindest....

      2024-09-20 · 12 Minuten · Andreas Dieckmann

      Das Problem mit Array += in PowerShell

      Die PowerShell macht es leider recht einfach ineffizienten Code zu schreiben. Viele Leute benutzen zum Beispiel die += Schreibweise um ein Array zu befüllen. Nicht empfehlenswert! @@ -17,5 +17,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/posts/page/2/index.html b/de/posts/page/2/index.html index e1c75329..51531783 100644 --- a/de/posts/page/2/index.html +++ b/de/posts/page/2/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

      PowerShell Skripte remote entwickeln

      Es ist möglich PowerShell Skripte remote zu entwickeln. Also das Skript wird auf einem remote Computer gespeichert und ausgeführt, aber die Eingabe erfolgt im lokalen Editor-Tool. Das geht sowohl mit der klassischen Windows PowerShell ISE, als auch mit Visual Studio Code. In VSCode könnt ihr sowohl mit remote Windows PowerShell, als auch remote PowerShell 7 Systemen arbeiten. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. +

      PowerShell Skripte remote entwickeln

      Es ist möglich PowerShell Skripte remote zu entwickeln. Also das Skript wird auf einem remote Computer gespeichert und ausgeführt, aber die Eingabe erfolgt im lokalen Editor-Tool. Das geht sowohl mit der klassischen Windows PowerShell ISE, als auch mit Visual Studio Code. In VSCode könnt ihr sowohl mit remote Windows PowerShell, als auch remote PowerShell 7 Systemen arbeiten. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Windows PowerShell ISE Die Windows PowerShell ISE unterstützt nur remote Windows Systeme mit Windows PowerShell....

      2024-04-23 · 3 Minuten · Andreas Dieckmann

      PowerShell Ausgabe unterdrücken

      Manchmal geben PowerShell Befehle eine Rückmeldung aus, obwohl uns das gar nicht interessiert. Es gibt verschiedene Szenarien, wie ihr die Ausgaben unterdrücken könnt. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Ich verwende hier zum Beispiel das Cmdlet New-NetFirewallRule mit dem ich eine neue Regel in der Windows Firewall hinzufügen kann: @@ -24,5 +24,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/posts/page/3/index.html b/de/posts/page/3/index.html index 41479f1f..c1a9282f 100644 --- a/de/posts/page/3/index.html +++ b/de/posts/page/3/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

      PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

      PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System. +

      PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

      PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System. Gleichzeitig ist das auch ein zweischneidiges Schwert: Vorteil: Wir entziehen potenziellen Angreifern ein mächtiges Werkzeug. Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen....

      2023-05-20 · 6 Minuten · Andreas Dieckmann

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. @@ -23,5 +23,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/posts/page/4/index.html b/de/posts/page/4/index.html index 2887c58d..41a58c3d 100644 --- a/de/posts/page/4/index.html +++ b/de/posts/page/4/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! +

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! Weiterführende Links Download Azure AD Connect: Azure AD Connect Download (Microsoft.com) Diecknet Blog post: Azure AD Connect richtig planen und vorbereiten YouTube Video: Azure AD Connect richtig planen und vorbereiten Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-23 · 1 Minute · Andreas Dieckmann

      Office 365 Trial Lizenzen

      Zum Ausprobieren von Office 365 bzw. Microsoft 365 können diverse kostenlose Trial-Lizenzen genutzt werden. Hierbei kann man sich einen kostenlosen Tenant erstellen, oder die Test-Lizenz in einem bestehenden Tenant aktivieren. In der Regel startet dann eine 30 Tage Testphase mit jeweils 25 Benutzerlizenzen. Die Testphase kann einmal kostenlos um weitere 30 Tage verlängert werden. Nach Ablauf der Testphase kann der Tenant gelöscht werden. Alternativ können passende Lizenzen gekauft werden, um die Dienste weiter zu nutzen....

      2020-06-10 · 2 Minuten · Andreas Dieckmann

      Azure AD Connect richtig planen und vorbereiten (Video)

      Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt. Azure AD Connect Entscheidungsbaum Kostenloser Download (.pdf, .png, .drawio) Weiterführende Links Unterstützte und nicht unterstützte Azure AD Connect Topologien: Topologies for Azure AD Connect (docs.microsoft.com) Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-05 · 2 Minuten · Andreas Dieckmann

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: @@ -25,5 +25,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/privacy/index.html b/de/privacy/index.html index 45b7af11..c96c3cc8 100644 --- a/de/privacy/index.html +++ b/de/privacy/index.html @@ -2,9 +2,9 @@

      Datenschutz

      Datenschutz­erklärung

      1. Datenschutz auf einen Blick

      Allgemeine Hinweise

      Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung.

      Datenerfassung auf dieser Website

      Wer ist verantwortlich für die Datenerfassung auf dieser Website?

      Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber diecknet UG (haftungsbeschränkt). Dessen Kontaktdaten können Sie dem Abschnitt „Hinweis zur Verantwortlichen Stelle“ in dieser Datenschutzerklärung entnehmen.

      Wie erfassen wir Ihre Daten?

      Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z. B. um Daten handeln, die Sie in ein Kontaktformular eingeben.

      Andere Daten werden automatisch oder nach Ihrer Einwilligung beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z. B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie diese Website betreten.

      Wofür nutzen wir Ihre Daten?

      Ein Teil der Daten wird erhoben, um eine fehlerfreie Bereitstellung der Website zu gewährleisten. Andere Daten können zur Analyse Ihres Nutzerverhaltens verwendet werden.

      Welche Rechte haben Sie bezüglich Ihrer Daten?

      Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung oder Löschung dieser Daten zu verlangen. Wenn Sie eine Einwilligung zur Datenverarbeitung erteilt haben, können Sie diese Einwilligung jederzeit für die Zukunft widerrufen. Außerdem haben Sie das Recht, unter bestimmten Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Des Weiteren steht Ihnen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu.

      Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit an uns wenden.

      Analyse-Tools

      Beim Besuch dieser Website kann Ihr Surf-Verhalten statistisch ausgewertet werden. Das geschieht vor allem mit sogenannten Analyseprogrammen. Hierbei erfolgt keine Zuordnung zu Ihrer Person.

      Detaillierte Informationen zu diesen Analyseprogrammen finden Sie in der folgenden Datenschutzerklärung.

      2. Hosting

      Wir hosten die Inhalte unserer Website bei folgendem Anbieter:

      Externes Hosting

      Diese Website wird extern gehostet. Die personenbezogenen Daten, die auf dieser Website erfasst werden, werden auf den Servern des Hosters / der Hoster gespeichert. Hierbei kann es sich v. a. um IP-Adressen, Kontaktanfragen, Meta- und Kommunikationsdaten, Vertragsdaten, Kontaktdaten, Namen, Websitezugriffe und sonstige Daten, die über eine Website generiert werden, handeln.

      Das externe Hosting erfolgt zum Zwecke der Vertragserfüllung gegenüber unseren potenziellen und bestehenden Kunden (Art. 6 Abs. 1 lit. b DSGVO) und im Interesse einer sicheren, schnellen und effizienten Bereitstellung unseres Online-Angebots durch einen professionellen Anbieter (Art. 6 Abs. 1 lit. f DSGVO). Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

      Unser(e) Hoster wird bzw. werden Ihre Daten nur insoweit verarbeiten, wie dies zur Erfüllung seiner Leistungspflichten erforderlich ist und unsere Weisungen in Bezug auf diese Daten befolgen.

      Wir setzen folgende(n) Hoster ein:

      netcup GmbH
      Daimlerstraße 25
      D-76185 Karlsruhe

      Cloudflare, Inc.
      101 Townsend St.
      San Francisco, CA 94107
      USA
      Beziehungsweise ihre deutsche Niederlassung:
      Cloudflare Germany GmbH
      Rosental 7
      80331 München

      Vercel Inc.
      440 N Barranca Ave #4133
      Covina, CA 91723
      USA

      Auftragsverarbeitung

      Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung der oben genannten Dienste geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nach unseren Weisungen und unter Einhaltung der DSGVO verarbeitet.

      3. Allgemeine Hinweise und Pflicht­informationen

      Datenschutz

      Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend den gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung.

      Wenn Sie diese Website benutzen, werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten sind Daten, mit denen Sie persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert, welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das geschieht.

      Wir weisen darauf hin, dass die Datenübertragung im Internet (z. B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

      Hinweis zur verantwortlichen Stelle

      Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:

      diecknet UG (haftungsbeschränkt)
      Pestalozzistraße 25
      22306 Hamburg

      Telefon: +49 40 5247 1765
      E-Mail: impressum@diecknet.de

      Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z. B. Namen, E-Mail-Adressen o. Ä.) entscheidet.

      Speicherdauer

      Soweit innerhalb dieser Datenschutzerklärung keine speziellere Speicherdauer genannt wurde, verbleiben Ihre personenbezogenen Daten bei uns, bis der Zweck für die Datenverarbeitung entfällt. Wenn Sie ein berechtigtes Löschersuchen geltend machen oder eine Einwilligung zur Datenverarbeitung widerrufen, werden Ihre Daten gelöscht, sofern wir keine anderen rechtlich zulässigen Gründe für die Speicherung Ihrer personenbezogenen Daten haben (z. B. steuer- oder handelsrechtliche Aufbewahrungsfristen); im letztgenannten Fall erfolgt die Löschung nach Fortfall dieser Gründe.

      Allgemeine Hinweise zu den Rechtsgrundlagen der Datenverarbeitung auf dieser Website

      Sofern Sie in die Datenverarbeitung eingewilligt haben, verarbeiten wir Ihre personenbezogenen Daten auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO bzw. Art. 9 Abs. 2 lit. a DSGVO, sofern besondere Datenkategorien nach Art. 9 Abs. 1 DSGVO verarbeitet werden. Im Falle einer ausdrücklichen Einwilligung in die Übertragung personenbezogener Daten in Drittstaaten erfolgt die Datenverarbeitung außerdem auf Grundlage von Art. 49 Abs. 1 lit. a DSGVO. Sofern Sie in die Speicherung von Cookies oder in den Zugriff auf Informationen in Ihr Endgerät (z. B. via Device-Fingerprinting) eingewilligt haben, erfolgt die Datenverarbeitung zusätzlich auf Grundlage von § 25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar. Sind Ihre Daten zur Vertragserfüllung oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, verarbeiten wir Ihre Daten auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO. Des Weiteren verarbeiten wir Ihre Daten, sofern diese zur Erfüllung einer rechtlichen Verpflichtung erforderlich sind auf Grundlage von Art. 6 Abs. 1 lit. c DSGVO. Die Datenverarbeitung kann ferner auf Grundlage unseres berechtigten Interesses nach Art. 6 Abs. 1 lit. f DSGVO erfolgen. Über die jeweils im Einzelfall einschlägigen Rechtsgrundlagen wird in den folgenden Absätzen dieser Datenschutzerklärung informiert.

      Hinweis zur Datenweitergabe in die USA und sonstige Drittstaaten

      Wir verwenden unter anderem Tools von Unternehmen mit Sitz in den USA oder sonstigen datenschutzrechtlich nicht sicheren Drittstaaten. Wenn diese Tools aktiv sind, können Ihre personenbezogene Daten in diese Drittstaaten übertragen und dort verarbeitet werden. Wir weisen darauf hin, dass in diesen Ländern kein mit der EU vergleichbares Datenschutzniveau garantiert werden kann. Beispielsweise sind US-Unternehmen dazu verpflichtet, personenbezogene Daten an Sicherheitsbehörden herauszugeben, ohne dass Sie als Betroffener hiergegen gerichtlich vorgehen könnten. Es kann daher nicht ausgeschlossen werden, dass US-Behörden (z. B. Geheimdienste) Ihre auf US-Servern befindlichen Daten zu Überwachungszwecken verarbeiten, auswerten und dauerhaft speichern. Wir haben auf diese Verarbeitungstätigkeiten keinen Einfluss.

      Widerruf Ihrer Einwilligung zur Datenverarbeitung

      Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung jederzeit widerrufen. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt.

      Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie gegen Direktwerbung (Art. 21 DSGVO)

      WENN DIE DATENVERARBEITUNG AUF GRUNDLAGE VON ART. 6 ABS. 1 LIT. E ODER F DSGVO ERFOLGT, HABEN SIE JEDERZEIT DAS RECHT, AUS GRÜNDEN, DIE SICH AUS IHRER BESONDEREN SITUATION ERGEBEN, GEGEN DIE VERARBEITUNG IHRER PERSONENBEZOGENEN DATEN WIDERSPRUCH EINZULEGEN; DIES GILT AUCH FÜR EIN AUF DIESE BESTIMMUNGEN GESTÜTZTES PROFILING. DIE JEWEILIGE RECHTSGRUNDLAGE, AUF DENEN EINE VERARBEITUNG BERUHT, ENTNEHMEN SIE DIESER DATENSCHUTZERKLÄRUNG. WENN SIE WIDERSPRUCH EINLEGEN, WERDEN WIR IHRE BETROFFENEN PERSONENBEZOGENEN DATEN NICHT MEHR VERARBEITEN, ES SEI DENN, WIR KÖNNEN ZWINGENDE SCHUTZWÜRDIGE GRÜNDE FÜR DIE VERARBEITUNG NACHWEISEN, DIE IHRE INTERESSEN, RECHTE UND FREIHEITEN ÜBERWIEGEN ODER DIE VERARBEITUNG DIENT DER GELTENDMACHUNG, AUSÜBUNG ODER VERTEIDIGUNG VON RECHTSANSPRÜCHEN (WIDERSPRUCH NACH ART. 21 ABS. 1 DSGVO).

      WERDEN IHRE PERSONENBEZOGENEN DATEN VERARBEITET, UM DIREKTWERBUNG ZU BETREIBEN, SO HABEN SIE DAS RECHT, JEDERZEIT WIDERSPRUCH GEGEN DIE VERARBEITUNG SIE BETREFFENDER PERSONENBEZOGENER DATEN ZUM ZWECKE DERARTIGER WERBUNG EINZULEGEN; DIES GILT AUCH FÜR DAS PROFILING, SOWEIT ES MIT SOLCHER DIREKTWERBUNG IN VERBINDUNG STEHT. WENN SIE WIDERSPRECHEN, WERDEN IHRE PERSONENBEZOGENEN DATEN ANSCHLIESSEND NICHT MEHR ZUM ZWECKE DER DIREKTWERBUNG VERWENDET (WIDERSPRUCH NACH ART. 21 ABS. 2 DSGVO).

      Beschwerde­recht bei der zuständigen Aufsichts­behörde

      Im Falle von Verstößen gegen die DSGVO steht den Betroffenen ein Beschwerderecht bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes zu. Das Beschwerderecht besteht unbeschadet anderweitiger verwaltungsrechtlicher oder gerichtlicher Rechtsbehelfe.

      Recht auf Daten­übertrag­barkeit

      Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch machbar ist.

      Auskunft, Löschung und Berichtigung

      Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf Berichtigung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit an uns wenden.

      Recht auf Einschränkung der Verarbeitung

      Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Hierzu können Sie sich jederzeit an uns wenden. Das Recht auf Einschränkung der Verarbeitung besteht in folgenden Fällen:

      • Wenn Sie die Richtigkeit Ihrer bei uns gespeicherten personenbezogenen Daten bestreiten, benötigen wir in der Regel Zeit, um dies zu überprüfen. Für die Dauer der Prüfung haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
      • Wenn die Verarbeitung Ihrer personenbezogenen Daten unrechtmäßig geschah/geschieht, können Sie statt der Löschung die Einschränkung der Datenverarbeitung verlangen.
      • Wenn wir Ihre personenbezogenen Daten nicht mehr benötigen, Sie sie jedoch zur Ausübung, Verteidigung oder Geltendmachung von Rechtsansprüchen benötigen, haben Sie das Recht, statt der Löschung die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
      • Wenn Sie einen Widerspruch nach Art. 21 Abs. 1 DSGVO eingelegt haben, muss eine Abwägung zwischen Ihren und unseren Interessen vorgenommen werden. Solange noch nicht feststeht, wessen Interessen überwiegen, haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.

      Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten eingeschränkt haben, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Europäischen Union oder eines Mitgliedstaats verarbeitet werden.

      SSL- bzw. TLS-Verschlüsselung

      Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher Inhalte, wie zum Beispiel Bestellungen oder Anfragen, die Sie an uns als Seitenbetreiber senden, eine SSL- bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen Sie daran, dass die Adresszeile des Browsers von „http://“ auf „https://“ wechselt und an dem Schloss-Symbol in Ihrer Browserzeile.

      Wenn die SSL- bzw. TLS-Verschlüsselung aktiviert ist, können die Daten, die Sie an uns übermitteln, nicht von Dritten mitgelesen werden.

      4. Datenerfassung auf dieser Website

      Server-Log-Dateien

      Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:

      • Browsertyp und Browserversion
      • verwendetes Betriebssystem
      • Referrer URL
      • Hostname des zugreifenden Rechners
      • Uhrzeit der Serveranfrage
      • IP-Adresse

      Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen.

      Die Erfassung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an der technisch fehlerfreien Darstellung und der Optimierung seiner Website – hierzu müssen die Server-Log-Files erfasst werden.

      Anfrage per E-Mail, Telefon oder Telefax

      Wenn Sie uns per E-Mail, Telefon oder Telefax kontaktieren, wird Ihre Anfrage inklusive aller daraus hervorgehenden personenbezogenen Daten (Name, Anfrage) zum Zwecke der Bearbeitung Ihres Anliegens bei uns gespeichert und verarbeitet. Diese Daten geben wir nicht ohne Ihre Einwilligung weiter.

      Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, sofern Ihre Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur Durchführung vorvertraglicher Maßnahmen erforderlich ist. In allen übrigen Fällen beruht die Verarbeitung auf unserem berechtigten Interesse an der effektiven Bearbeitung der an uns gerichteten Anfragen (Art. 6 Abs. 1 lit. f DSGVO) oder auf Ihrer Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) sofern diese abgefragt wurde; die Einwilligung ist jederzeit widerrufbar.

      Die von Ihnen an uns per Kontaktanfragen übersandten Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt (z. B. nach abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere gesetzliche Aufbewahrungsfristen – bleiben unberührt.

      5. Analyse-Tools und Werbung

      Matomo

      Diese Website benutzt den Open Source Webanalysedienst Matomo.

      Mit Hilfe von Matomo sind wir in der Lage Daten über die Nutzung unserer Website durch die Websitebesucher zu erfassen und zu analysieren. Hierdurch können wir u. a. herausfinden, wann welche Seitenaufrufe getätigt wurden und aus welcher Region sie kommen. Außerdem erfassen wir verschiedene Logdateien (z. B. IP-Adresse, Referrer, verwendete Browser und Betriebssysteme) und können messen, ob unsere Websitebesucher bestimmte Aktionen durchführen (z. B. Klicks, Käufe u. Ä.).

      Die Nutzung dieses Analyse-Tools erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an der Analyse des Nutzerverhaltens, um sowohl sein Webangebot als auch seine Werbung zu optimieren. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

      IP-Anonymisierung

      Bei der Analyse mit Matomo setzen wir IP-Anonymisierung ein. Hierbei wird Ihre IP-Adresse vor der Analyse gekürzt, sodass Sie Ihnen nicht mehr eindeutig zuordenbar ist.

      Cookielose Analyse

      Wir haben Matomo so konfiguriert, dass Matomo keine Cookies in Ihrem Browser speichert.

      Hosting

      Wir hosten Matomo bei folgendem Drittanbieter:

      netcup

      Auftragsverarbeitung

      Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nach unseren Weisungen und unter Einhaltung der DSGVO verarbeitet.

      6. Plugins und Tools

      Cloudflare Pages

      Wir nutzen Cloudflare Pages auf dieser Website. Anbieter ist die Cloudflare Inc., 101 Townsend St., San Francisco, CA 94107, USA (im Folgenden „Cloudflare”).

      Mit Cloudflare Pages werden Webseites weltweit bereitgestellt.

      Die Datenverarbeitung wird auf Standardvertragsklauseln gestützt, die sie hier finden: https://www.cloudflare.com/cloudflare-customer-scc/.

      Weitere Informationen zu Cloudflare Pages entnehmen Sie den Datenschutzbestimmungen unter https://www.cloudflare.com/cloudflare-customer-dpa/.

      Cloudflare Turnstile

      Wir nutzen Cloudflare Turnstile (im Folgenden „Turnstile“) auf dieser Website. Anbieter ist die Cloudflare Inc., 101 Townsend St., San Francisco, CA 94107, USA (im Folgenden „Cloudflare”).

      Mit Turnstile soll überprüft werden, ob die Dateneingabe auf dieser Website (z. B. in einem Kontaktformular) durch einen Menschen oder durch ein automatisiertes Programm erfolgt. Hierzu analysiert Turnstile das Verhalten des Websitebesuchers anhand verschiedener Merkmale.

      Diese Analyse beginnt automatisch, sobald der Websitebesucher eine Website mit aktiviertem Turnstile betritt. Zur Analyse wertet Turnstile verschiedene Informationen aus (z. B. IP-Adresse, Verweildauer des Websitebesuchers auf der Website oder vom Nutzer getätigte Mausbewegungen). Die bei der Analyse erfassten Daten werden an Cloudflare weitergeleitet.

      Die Speicherung und Analyse der Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse daran, seine Webangebote vor missbräuchlicher automatisierter Ausspähung und vor SPAM zu schützen. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

      Die Datenverarbeitung wird auf Standardvertragsklauseln gestützt, die sie hier finden: https://www.cloudflare.com/cloudflare-customer-scc/.

      Weitere Informationen zu Cloudflare Turnstile entnehmen Sie den Datenschutzbestimmungen unter https://www.cloudflare.com/cloudflare-customer-dpa/.

      Giscus / Github Discussions / Vercel

      Wir nutzen Giscus und Github Discussions um für einige Unterseiten Nutzerkommentare einzubinden. Anbieter von Github Discussions ist die Github Inc. 88 Colin P Kelly Jr St, San Francisco, CA 94107, USA (im Folgenden "Github"). Github ist ein Werkzeug zur Verwaltung von Softwarequellcode. Der Quellcode dieser Webseite ist dort bereitgestellt. Um Inhalte der Webseite zu kommentieren, kann der Nutzer selbstständig ein Vertragsverhältnis mit Github eingehen um dort ein Nutzerkonto zu erstellen. Kommentare zu dieser Webseite, die unter "diecknet/diecknet-blog" Discussions verfasst werden, werden programmatisch ausgelesen und auf der Webseite zur Darstellung eingebunden.
      Wir hosten Giscus auf einer eigenen Vercel Instanz. Anbieter von Vercel ist Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA.

      Quelle: https://www.e-recht24.de

      © 2024 diecknet +Datenerfassung auf dieser Website Wer ist verantwortlich für die Datenerfassung auf dieser Website? Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber diecknet UG (haftungsbeschränkt).">

      Datenschutz

      Datenschutz­erklärung

      1. Datenschutz auf einen Blick

      Allgemeine Hinweise

      Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung.

      Datenerfassung auf dieser Website

      Wer ist verantwortlich für die Datenerfassung auf dieser Website?

      Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber diecknet UG (haftungsbeschränkt). Dessen Kontaktdaten können Sie dem Abschnitt „Hinweis zur Verantwortlichen Stelle“ in dieser Datenschutzerklärung entnehmen.

      Wie erfassen wir Ihre Daten?

      Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z. B. um Daten handeln, die Sie in ein Kontaktformular eingeben.

      Andere Daten werden automatisch oder nach Ihrer Einwilligung beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z. B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie diese Website betreten.

      Wofür nutzen wir Ihre Daten?

      Ein Teil der Daten wird erhoben, um eine fehlerfreie Bereitstellung der Website zu gewährleisten. Andere Daten können zur Analyse Ihres Nutzerverhaltens verwendet werden.

      Welche Rechte haben Sie bezüglich Ihrer Daten?

      Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung oder Löschung dieser Daten zu verlangen. Wenn Sie eine Einwilligung zur Datenverarbeitung erteilt haben, können Sie diese Einwilligung jederzeit für die Zukunft widerrufen. Außerdem haben Sie das Recht, unter bestimmten Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Des Weiteren steht Ihnen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu.

      Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit an uns wenden.

      Analyse-Tools

      Beim Besuch dieser Website kann Ihr Surf-Verhalten statistisch ausgewertet werden. Das geschieht vor allem mit sogenannten Analyseprogrammen. Hierbei erfolgt keine Zuordnung zu Ihrer Person.

      Detaillierte Informationen zu diesen Analyseprogrammen finden Sie in der folgenden Datenschutzerklärung.

      2. Hosting

      Wir hosten die Inhalte unserer Website bei folgendem Anbieter:

      Externes Hosting

      Diese Website wird extern gehostet. Die personenbezogenen Daten, die auf dieser Website erfasst werden, werden auf den Servern des Hosters / der Hoster gespeichert. Hierbei kann es sich v. a. um IP-Adressen, Kontaktanfragen, Meta- und Kommunikationsdaten, Vertragsdaten, Kontaktdaten, Namen, Websitezugriffe und sonstige Daten, die über eine Website generiert werden, handeln.

      Das externe Hosting erfolgt zum Zwecke der Vertragserfüllung gegenüber unseren potenziellen und bestehenden Kunden (Art. 6 Abs. 1 lit. b DSGVO) und im Interesse einer sicheren, schnellen und effizienten Bereitstellung unseres Online-Angebots durch einen professionellen Anbieter (Art. 6 Abs. 1 lit. f DSGVO). Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

      Unser(e) Hoster wird bzw. werden Ihre Daten nur insoweit verarbeiten, wie dies zur Erfüllung seiner Leistungspflichten erforderlich ist und unsere Weisungen in Bezug auf diese Daten befolgen.

      Wir setzen folgende(n) Hoster ein:

      netcup GmbH
      Daimlerstraße 25
      D-76185 Karlsruhe

      Cloudflare, Inc.
      101 Townsend St.
      San Francisco, CA 94107
      USA
      Beziehungsweise ihre deutsche Niederlassung:
      Cloudflare Germany GmbH
      Rosental 7
      80331 München

      Vercel Inc.
      440 N Barranca Ave #4133
      Covina, CA 91723
      USA

      Auftragsverarbeitung

      Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung der oben genannten Dienste geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nach unseren Weisungen und unter Einhaltung der DSGVO verarbeitet.

      3. Allgemeine Hinweise und Pflicht­informationen

      Datenschutz

      Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend den gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung.

      Wenn Sie diese Website benutzen, werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten sind Daten, mit denen Sie persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert, welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das geschieht.

      Wir weisen darauf hin, dass die Datenübertragung im Internet (z. B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

      Hinweis zur verantwortlichen Stelle

      Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:

      diecknet UG (haftungsbeschränkt)
      Pestalozzistraße 25
      22306 Hamburg

      Telefon: +49 40 5247 1765
      E-Mail: impressum@diecknet.de

      Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z. B. Namen, E-Mail-Adressen o. Ä.) entscheidet.

      Speicherdauer

      Soweit innerhalb dieser Datenschutzerklärung keine speziellere Speicherdauer genannt wurde, verbleiben Ihre personenbezogenen Daten bei uns, bis der Zweck für die Datenverarbeitung entfällt. Wenn Sie ein berechtigtes Löschersuchen geltend machen oder eine Einwilligung zur Datenverarbeitung widerrufen, werden Ihre Daten gelöscht, sofern wir keine anderen rechtlich zulässigen Gründe für die Speicherung Ihrer personenbezogenen Daten haben (z. B. steuer- oder handelsrechtliche Aufbewahrungsfristen); im letztgenannten Fall erfolgt die Löschung nach Fortfall dieser Gründe.

      Allgemeine Hinweise zu den Rechtsgrundlagen der Datenverarbeitung auf dieser Website

      Sofern Sie in die Datenverarbeitung eingewilligt haben, verarbeiten wir Ihre personenbezogenen Daten auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO bzw. Art. 9 Abs. 2 lit. a DSGVO, sofern besondere Datenkategorien nach Art. 9 Abs. 1 DSGVO verarbeitet werden. Im Falle einer ausdrücklichen Einwilligung in die Übertragung personenbezogener Daten in Drittstaaten erfolgt die Datenverarbeitung außerdem auf Grundlage von Art. 49 Abs. 1 lit. a DSGVO. Sofern Sie in die Speicherung von Cookies oder in den Zugriff auf Informationen in Ihr Endgerät (z. B. via Device-Fingerprinting) eingewilligt haben, erfolgt die Datenverarbeitung zusätzlich auf Grundlage von § 25 Abs. 1 TDDDG. Die Einwilligung ist jederzeit widerrufbar. Sind Ihre Daten zur Vertragserfüllung oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, verarbeiten wir Ihre Daten auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO. Des Weiteren verarbeiten wir Ihre Daten, sofern diese zur Erfüllung einer rechtlichen Verpflichtung erforderlich sind auf Grundlage von Art. 6 Abs. 1 lit. c DSGVO. Die Datenverarbeitung kann ferner auf Grundlage unseres berechtigten Interesses nach Art. 6 Abs. 1 lit. f DSGVO erfolgen. Über die jeweils im Einzelfall einschlägigen Rechtsgrundlagen wird in den folgenden Absätzen dieser Datenschutzerklärung informiert.

      Hinweis zur Datenweitergabe in die USA und sonstige Drittstaaten

      Wir verwenden unter anderem Tools von Unternehmen mit Sitz in den USA oder sonstigen datenschutzrechtlich nicht sicheren Drittstaaten. Wenn diese Tools aktiv sind, können Ihre personenbezogene Daten in diese Drittstaaten übertragen und dort verarbeitet werden. Wir weisen darauf hin, dass in diesen Ländern kein mit der EU vergleichbares Datenschutzniveau garantiert werden kann. Beispielsweise sind US-Unternehmen dazu verpflichtet, personenbezogene Daten an Sicherheitsbehörden herauszugeben, ohne dass Sie als Betroffener hiergegen gerichtlich vorgehen könnten. Es kann daher nicht ausgeschlossen werden, dass US-Behörden (z. B. Geheimdienste) Ihre auf US-Servern befindlichen Daten zu Überwachungszwecken verarbeiten, auswerten und dauerhaft speichern. Wir haben auf diese Verarbeitungstätigkeiten keinen Einfluss.

      Widerruf Ihrer Einwilligung zur Datenverarbeitung

      Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung jederzeit widerrufen. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt.

      Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie gegen Direktwerbung (Art. 21 DSGVO)

      WENN DIE DATENVERARBEITUNG AUF GRUNDLAGE VON ART. 6 ABS. 1 LIT. E ODER F DSGVO ERFOLGT, HABEN SIE JEDERZEIT DAS RECHT, AUS GRÜNDEN, DIE SICH AUS IHRER BESONDEREN SITUATION ERGEBEN, GEGEN DIE VERARBEITUNG IHRER PERSONENBEZOGENEN DATEN WIDERSPRUCH EINZULEGEN; DIES GILT AUCH FÜR EIN AUF DIESE BESTIMMUNGEN GESTÜTZTES PROFILING. DIE JEWEILIGE RECHTSGRUNDLAGE, AUF DENEN EINE VERARBEITUNG BERUHT, ENTNEHMEN SIE DIESER DATENSCHUTZERKLÄRUNG. WENN SIE WIDERSPRUCH EINLEGEN, WERDEN WIR IHRE BETROFFENEN PERSONENBEZOGENEN DATEN NICHT MEHR VERARBEITEN, ES SEI DENN, WIR KÖNNEN ZWINGENDE SCHUTZWÜRDIGE GRÜNDE FÜR DIE VERARBEITUNG NACHWEISEN, DIE IHRE INTERESSEN, RECHTE UND FREIHEITEN ÜBERWIEGEN ODER DIE VERARBEITUNG DIENT DER GELTENDMACHUNG, AUSÜBUNG ODER VERTEIDIGUNG VON RECHTSANSPRÜCHEN (WIDERSPRUCH NACH ART. 21 ABS. 1 DSGVO).

      WERDEN IHRE PERSONENBEZOGENEN DATEN VERARBEITET, UM DIREKTWERBUNG ZU BETREIBEN, SO HABEN SIE DAS RECHT, JEDERZEIT WIDERSPRUCH GEGEN DIE VERARBEITUNG SIE BETREFFENDER PERSONENBEZOGENER DATEN ZUM ZWECKE DERARTIGER WERBUNG EINZULEGEN; DIES GILT AUCH FÜR DAS PROFILING, SOWEIT ES MIT SOLCHER DIREKTWERBUNG IN VERBINDUNG STEHT. WENN SIE WIDERSPRECHEN, WERDEN IHRE PERSONENBEZOGENEN DATEN ANSCHLIESSEND NICHT MEHR ZUM ZWECKE DER DIREKTWERBUNG VERWENDET (WIDERSPRUCH NACH ART. 21 ABS. 2 DSGVO).

      Beschwerde­recht bei der zuständigen Aufsichts­behörde

      Im Falle von Verstößen gegen die DSGVO steht den Betroffenen ein Beschwerderecht bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes zu. Das Beschwerderecht besteht unbeschadet anderweitiger verwaltungsrechtlicher oder gerichtlicher Rechtsbehelfe.

      Recht auf Daten­übertrag­barkeit

      Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch machbar ist.

      Auskunft, Löschung und Berichtigung

      Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf Berichtigung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit an uns wenden.

      Recht auf Einschränkung der Verarbeitung

      Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Hierzu können Sie sich jederzeit an uns wenden. Das Recht auf Einschränkung der Verarbeitung besteht in folgenden Fällen:

      • Wenn Sie die Richtigkeit Ihrer bei uns gespeicherten personenbezogenen Daten bestreiten, benötigen wir in der Regel Zeit, um dies zu überprüfen. Für die Dauer der Prüfung haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
      • Wenn die Verarbeitung Ihrer personenbezogenen Daten unrechtmäßig geschah/geschieht, können Sie statt der Löschung die Einschränkung der Datenverarbeitung verlangen.
      • Wenn wir Ihre personenbezogenen Daten nicht mehr benötigen, Sie sie jedoch zur Ausübung, Verteidigung oder Geltendmachung von Rechtsansprüchen benötigen, haben Sie das Recht, statt der Löschung die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.
      • Wenn Sie einen Widerspruch nach Art. 21 Abs. 1 DSGVO eingelegt haben, muss eine Abwägung zwischen Ihren und unseren Interessen vorgenommen werden. Solange noch nicht feststeht, wessen Interessen überwiegen, haben Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen.

      Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten eingeschränkt haben, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Europäischen Union oder eines Mitgliedstaats verarbeitet werden.

      SSL- bzw. TLS-Verschlüsselung

      Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher Inhalte, wie zum Beispiel Bestellungen oder Anfragen, die Sie an uns als Seitenbetreiber senden, eine SSL- bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen Sie daran, dass die Adresszeile des Browsers von „http://“ auf „https://“ wechselt und an dem Schloss-Symbol in Ihrer Browserzeile.

      Wenn die SSL- bzw. TLS-Verschlüsselung aktiviert ist, können die Daten, die Sie an uns übermitteln, nicht von Dritten mitgelesen werden.

      4. Datenerfassung auf dieser Website

      Server-Log-Dateien

      Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:

      • Browsertyp und Browserversion
      • verwendetes Betriebssystem
      • Referrer URL
      • Hostname des zugreifenden Rechners
      • Uhrzeit der Serveranfrage
      • IP-Adresse

      Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen.

      Die Erfassung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an der technisch fehlerfreien Darstellung und der Optimierung seiner Website – hierzu müssen die Server-Log-Files erfasst werden.

      Anfrage per E-Mail, Telefon oder Telefax

      Wenn Sie uns per E-Mail, Telefon oder Telefax kontaktieren, wird Ihre Anfrage inklusive aller daraus hervorgehenden personenbezogenen Daten (Name, Anfrage) zum Zwecke der Bearbeitung Ihres Anliegens bei uns gespeichert und verarbeitet. Diese Daten geben wir nicht ohne Ihre Einwilligung weiter.

      Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, sofern Ihre Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur Durchführung vorvertraglicher Maßnahmen erforderlich ist. In allen übrigen Fällen beruht die Verarbeitung auf unserem berechtigten Interesse an der effektiven Bearbeitung der an uns gerichteten Anfragen (Art. 6 Abs. 1 lit. f DSGVO) oder auf Ihrer Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) sofern diese abgefragt wurde; die Einwilligung ist jederzeit widerrufbar.

      Die von Ihnen an uns per Kontaktanfragen übersandten Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt (z. B. nach abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere gesetzliche Aufbewahrungsfristen – bleiben unberührt.

      5. Analyse-Tools und Werbung

      Matomo

      Diese Website benutzt den Open Source Webanalysedienst Matomo.

      Mit Hilfe von Matomo sind wir in der Lage Daten über die Nutzung unserer Website durch die Websitebesucher zu erfassen und zu analysieren. Hierdurch können wir u. a. herausfinden, wann welche Seitenaufrufe getätigt wurden und aus welcher Region sie kommen. Außerdem erfassen wir verschiedene Logdateien (z. B. IP-Adresse, Referrer, verwendete Browser und Betriebssysteme) und können messen, ob unsere Websitebesucher bestimmte Aktionen durchführen (z. B. Klicks, Käufe u. Ä.).

      Die Nutzung dieses Analyse-Tools erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse an der Analyse des Nutzerverhaltens, um sowohl sein Webangebot als auch seine Werbung zu optimieren. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

      IP-Anonymisierung

      Bei der Analyse mit Matomo setzen wir IP-Anonymisierung ein. Hierbei wird Ihre IP-Adresse vor der Analyse gekürzt, sodass Sie Ihnen nicht mehr eindeutig zuordenbar ist.

      Cookielose Analyse

      Wir haben Matomo so konfiguriert, dass Matomo keine Cookies in Ihrem Browser speichert.

      Hosting

      Wir hosten Matomo bei folgendem Drittanbieter:

      netcup

      Auftragsverarbeitung

      Wir haben einen Vertrag über Auftragsverarbeitung (AVV) zur Nutzung des oben genannten Dienstes geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer Websitebesucher nur nach unseren Weisungen und unter Einhaltung der DSGVO verarbeitet.

      6. Plugins und Tools

      Cloudflare Pages

      Wir nutzen Cloudflare Pages auf dieser Website. Anbieter ist die Cloudflare Inc., 101 Townsend St., San Francisco, CA 94107, USA (im Folgenden „Cloudflare”).

      Mit Cloudflare Pages werden Webseites weltweit bereitgestellt.

      Die Datenverarbeitung wird auf Standardvertragsklauseln gestützt, die sie hier finden: https://www.cloudflare.com/cloudflare-customer-scc/.

      Weitere Informationen zu Cloudflare Pages entnehmen Sie den Datenschutzbestimmungen unter https://www.cloudflare.com/cloudflare-customer-dpa/.

      Cloudflare Turnstile

      Wir nutzen Cloudflare Turnstile (im Folgenden „Turnstile“) auf dieser Website. Anbieter ist die Cloudflare Inc., 101 Townsend St., San Francisco, CA 94107, USA (im Folgenden „Cloudflare”).

      Mit Turnstile soll überprüft werden, ob die Dateneingabe auf dieser Website (z. B. in einem Kontaktformular) durch einen Menschen oder durch ein automatisiertes Programm erfolgt. Hierzu analysiert Turnstile das Verhalten des Websitebesuchers anhand verschiedener Merkmale.

      Diese Analyse beginnt automatisch, sobald der Websitebesucher eine Website mit aktiviertem Turnstile betritt. Zur Analyse wertet Turnstile verschiedene Informationen aus (z. B. IP-Adresse, Verweildauer des Websitebesuchers auf der Website oder vom Nutzer getätigte Mausbewegungen). Die bei der Analyse erfassten Daten werden an Cloudflare weitergeleitet.

      Die Speicherung und Analyse der Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der Websitebetreiber hat ein berechtigtes Interesse daran, seine Webangebote vor missbräuchlicher automatisierter Ausspähung und vor SPAM zu schützen. Sofern eine entsprechende Einwilligung abgefragt wurde, erfolgt die Verarbeitung ausschließlich auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.

      Die Datenverarbeitung wird auf Standardvertragsklauseln gestützt, die sie hier finden: https://www.cloudflare.com/cloudflare-customer-scc/.

      Weitere Informationen zu Cloudflare Turnstile entnehmen Sie den Datenschutzbestimmungen unter https://www.cloudflare.com/cloudflare-customer-dpa/.

      Giscus / Github Discussions / Vercel

      Wir nutzen Giscus und Github Discussions um für einige Unterseiten Nutzerkommentare einzubinden. Anbieter von Github Discussions ist die Github Inc. 88 Colin P Kelly Jr St, San Francisco, CA 94107, USA (im Folgenden "Github"). Github ist ein Werkzeug zur Verwaltung von Softwarequellcode. Der Quellcode dieser Webseite ist dort bereitgestellt. Um Inhalte der Webseite zu kommentieren, kann der Nutzer selbstständig ein Vertragsverhältnis mit Github eingehen um dort ein Nutzerkonto zu erstellen. Kommentare zu dieser Webseite, die unter "diecknet/diecknet-blog" Discussions verfasst werden, werden programmatisch ausgelesen und auf der Webseite zur Darstellung eingebunden.
      Wir hosten Giscus auf einer eigenen Vercel Instanz. Anbieter von Vercel ist Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA.

      Quelle: https://www.e-recht24.de

      +Datenschutz
      \ No newline at end of file diff --git a/de/services/index.html b/de/services/index.html index 2dc49c5b..7f3d1e6a 100644 --- a/de/services/index.html +++ b/de/services/index.html @@ -5,9 +5,9 @@ Ich unterstütze meine Kunden vor allem in den Bereichen: PowerShell Microsoft 365 Entra ID Active Directory Windows Server Microsoft Azure Security Ich bin aber generell auch offen für andere Themen.">

      Dienstleistungen

      IT-Beratung für Unternehmen

      Wenn ihr als Unternehmen Unterstützung in IT-Projekten benötigt, kontaktiert mich gerne per E-Mail: andreas@diecknet.de. Wir können dann einen Termin vereinbaren und erstmal unverbindlich miteinander sprechen.

      Ich unterstütze meine Kunden vor allem in den Bereichen:

      • PowerShell
      • Microsoft 365
      • Entra ID
      • Active Directory
      • Windows Server
      • Microsoft Azure
      • Security

      Ich bin aber generell auch offen für andere Themen.

      © 2024 diecknet +PowerShell Microsoft 365 Entra ID Active Directory Windows Server Microsoft Azure Security Ich bin aber generell auch offen für andere Themen.">

      Dienstleistungen

      IT-Beratung für Unternehmen

      Wenn ihr als Unternehmen Unterstützung in IT-Projekten benötigt, kontaktiert mich gerne per E-Mail: andreas@diecknet.de. Wir können dann einen Termin vereinbaren und erstmal unverbindlich miteinander sprechen.

      Ich unterstütze meine Kunden vor allem in den Bereichen:

      • PowerShell
      • Microsoft 365
      • Entra ID
      • Active Directory
      • Windows Server
      • Microsoft Azure
      • Security

      Ich bin aber generell auch offen für andere Themen.

      +Datenschutz
      \ No newline at end of file diff --git a/de/tags/AAD/index.html b/de/tags/AAD/index.html index 314bc2ad..e3c07fe9 100644 --- a/de/tags/AAD/index.html +++ b/de/tags/AAD/index.html @@ -1,8 +1,8 @@ AAD | diecknet -

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. +

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:...

      2023-04-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/Active-Directory/index.html b/de/tags/Active-Directory/index.html index 7ce1ace0..b2f437dc 100644 --- a/de/tags/Active-Directory/index.html +++ b/de/tags/Active-Directory/index.html @@ -1,9 +1,9 @@ Active Directory | diecknet -

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. +

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin....

      2024-12-16 · 14 Minuten · Andreas Dieckmann

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:...

      2023-04-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/Azure-AD-Connect/index.html b/de/tags/Azure-AD-Connect/index.html index 4549c35a..d1e57f2c 100644 --- a/de/tags/Azure-AD-Connect/index.html +++ b/de/tags/Azure-AD-Connect/index.html @@ -1,8 +1,8 @@ Azure AD Connect | diecknet -

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. +

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:...

      2023-04-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/Azure-Active-Directory/index.html b/de/tags/Azure-Active-Directory/index.html index edf33c4c..30dfde5c 100644 --- a/de/tags/Azure-Active-Directory/index.html +++ b/de/tags/Azure-Active-Directory/index.html @@ -1,8 +1,8 @@ Azure Active Directory | diecknet -

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. +

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:...

      2023-04-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/Exchange-Server/index.html b/de/tags/Exchange-Server/index.html index 4291d1de..703636d0 100644 --- a/de/tags/Exchange-Server/index.html +++ b/de/tags/Exchange-Server/index.html @@ -1,8 +1,8 @@ Exchange Server | diecknet -

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. +

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:...

      2023-04-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/about/index.html b/de/tags/about/index.html index 393ca649..3980a889 100644 --- a/de/tags/about/index.html +++ b/de/tags/about/index.html @@ -1,5 +1,5 @@ About | diecknet -

      Ein neuer Blog

      Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe: +

      Ein neuer Blog

      Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe: B: Dein Handy klingelt… A: Oh, was? tippt auf das Handy … B: 2001 hat angerufen und will seinen Blog zurück! @@ -9,5 +9,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/activedirectory/index.html b/de/tags/activedirectory/index.html index 0e214e17..66dbc21b 100644 --- a/de/tags/activedirectory/index.html +++ b/de/tags/activedirectory/index.html @@ -1,10 +1,10 @@ Activedirectory | diecknet -

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! +

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! Weiterführende Links Download Azure AD Connect: Azure AD Connect Download (Microsoft.com) Diecknet Blog post: Azure AD Connect richtig planen und vorbereiten YouTube Video: Azure AD Connect richtig planen und vorbereiten Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-23 · 1 Minute · Andreas Dieckmann

      Azure AD Connect richtig planen und vorbereiten (Video)

      Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt. Azure AD Connect Entscheidungsbaum Kostenloser Download (.pdf, .png, .drawio) Weiterführende Links Unterstützte und nicht unterstützte Azure AD Connect Topologien: Topologies for Azure AD Connect (docs.microsoft.com) Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-05 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/admin-rights/index.html b/de/tags/admin-rights/index.html index de72a60c..3eccc593 100644 --- a/de/tags/admin-rights/index.html +++ b/de/tags/admin-rights/index.html @@ -1,8 +1,8 @@ Admin Rights | diecknet -

      PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

      Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. +

      PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

      Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Admin-Rechte per Requires Anweisung erfordern 1 #Requires -RunAsAdministrator Diese Zeile kann an eine beliebigen Stelle im PowerShell Code eingefügt werden....

      2024-02-20 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/apple/index.html b/de/tags/apple/index.html index 488e72ce..bb27e54d 100644 --- a/de/tags/apple/index.html +++ b/de/tags/apple/index.html @@ -1,5 +1,5 @@ Apple | diecknet -

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: +

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: Administratorgenehmigung erforderlich Apple Internet Accounts Apple Internet Accounts benötigt, um auf Ressourcen in Ihrer Organisation zugreifen zu können, eine Berechtigung, die nur ein Administrator erteilen kann. Bitten Sie einen Administrator, die Berechtigung für diese App zu erteilen, damit Sie die App verwenden können. @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/azure/index.html b/de/tags/azure/index.html index 1c9579fc..559dcd76 100644 --- a/de/tags/azure/index.html +++ b/de/tags/azure/index.html @@ -1,8 +1,8 @@ Azure | diecknet -

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). +

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

      2023-01-09 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/azuread/index.html b/de/tags/azuread/index.html index 24d82b5d..ccb9776a 100644 --- a/de/tags/azuread/index.html +++ b/de/tags/azuread/index.html @@ -1,5 +1,5 @@ Azuread | diecknet -

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! +

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! Weiterführende Links Download Azure AD Connect: Azure AD Connect Download (Microsoft.com) Diecknet Blog post: Azure AD Connect richtig planen und vorbereiten YouTube Video: Azure AD Connect richtig planen und vorbereiten Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-23 · 1 Minute · Andreas Dieckmann

      Azure AD Connect richtig planen und vorbereiten (Video)

      Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt. Azure AD Connect Entscheidungsbaum Kostenloser Download (.pdf, .png, .drawio) Weiterführende Links Unterstützte und nicht unterstützte Azure AD Connect Topologien: Topologies for Azure AD Connect (docs.microsoft.com) Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-05 · 2 Minuten · Andreas Dieckmann

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: @@ -10,5 +10,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/azureadconnect/index.html b/de/tags/azureadconnect/index.html index 3bb46382..32e16a28 100644 --- a/de/tags/azureadconnect/index.html +++ b/de/tags/azureadconnect/index.html @@ -1,10 +1,10 @@ Azureadconnect | diecknet -

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! +

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! Weiterführende Links Download Azure AD Connect: Azure AD Connect Download (Microsoft.com) Diecknet Blog post: Azure AD Connect richtig planen und vorbereiten YouTube Video: Azure AD Connect richtig planen und vorbereiten Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-23 · 1 Minute · Andreas Dieckmann

      Azure AD Connect richtig planen und vorbereiten (Video)

      Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt. Azure AD Connect Entscheidungsbaum Kostenloser Download (.pdf, .png, .drawio) Weiterführende Links Unterstützte und nicht unterstützte Azure AD Connect Topologien: Topologies for Azure AD Connect (docs.microsoft.com) Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-05 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/azureautomation/index.html b/de/tags/azureautomation/index.html index 3a37f1d9..2b684062 100644 --- a/de/tags/azureautomation/index.html +++ b/de/tags/azureautomation/index.html @@ -1,8 +1,8 @@ Azureautomation | diecknet -

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). +

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

      2023-01-09 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/brackets/index.html b/de/tags/brackets/index.html index 251b14c1..d703e678 100644 --- a/de/tags/brackets/index.html +++ b/de/tags/brackets/index.html @@ -1,9 +1,9 @@ Brackets | diecknet -

      Die unterschiedlichen Klammern in der PowerShell

      Wann ist welche Klammer die Richtige in der PowerShell? +

      Die unterschiedlichen Klammern in der PowerShell

      Wann ist welche Klammer die Richtige in der PowerShell? # Verschiedene Klammern in der PowerShell () {} [] Die Klammern haben unterschiedliche Einsatzzwecke. Die Größer-als < und Kleiner-als > Zeichen würde ich übrigens nicht zu den Klammern zählen. Für alle echten Klammern gilt: Wenn ihr eine Klammer geöffnet habt, müsst ihr sie auch wieder schließen. Runde Klammern ( ) Mit runden Klammern wird in der PowerShell ein Ausdruck bzw. ein Befehl umfasst, bzw....

      2023-11-28 · 9 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/constrained-language/index.html b/de/tags/constrained-language/index.html index 249bc5ac..6f6af3b2 100644 --- a/de/tags/constrained-language/index.html +++ b/de/tags/constrained-language/index.html @@ -1,10 +1,10 @@ Constrained Language | diecknet -

      PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

      PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System. +

      PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

      PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System. Gleichzeitig ist das auch ein zweischneidiges Schwert: Vorteil: Wir entziehen potenziellen Angreifern ein mächtiges Werkzeug. Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen....

      2023-05-20 · 6 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/customization/index.html b/de/tags/customization/index.html index d83dfa74..e516c342 100644 --- a/de/tags/customization/index.html +++ b/de/tags/customization/index.html @@ -1,5 +1,5 @@ Customization | diecknet -

      PowerShell Profile erklärt (mit Beispielen)

      Mit PowerShell Profilen könnt ihr eure PowerShell anpassen. Also zum Beispiel, dass sie so aussieht: +

      PowerShell Profile erklärt (mit Beispielen)

      Mit PowerShell Profilen könnt ihr eure PowerShell anpassen. Also zum Beispiel, dass sie so aussieht: Oder ihr könnt einstellen, dass beim Start so ein Splash-Screen angezeigt (winfetch) wird: Oder ihr könnt auch eigene Funktionen und Variablen hinterlegen, sodass diese immer sofort verfügbar sind, wenn ihr die PowerShell startet. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/diecknet/index.html b/de/tags/diecknet/index.html index 5de250da..4c4ec604 100644 --- a/de/tags/diecknet/index.html +++ b/de/tags/diecknet/index.html @@ -1,5 +1,5 @@ Diecknet | diecknet -

      Ein neuer Blog

      Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe: +

      Ein neuer Blog

      Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe: B: Dein Handy klingelt… A: Oh, was? tippt auf das Handy … B: 2001 hat angerufen und will seinen Blog zurück! @@ -9,5 +9,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/entra-connect/index.html b/de/tags/entra-connect/index.html index d32cd511..d476902f 100644 --- a/de/tags/entra-connect/index.html +++ b/de/tags/entra-connect/index.html @@ -1,8 +1,8 @@ Entra Connect | diecknet -

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. +

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin....

      2024-12-16 · 14 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/environment-variables/index.html b/de/tags/environment-variables/index.html index 8fc9fa16..6a825961 100644 --- a/de/tags/environment-variables/index.html +++ b/de/tags/environment-variables/index.html @@ -1,5 +1,5 @@ Environment Variables | diecknet -

      PowerShell: Zugriff auf Umgebungsvariablen

      Per PowerShell auf Umgebungsvariablen zugreifen - das geht ganz einfach. +

      PowerShell: Zugriff auf Umgebungsvariablen

      Per PowerShell auf Umgebungsvariablen zugreifen - das geht ganz einfach. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Umgebungsvariable per $Env:-Variable auslesen Die einfachste Möglichkeit ist per $Env:-Variable. Gebt dafür einfach $Env ein, dann einen Doppelpunkt und dann den Namen der Umgebungsvariable von der ihr den Wert auslesen wollt. 1 $Env:username Dadurch wird der Username des aktuell angemeldeten Users ausgegeben. @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/exchange-online/index.html b/de/tags/exchange-online/index.html index af1d8957..3a7fc2bb 100644 --- a/de/tags/exchange-online/index.html +++ b/de/tags/exchange-online/index.html @@ -1,10 +1,10 @@ Exchange Online | diecknet -

      Outlook Cache Modus für Freigegebene Postfächer

      In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt: +

      Outlook Cache Modus für Freigegebene Postfächer

      In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Verbindung mit dem Server herstellen, um diese anzuzeigen In persönlichen Postfächern wird stattdessen die Möglichkeit geboten, weitere Elemente vom Server abzurufen. Der Text dazu wurde stümperhaft automatisch übersetzt, was sich gut ins Gesamtbild fügt:...

      2021-11-19 · 3 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/exchange/index.html b/de/tags/exchange/index.html index 1f67f278..91af4455 100644 --- a/de/tags/exchange/index.html +++ b/de/tags/exchange/index.html @@ -1,5 +1,5 @@ Exchange | diecknet -

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. +

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:...

      2023-04-12 · 4 Minuten · Andreas Dieckmann

      Outlook Cache Modus für Freigegebene Postfächer

      In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Verbindung mit dem Server herstellen, um diese anzuzeigen @@ -20,5 +20,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/exchange2010/index.html b/de/tags/exchange2010/index.html index be72874a..347c1493 100644 --- a/de/tags/exchange2010/index.html +++ b/de/tags/exchange2010/index.html @@ -1,5 +1,5 @@ Exchange2010 | diecknet -

      Outlook Zertifikatswarnung nach Office 365 Migration

      Outlook Zertifikatswarnung nach Office 365 Migration +

      Outlook Zertifikatswarnung nach Office 365 Migration

      Outlook Zertifikatswarnung nach Office 365 Migration Security Alert: svr1.example.com … The security certificate has expired or is not valid yet] @@ -8,5 +8,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/exchange2013/index.html b/de/tags/exchange2013/index.html index 8f7278c0..9a7ed919 100644 --- a/de/tags/exchange2013/index.html +++ b/de/tags/exchange2013/index.html @@ -1,5 +1,5 @@ Exchange2013 | diecknet -

      Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

      Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt: +

      Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

      Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt: HCW8064 - Der Assistent für Hybridkonfiguration wurde abgeschlossen, er konnte den OAuth-Anteil der Hybridkonfiguration aber nicht ausführen. Wenn Sie Features benötigen, die OAuth voraussetzen, können Sie versuchen den Assistenten für Hybridkonfiguration erneut auszuführen oder OAuth mithilfe dieser manuellen Schritte manuell konfigurieren. Der Link “Weitere Informationen” verweist auf https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. Wenn man schaut, wofür OAuth verwendet, wird dieser Artikel referenziert. Dort ist zu lesen, OAuth für Cross-Premises eDiscovery Suchen benötigt wird....

      2020-05-01 · 4 Minuten · Andreas Dieckmann

      Exchange - Wann wurde das Postfach WIRKLICH erstellt?

      Wenn du herausfinden möchtest, wann ein Exchange Postfach erstellt wurde, wirst du wahrscheinlich über das Active Directory-Benutzer Attribut MSExchWhenMailboxCreated stolpern. Um den Wert auszulesen, kannst du PowerShell oder Active Directory-Benutzer und -Computer (ADUC) verwenden. 1 Get-ADUser -Properties MSExchMaiboxWhenCreated MSExchWhenMailboxCreated enthält nicht die ganze Wahrheit Das könnte schon das Ende der Geschichte sein. ABER das Attribut ist nicht, was du vielleicht denkst. Das Attribut wird nur propagiert wenn der Benutzer DAS ERSTE MAL ein Postfach erhält....

      2020-01-25 · 1 Minute · Andreas Dieckmann

      Exchange Raumpostfach - Berechtigungen setzen

      Zugriff wurde für den Benutzer verweigert. - Exchange Raumpostfach Berechtigungen (Outlook Fenster) @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/exchangehybrid/index.html b/de/tags/exchangehybrid/index.html index 8eb3763d..5571f309 100644 --- a/de/tags/exchangehybrid/index.html +++ b/de/tags/exchangehybrid/index.html @@ -1,9 +1,9 @@ Exchangehybrid | diecknet -

      Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

      Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt: +

      Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

      Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt: HCW8064 - Der Assistent für Hybridkonfiguration wurde abgeschlossen, er konnte den OAuth-Anteil der Hybridkonfiguration aber nicht ausführen. Wenn Sie Features benötigen, die OAuth voraussetzen, können Sie versuchen den Assistenten für Hybridkonfiguration erneut auszuführen oder OAuth mithilfe dieser manuellen Schritte manuell konfigurieren. Der Link “Weitere Informationen” verweist auf https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. Wenn man schaut, wofür OAuth verwendet, wird dieser Artikel referenziert. Dort ist zu lesen, OAuth für Cross-Premises eDiscovery Suchen benötigt wird....

      2020-05-01 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/exchangeonline/index.html b/de/tags/exchangeonline/index.html index 10ac12b3..b78184e5 100644 --- a/de/tags/exchangeonline/index.html +++ b/de/tags/exchangeonline/index.html @@ -1,5 +1,5 @@ Exchangeonline | diecknet -

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). +

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

      2023-01-09 · 4 Minuten · Andreas Dieckmann

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: Administratorgenehmigung erforderlich Apple Internet Accounts @@ -13,5 +13,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/exo/index.html b/de/tags/exo/index.html index d66e32e8..cd292258 100644 --- a/de/tags/exo/index.html +++ b/de/tags/exo/index.html @@ -1,8 +1,8 @@ Exo | diecknet -

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). +

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

      2023-01-09 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/freigegebenes-postfach/index.html b/de/tags/freigegebenes-postfach/index.html index 3696d50f..de1d03de 100644 --- a/de/tags/freigegebenes-postfach/index.html +++ b/de/tags/freigegebenes-postfach/index.html @@ -1,10 +1,10 @@ Freigegebenes Postfach | diecknet -

      Outlook Cache Modus für Freigegebene Postfächer

      In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt: +

      Outlook Cache Modus für Freigegebene Postfächer

      In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Verbindung mit dem Server herstellen, um diese anzuzeigen In persönlichen Postfächern wird stattdessen die Möglichkeit geboten, weitere Elemente vom Server abzurufen. Der Text dazu wurde stümperhaft automatisch übersetzt, was sich gut ins Gesamtbild fügt:...

      2021-11-19 · 3 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/hybrid/index.html b/de/tags/hybrid/index.html index 6a6e7fa8..600cb629 100644 --- a/de/tags/hybrid/index.html +++ b/de/tags/hybrid/index.html @@ -1,5 +1,5 @@ Hybrid | diecknet -

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. +

      Synchronisierte Exchange Objekte ohne Exchange Server verwalten

      Es ist ja schon seit einiger Zeit möglich, die Exchange Server Verwaltungstools ohne einen vollständigen Exchange Server zu verwenden. Die meisten Anleitungen gehen davon aus, dass schon mindestens ein Exchange Server vorhanden war und dieser dann entfernt wird. Und die Microsoft Dokumentation verweist nur am Rande auf das Thema und erklärt nicht wirklich. In diesem Post gehe ich auf ein Szenario ein, was vorallem viele kleinere Unternehmen betrifft: Im Microsoft 365 Admin Center wird angezeigt:...

      2023-04-12 · 4 Minuten · Andreas Dieckmann

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! Weiterführende Links Download Azure AD Connect: Azure AD Connect Download (Microsoft.com) Diecknet Blog post: Azure AD Connect richtig planen und vorbereiten YouTube Video: Azure AD Connect richtig planen und vorbereiten Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-23 · 1 Minute · Andreas Dieckmann

      Azure AD Connect richtig planen und vorbereiten (Video)

      Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt. Azure AD Connect Entscheidungsbaum Kostenloser Download (.pdf, .png, .drawio) @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/hybrididentity/index.html b/de/tags/hybrididentity/index.html index 460debcf..26ff385d 100644 --- a/de/tags/hybrididentity/index.html +++ b/de/tags/hybrididentity/index.html @@ -1,10 +1,10 @@ Hybrididentity | diecknet -

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! +

      Azure AD Connect installieren (Video)

      Ich habe ein YouTube Video über die Konfiguration von Azure AD Connect und die Password Hash Sync erstellt. In diesem Blog-Post verweise ich nur auf ein paar weiterführende Links. Schaut euch auch das vorherige Video zur Planung und Vorbereitung von Azure AD Connect an! Weiterführende Links Download Azure AD Connect: Azure AD Connect Download (Microsoft.com) Diecknet Blog post: Azure AD Connect richtig planen und vorbereiten YouTube Video: Azure AD Connect richtig planen und vorbereiten Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-23 · 1 Minute · Andreas Dieckmann

      Azure AD Connect richtig planen und vorbereiten (Video)

      Die Planung und Vorbereitung von Azure AD Connect ist wichtig. Ich habe zu dem Thema ein YouTube Video erstellt. In diesem Artikel verlinke ich die wichtigsten Quellen und Dokumentationsartikel. Außerdem habe ich einen Entscheidungsbaum für das Finden der richtigen Azure AD Connect Architektur erstellt. Azure AD Connect Entscheidungsbaum Kostenloser Download (.pdf, .png, .drawio) Weiterführende Links Unterstützte und nicht unterstützte Azure AD Connect Topologien: Topologies for Azure AD Connect (docs.microsoft.com) Hardware Anforderungen für Azure AD Connect Server: Prerequisites for Azure AD Connect - Hardware requirements for Azure AD Connect (docs....

      2020-06-05 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/index.html b/de/tags/index.html index e046a39e..036a6e1e 100644 --- a/de/tags/index.html +++ b/de/tags/index.html @@ -1,7 +1,7 @@ Tags | diecknet -
      \ No newline at end of file diff --git a/de/tags/ios/index.html b/de/tags/ios/index.html index 58254fac..664d9c3f 100644 --- a/de/tags/ios/index.html +++ b/de/tags/ios/index.html @@ -1,5 +1,5 @@ Ios | diecknet -

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: +

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: Administratorgenehmigung erforderlich Apple Internet Accounts Apple Internet Accounts benötigt, um auf Ressourcen in Ihrer Organisation zugreifen zu können, eine Berechtigung, die nur ein Administrator erteilen kann. Bitten Sie einen Administrator, die Berechtigung für diese App zu erteilen, damit Sie die App verwenden können. @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/iphone/index.html b/de/tags/iphone/index.html index 175257e1..bb4300c9 100644 --- a/de/tags/iphone/index.html +++ b/de/tags/iphone/index.html @@ -1,5 +1,5 @@ Iphone | diecknet -

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: +

      Exchange Online: Apple Internet Accounts - Administratorgenehmigung erforderlich

      Als sich der erste User mit seinem iPhone an Office 365 angemeldet hat, um seine Kontakte und Kalender zu synchronisieren, wurde ihm folgende Meldung angezeigt: Administratorgenehmigung erforderlich Apple Internet Accounts Apple Internet Accounts benötigt, um auf Ressourcen in Ihrer Organisation zugreifen zu können, eine Berechtigung, die nur ein Administrator erteilen kann. Bitten Sie einen Administrator, die Berechtigung für diese App zu erteilen, damit Sie die App verwenden können. @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/klammern/index.html b/de/tags/klammern/index.html index a1051596..34804857 100644 --- a/de/tags/klammern/index.html +++ b/de/tags/klammern/index.html @@ -1,9 +1,9 @@ Klammern | diecknet -

      Die unterschiedlichen Klammern in der PowerShell

      Wann ist welche Klammer die Richtige in der PowerShell? +

      Die unterschiedlichen Klammern in der PowerShell

      Wann ist welche Klammer die Richtige in der PowerShell? # Verschiedene Klammern in der PowerShell () {} [] Die Klammern haben unterschiedliche Einsatzzwecke. Die Größer-als < und Kleiner-als > Zeichen würde ich übrigens nicht zu den Klammern zählen. Für alle echten Klammern gilt: Wenn ihr eine Klammer geöffnet habt, müsst ihr sie auch wieder schließen. Runde Klammern ( ) Mit runden Klammern wird in der PowerShell ein Ausdruck bzw. ein Befehl umfasst, bzw....

      2023-11-28 · 9 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/language-mode/index.html b/de/tags/language-mode/index.html index cc660579..93e9ea2c 100644 --- a/de/tags/language-mode/index.html +++ b/de/tags/language-mode/index.html @@ -1,10 +1,10 @@ Language Mode | diecknet -

      PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

      PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System. +

      PowerShell ConstrainedLanguage Mode per Gruppenrichtlinie einstellen

      PowerShell Language Modes sind eine Möglichkeit die Funktionalität der PowerShell einzuschränken, um die Sicherheit eines Systems zu erhöhen. Das ist natürlich nur ein kleiner Baustein in einer größeren Sicherheitsstrategie, also das alleine ist noch kein ausreichender Schutz für ein System. Gleichzeitig ist das auch ein zweischneidiges Schwert: Vorteil: Wir entziehen potenziellen Angreifern ein mächtiges Werkzeug. Nachteil: Wir selbst als Administratoren können die PowerShell an einem System auch nicht mehr richtig nutzen....

      2023-05-20 · 6 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/licensing/index.html b/de/tags/licensing/index.html index 4430e78c..fd436f5d 100644 --- a/de/tags/licensing/index.html +++ b/de/tags/licensing/index.html @@ -1,8 +1,8 @@ Licensing | diecknet -

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: +

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: Power Apps per user Power Automate per user Power Automate RPA Power BI Pro Power BI Premium (standalone) Project Plan 1 Project Plan 3 Visio Plan 1 Visio Plan 2 Erklärungsvideo Ich habe den Lizenzkauf als Anwender ausprobiert und dokumentiert....

      2020-12-01 · 2 Minuten · Andreas Dieckmann

      Office 365 Trial Lizenzen

      Zum Ausprobieren von Office 365 bzw. Microsoft 365 können diverse kostenlose Trial-Lizenzen genutzt werden. Hierbei kann man sich einen kostenlosen Tenant erstellen, oder die Test-Lizenz in einem bestehenden Tenant aktivieren. In der Regel startet dann eine 30 Tage Testphase mit jeweils 25 Benutzerlizenzen. Die Testphase kann einmal kostenlos um weitere 30 Tage verlängert werden. Nach Ablauf der Testphase kann der Tenant gelöscht werden. Alternativ können passende Lizenzen gekauft werden, um die Dienste weiter zu nutzen....

      2020-06-10 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/measure/index.html b/de/tags/measure/index.html index 0eb91c8a..ea484f2c 100644 --- a/de/tags/measure/index.html +++ b/de/tags/measure/index.html @@ -1,9 +1,9 @@ Measure | diecknet -

      Die Ausführungsdauer von PowerShell Code messen

      Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert. +

      Die Ausführungsdauer von PowerShell Code messen

      Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Möglichkeit 1: Measure-Command Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts....

      2024-03-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/microsoft-entra/index.html b/de/tags/microsoft-entra/index.html index f9c5f79d..c90e0bf7 100644 --- a/de/tags/microsoft-entra/index.html +++ b/de/tags/microsoft-entra/index.html @@ -1,8 +1,8 @@ Microsoft Entra | diecknet -

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. +

      Entra Connect: Soft Match und Hard Match

      In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin....

      2024-12-16 · 14 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/microsoft-teams/index.html b/de/tags/microsoft-teams/index.html index 60a230e2..90b50588 100644 --- a/de/tags/microsoft-teams/index.html +++ b/de/tags/microsoft-teams/index.html @@ -1,5 +1,5 @@ Microsoft Teams | diecknet -

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. +

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. Die Einwahlrufnummer in der Meeting-Einladung basiert auf dem UsageLocation Attribut des Benutzers - einmalig wenn der Benutzer für Audiokonferenz aktiviert wird. Also selbst wenn ihr eine falsche UsageLocation korrigiert, hat der Benutzer noch eine alte Einwahlrufnummer zugewiesen. Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts....

      2021-10-05 · 2 Minuten · Andreas Dieckmann

      Wie lange werden gelöschte Teams Kanäle aufbewahrt?

      Falls ihr euch fragt “Wie lange wird ein gelöschter Teams Kanal aufbewahrt?” oder “Für wie lange kann ich einen gelöschten Teams Kanal wiederherstellen?”, findet ihr die Antwort relativ schnell. Aber meistens fehlt der Verweis auf die original Quelle in der Microsoft Dokumentation. Antwort Gelöschte Teams Kanäle werden für 30 Tage aufbewahrt. @@ -8,5 +8,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/microsoft365/index.html b/de/tags/microsoft365/index.html index ce26300a..004aaaf8 100644 --- a/de/tags/microsoft365/index.html +++ b/de/tags/microsoft365/index.html @@ -1,5 +1,5 @@ Microsoft365 | diecknet -

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). +

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

      2023-01-09 · 4 Minuten · Andreas Dieckmann

      Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

      Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun. Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter....

      2022-06-13 · 2 Minuten · Andreas Dieckmann

      Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

      Nachdem Microsoft virtuelle Hintergründe für MS Teams Besprechungen eingeführt hat, habe ich einige interessante Hintergrundbilder in Meetings gesehen. Trotzdem ist es meiner Meinung nach nicht notwendig, die freie Auswahl von Hintergründen zu verbieten. Da dies jedoch von Unternehmen zu Unternehmen unterschiedlich gehandhabt wird, beschreibe ich hier die Konfigurationsmöglichkeiten. Zur Einschränkung der Hintergrundauswahl kann eine Besprechungsrichtline verwendet werden. Möglichkeiten zur Konfiguration Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center....

      2021-02-25 · 2 Minuten · Andreas Dieckmann

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: @@ -14,5 +14,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/microsoftteams/index.html b/de/tags/microsoftteams/index.html index 227d30e9..95c59c04 100644 --- a/de/tags/microsoftteams/index.html +++ b/de/tags/microsoftteams/index.html @@ -1,9 +1,9 @@ Microsoftteams | diecknet -

      Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

      Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun. +

      Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

      Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun. Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter....

      2022-06-13 · 2 Minuten · Andreas Dieckmann

      Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

      Nachdem Microsoft virtuelle Hintergründe für MS Teams Besprechungen eingeführt hat, habe ich einige interessante Hintergrundbilder in Meetings gesehen. Trotzdem ist es meiner Meinung nach nicht notwendig, die freie Auswahl von Hintergründen zu verbieten. Da dies jedoch von Unternehmen zu Unternehmen unterschiedlich gehandhabt wird, beschreibe ich hier die Konfigurationsmöglichkeiten. Zur Einschränkung der Hintergrundauswahl kann eine Besprechungsrichtline verwendet werden. Möglichkeiten zur Konfiguration Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center....

      2021-02-25 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/ntfs/index.html b/de/tags/ntfs/index.html index 9e97c359..72c52b6a 100644 --- a/de/tags/ntfs/index.html +++ b/de/tags/ntfs/index.html @@ -1,5 +1,5 @@ Ntfs | diecknet -

      PowerShell NTFS Alternate Data Streams

      Das Dateisystem NTFS wird standardmäßig unter Windows verwendet. Und normalerweise hat eine Datei nur einen dazugehörigen normalen Datenstrom (Data Stream) mit dem Namen :$DATA. Aber es gibt auch die sogenannten “Alternate Data Streams” (ADS), die zusätzliche Daten enthalten können. +

      PowerShell NTFS Alternate Data Streams

      Das Dateisystem NTFS wird standardmäßig unter Windows verwendet. Und normalerweise hat eine Datei nur einen dazugehörigen normalen Datenstrom (Data Stream) mit dem Namen :$DATA. Aber es gibt auch die sogenannten “Alternate Data Streams” (ADS), die zusätzliche Daten enthalten können. Diese ADS werden teilweise vom System verwendet, könnten aber auch von Angreifern verwendet werden, um Daten zu verstecken. Ich habe zu dem Thema auch ein YouTube Video erstellt. NTFS Alternate Data Stream auslesen Aus dem Internet heruntergeladene Dateien erhalten bei vielen Browsern unter Windows ein “Mark of the web” (MOTW) im Zone....

      2024-08-30 · 3 Minuten · Andreas Dieckmann

      Dateidatum per PowerShell setzen

      Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1. @@ -9,5 +9,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/oauth/index.html b/de/tags/oauth/index.html index 21556bdc..1bbdae27 100644 --- a/de/tags/oauth/index.html +++ b/de/tags/oauth/index.html @@ -1,9 +1,9 @@ Oauth | diecknet -

      Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

      Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt: +

      Exchange Hybrid: HCW8064 OAuth konnte nicht eingerichtet werden

      Zum Abschluss des Hybrid Configuration Wizard (HCW) wurde mir folgende Warnungs-Meldung angezeigt: HCW8064 - Der Assistent für Hybridkonfiguration wurde abgeschlossen, er konnte den OAuth-Anteil der Hybridkonfiguration aber nicht ausführen. Wenn Sie Features benötigen, die OAuth voraussetzen, können Sie versuchen den Assistenten für Hybridkonfiguration erneut auszuführen oder OAuth mithilfe dieser manuellen Schritte manuell konfigurieren. Der Link “Weitere Informationen” verweist auf https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. Wenn man schaut, wofür OAuth verwendet, wird dieser Artikel referenziert. Dort ist zu lesen, OAuth für Cross-Premises eDiscovery Suchen benötigt wird....

      2020-05-01 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/office365/index.html b/de/tags/office365/index.html index 9894a050..fafdfbde 100644 --- a/de/tags/office365/index.html +++ b/de/tags/office365/index.html @@ -1,5 +1,5 @@ Office365 | diecknet -

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). +

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

      2023-01-09 · 4 Minuten · Andreas Dieckmann

      Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

      Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun. Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter....

      2022-06-13 · 2 Minuten · Andreas Dieckmann

      Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

      Nachdem Microsoft virtuelle Hintergründe für MS Teams Besprechungen eingeführt hat, habe ich einige interessante Hintergrundbilder in Meetings gesehen. Trotzdem ist es meiner Meinung nach nicht notwendig, die freie Auswahl von Hintergründen zu verbieten. Da dies jedoch von Unternehmen zu Unternehmen unterschiedlich gehandhabt wird, beschreibe ich hier die Konfigurationsmöglichkeiten. Zur Einschränkung der Hintergrundauswahl kann eine Besprechungsrichtline verwendet werden. Möglichkeiten zur Konfiguration Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center....

      2021-02-25 · 2 Minuten · Andreas Dieckmann

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: @@ -21,5 +21,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/optimization/index.html b/de/tags/optimization/index.html index 3564718f..30fd4e35 100644 --- a/de/tags/optimization/index.html +++ b/de/tags/optimization/index.html @@ -1,9 +1,9 @@ Optimization | diecknet -

      Die Ausführungsdauer von PowerShell Code messen

      Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert. +

      Die Ausführungsdauer von PowerShell Code messen

      Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Möglichkeit 1: Measure-Command Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts....

      2024-03-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/powershell/index.html b/de/tags/powershell/index.html index 14efc03b..8ee2fcaf 100644 --- a/de/tags/powershell/index.html +++ b/de/tags/powershell/index.html @@ -1,5 +1,5 @@ Powershell | diecknet -

      PowerShell: Schleifen gezielt abbrechen/überspringen

      Normalerweise wird eine Schleife in PowerShell solange ausgeführt, wie es durch den außen stehenden Bedingungsblock definiert ist. Die folgende while-Schleife wird zum Beispiel so lange ausgeführt, wie die Variable namens $Variable kleiner oder gleich 10 ist. +

      PowerShell: Schleifen gezielt abbrechen/überspringen

      Normalerweise wird eine Schleife in PowerShell solange ausgeführt, wie es durch den außen stehenden Bedingungsblock definiert ist. Die folgende while-Schleife wird zum Beispiel so lange ausgeführt, wie die Variable namens $Variable kleiner oder gleich 10 ist. 1 2 3 while($Variable -le 10) { # irgendwas } Es ist aber auch möglich gezielt eine komplette Schleife vorzeitig abzubrechen oder einen einzelnen Schleifendurchgang abzubrechen. Und zwar auch, wenn ihr mehrere Schleifen ineinander verschachtelt habt....

      2024-11-02 · 5 Minuten · Andreas Dieckmann

      WMI in PowerShell verwenden

      WMI ist eine mächtige Schnittstelle um Windows Systeme zu verwalten. Dadurch ist der Zugriff auf Dinge möglich, für die es vielleicht sonst gar keine eigenen PowerShell Cmdlets gibt. Teilweise können wir so mehr Infos abrufen, als die Standard-Cmdlets liefern. Das geht sowohl lokal, als auch remote. Deprecated: Die alten WMI Cmdlets Es gibt ein paar ältere Cmdlets, die allerdings für Neuentwicklungen nicht empfohlen werden. Aber vielleicht stoßt ihr in älteren Skripten mal darüber, also jetzt habt ihr schon mal davon gehört - die existieren zumindest....

      2024-09-20 · 12 Minuten · Andreas Dieckmann

      Das Problem mit Array += in PowerShell

      Die PowerShell macht es leider recht einfach ineffizienten Code zu schreiben. Viele Leute benutzen zum Beispiel die += Schreibweise um ein Array zu befüllen. Nicht empfehlenswert! 1 2 3 4 5 # So bitte nicht machen! $Array = @() for ($i = 0; $i -lt 10000; $i++) { $Array += $i } Mit Measure-Command können wir messen, wie lange die Ausführung eines Skriptblocks dauert. Bei mir hat die Ausführung des obigen Codes in einer Test-VM über 2 Sekunden benötigt....

      2024-09-12 · 3 Minuten · Andreas Dieckmann

      PowerShell NTFS Alternate Data Streams

      Das Dateisystem NTFS wird standardmäßig unter Windows verwendet. Und normalerweise hat eine Datei nur einen dazugehörigen normalen Datenstrom (Data Stream) mit dem Namen :$DATA. Aber es gibt auch die sogenannten “Alternate Data Streams” (ADS), die zusätzliche Daten enthalten können. @@ -17,5 +17,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/powershell/page/2/index.html b/de/tags/powershell/page/2/index.html index 68b249b7..330548b3 100644 --- a/de/tags/powershell/page/2/index.html +++ b/de/tags/powershell/page/2/index.html @@ -1,5 +1,5 @@ Powershell | diecknet -

      PowerShell Ausgabe unterdrücken

      Manchmal geben PowerShell Befehle eine Rückmeldung aus, obwohl uns das gar nicht interessiert. Es gibt verschiedene Szenarien, wie ihr die Ausgaben unterdrücken könnt. +

      PowerShell Ausgabe unterdrücken

      Manchmal geben PowerShell Befehle eine Rückmeldung aus, obwohl uns das gar nicht interessiert. Es gibt verschiedene Szenarien, wie ihr die Ausgaben unterdrücken könnt. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Ich verwende hier zum Beispiel das Cmdlet New-NetFirewallRule mit dem ich eine neue Regel in der Windows Firewall hinzufügen kann: 1 New-NetFirewallRule -DisplayName "Ausgehende Verbindungen zu Port 443 blockieren" -Direction Outbound -RemotePort 443 -Protocol TCP -Action Block Wenn ich das ausführe, dann kriege ich als Rückgabe ein Objekt, welches die Firewall Regel repräsentiert....

      2024-04-09 · 4 Minuten · Andreas Dieckmann

      PowerShell Dot Sourcing

      Mit PowerShell Dot Sourcing könnt ihr eine Skriptdatei in eure PowerShell Session importieren. Das Skript wird erstmal normal ausgeführt, aber gesetzte Variablen, erstellte Funktionen und so weiter sind dann in der Session verfügbar. Bei einem normalen Skript-Aufruf ist das sonst nicht der Fall. Mich erinnert das immer an den PHP-Befehl include, weil ich in meiner Jugend mit PHP rumgedaddelt habe 😅 @@ -26,5 +26,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/powershell/page/3/index.html b/de/tags/powershell/page/3/index.html index 7219ff43..2d09c8ab 100644 --- a/de/tags/powershell/page/3/index.html +++ b/de/tags/powershell/page/3/index.html @@ -1,5 +1,5 @@ Powershell | diecknet -

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). +

      Exchange Online per Azure Automation steuern im Jahr 2024

      Wenn ihr Exchange Online per Azure Automation steuern wollt, dann ist Managed Identities was ihr benutzen solltet (diese Aussage wurde zuletzt geprüft im Juni 2024). Legacy Ansatz Früher wurden dafür auch gerne RunAs Accounts oder Plaintext Credentials (🤢) verwendet, aber das gilt mittlerweile als veraltet. RunAs Accounts sind zum Herbst 2023 abgekündigt und zu Klartext-Kennwörtern muss ich nix sagen, oder? Eventuell bieten sich noch App Registrierungen in Entra ID an, aber wenn ihr wirklich einfach nur per Azure Automation ein paar Exchange Online Einstellungen automatisieren wollt, ist das eigentlich nicht notwendig....

      2023-01-09 · 4 Minuten · Andreas Dieckmann

      Microsoft Teams PowerShell: Authentifizierungsfehler/ActiveX-Steuerelement kann nicht instanziiert werden

      Ich habe heute einen merkwürdigen Fehler beim Verbinden mit der Teams PowerShell erhalten. Ich notiere das hier kurz, da ich nach 15 Sekunden Internetrecherche keine Lösung dazu gefunden habe 😇. Alles was ich dazu spontan gefunden hatte, hatte nichts mit Teams zu tun. Ich wollte mich einfach nur per Connect-MicrosoftTeams mit der Microsoft Teams Administration per PowerShell verbinden. Ohne Angabe irgendwelcher weiteren Parameter, einfach ganz normal mit einem personalisierten Adminkonto anmelden und dann MFA bestätigen und so weiter....

      2022-06-13 · 2 Minuten · Andreas Dieckmann

      Microsoft Teams: Benutzerdefinierte Hintergründe deaktivieren

      Nachdem Microsoft virtuelle Hintergründe für MS Teams Besprechungen eingeführt hat, habe ich einige interessante Hintergrundbilder in Meetings gesehen. Trotzdem ist es meiner Meinung nach nicht notwendig, die freie Auswahl von Hintergründen zu verbieten. Da dies jedoch von Unternehmen zu Unternehmen unterschiedlich gehandhabt wird, beschreibe ich hier die Konfigurationsmöglichkeiten. Zur Einschränkung der Hintergrundauswahl kann eine Besprechungsrichtline verwendet werden. Möglichkeiten zur Konfiguration Die Option “VideoFiltersMode” kann zur Zeit nur per PowerShell gesetzt werden - nicht per Teams Admin Center....

      2021-02-25 · 2 Minuten · Andreas Dieckmann

      Dateidatum per PowerShell setzen

      Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1. @@ -11,5 +11,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/powershellsnips/index.html b/de/tags/powershellsnips/index.html index 69c4c468..c514c4bd 100644 --- a/de/tags/powershellsnips/index.html +++ b/de/tags/powershellsnips/index.html @@ -1,10 +1,10 @@ Powershellsnips | diecknet -

      Dateidatum per PowerShell setzen

      Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1. +

      Dateidatum per PowerShell setzen

      Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1. Per Get-Member kann man sich die Zeit-Attribute einer Datei anzeigen lassen. 1 Get-Item beispiel.txt | Get-Member *time* Interessant sind hier die Attribute: CreationTime (Wann die Datei erstellt wurde) LastAccessTime (Wann das letzte Mal auf die Datei zugegriffen wurde) LastWriteTime (Wann die Datei zuletzt geändert wurde) Wie hinten am {get;set;} zu erkennen ist, kann man die Attribute auch nicht nur auslesen, sondern auch setzen....

      2020-09-08 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/profiles/index.html b/de/tags/profiles/index.html index e3e663a2..146ada08 100644 --- a/de/tags/profiles/index.html +++ b/de/tags/profiles/index.html @@ -1,5 +1,5 @@ Profiles | diecknet -

      PowerShell Profile erklärt (mit Beispielen)

      Mit PowerShell Profilen könnt ihr eure PowerShell anpassen. Also zum Beispiel, dass sie so aussieht: +

      PowerShell Profile erklärt (mit Beispielen)

      Mit PowerShell Profilen könnt ihr eure PowerShell anpassen. Also zum Beispiel, dass sie so aussieht: Oder ihr könnt einstellen, dass beim Start so ein Splash-Screen angezeigt (winfetch) wird: Oder ihr könnt auch eigene Funktionen und Variablen hinterlegen, sodass diese immer sofort verfügbar sind, wenn ihr die PowerShell startet. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. @@ -7,5 +7,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/regex/index.html b/de/tags/regex/index.html index d7fb42fe..e07c0f5a 100644 --- a/de/tags/regex/index.html +++ b/de/tags/regex/index.html @@ -1,8 +1,8 @@ Regex | diecknet -

      Regular Expressions in PowerShell

      Regular Expressions sind Muster mit denen Texte verglichen werden können oder auch Infos aus Texten extrahiert werden können. Zum Beispiel könnt ihr damit überprüfen, ob eine Logdatei von einem Programm die Zeichenfolge “Error” enthält (also um zu prüfen, ob ein Fehler aufgetreten ist). Oder um einfach nur zu schauen, ob eine Zeichenkette einem bestimmten Muster entspricht, zum Beispiel einer E-Mail Adresse. +

      Regular Expressions in PowerShell

      Regular Expressions sind Muster mit denen Texte verglichen werden können oder auch Infos aus Texten extrahiert werden können. Zum Beispiel könnt ihr damit überprüfen, ob eine Logdatei von einem Programm die Zeichenfolge “Error” enthält (also um zu prüfen, ob ein Fehler aufgetreten ist). Oder um einfach nur zu schauen, ob eine Zeichenkette einem bestimmten Muster entspricht, zum Beispiel einer E-Mail Adresse. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt....

      2024-03-19 · 18 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/regular-expressions/index.html b/de/tags/regular-expressions/index.html index 91b29ab1..c07b6cb0 100644 --- a/de/tags/regular-expressions/index.html +++ b/de/tags/regular-expressions/index.html @@ -1,8 +1,8 @@ Regular Expressions | diecknet -

      Regular Expressions in PowerShell

      Regular Expressions sind Muster mit denen Texte verglichen werden können oder auch Infos aus Texten extrahiert werden können. Zum Beispiel könnt ihr damit überprüfen, ob eine Logdatei von einem Programm die Zeichenfolge “Error” enthält (also um zu prüfen, ob ein Fehler aufgetreten ist). Oder um einfach nur zu schauen, ob eine Zeichenkette einem bestimmten Muster entspricht, zum Beispiel einer E-Mail Adresse. +

      Regular Expressions in PowerShell

      Regular Expressions sind Muster mit denen Texte verglichen werden können oder auch Infos aus Texten extrahiert werden können. Zum Beispiel könnt ihr damit überprüfen, ob eine Logdatei von einem Programm die Zeichenfolge “Error” enthält (also um zu prüfen, ob ein Fehler aufgetreten ist). Oder um einfach nur zu schauen, ob eine Zeichenkette einem bestimmten Muster entspricht, zum Beispiel einer E-Mail Adresse. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt....

      2024-03-19 · 18 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/security-identifiers/index.html b/de/tags/security-identifiers/index.html index a40c685a..8720c665 100644 --- a/de/tags/security-identifiers/index.html +++ b/de/tags/security-identifiers/index.html @@ -1,9 +1,9 @@ Security Identifiers | diecknet -

      PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

      Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. +

      PowerShell: Überprüfen ob Admin-Rechte vorhanden sind

      Wenn ihr ein PowerShell Skript erstellt habt, was Aktionen ausführen soll, die Adminrechte erfordern, dann könnt ihr das auch per Code überprüfen. Damit könnt ihr sicherstellen, dass euer Skript erfolgreich ausgeführt werden kann. Am einfachsten geht das mit einer Requires-Anweisung. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Admin-Rechte per Requires Anweisung erfordern 1 #Requires -RunAsAdministrator Diese Zeile kann an eine beliebigen Stelle im PowerShell Code eingefügt werden....

      2024-02-20 · 4 Minuten · Andreas Dieckmann

      PowerShell: Übersetzte Security Identifier Namen herausfinden

      Security Identifiers sind dazu da, um bestimmte Security Prinzipale oder Gruppen unter Windows zu identifizieren. Leider sind die dazugehörigen Namen lokalisiert, also sind zum Beispiel in einem deutschsprachigen System anders als in einem englischsprachigen System. Beispielsweise heißt die eingebaute Administratorgruppe auf Englisch BUILTIN\ADMINISTRATORS und auf Deutsch VORDEFINIERT\Administratoren. Oder das Englische NT AUTHORITY\SYSTEM wird an einem Deutschen System zu NT-AUTORITÄT\SYSTEM. Das finde ich richtig abgefahren! Da wird auf einmal ein Leerzeichen durch ein Bindestrich ersetzt....

      2024-01-17 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/selfservice/index.html b/de/tags/selfservice/index.html index eb0f048b..eeb025a5 100644 --- a/de/tags/selfservice/index.html +++ b/de/tags/selfservice/index.html @@ -1,8 +1,8 @@ Selfservice | diecknet -

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: +

      Microsoft 365 Self Service Purchase Lizenzen

      Seit ca. Ende des Jahres 2019 hat Microsoft die Self Service Purchase Lizenzen für Microsoft 365 eingeführt. Durch diese neue Funktion können Endanwender in einem Office 365 Tenant selbstständig Lizenzen für einige Produkte kaufen. Mit dem Stand 2020-12-01 sind dies folgende Produkte: Power Apps per user Power Automate per user Power Automate RPA Power BI Pro Power BI Premium (standalone) Project Plan 1 Project Plan 3 Visio Plan 1 Visio Plan 2 Erklärungsvideo Ich habe den Lizenzkauf als Anwender ausprobiert und dokumentiert....

      2020-12-01 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/shared-mailbox/index.html b/de/tags/shared-mailbox/index.html index 242b1616..79689ac6 100644 --- a/de/tags/shared-mailbox/index.html +++ b/de/tags/shared-mailbox/index.html @@ -1,10 +1,10 @@ Shared Mailbox | diecknet -

      Outlook Cache Modus für Freigegebene Postfächer

      In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt: +

      Outlook Cache Modus für Freigegebene Postfächer

      In neueren Microsoft Outlook Versionen es ist nicht mehr möglich, im Cache Modus für freigegebene Postfächer weitere E-Mails abzurufen. Stattdessen wird am Ende der E-Mail-Liste folgender Hinweis angezeigt: Es sind weitere Elemente in diesem Ordner auf dem Server vorhanden. Verbindung mit dem Server herstellen, um diese anzuzeigen In persönlichen Postfächern wird stattdessen die Möglichkeit geboten, weitere Elemente vom Server abzurufen. Der Text dazu wurde stümperhaft automatisch übersetzt, was sich gut ins Gesamtbild fügt:...

      2021-11-19 · 3 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/teams-audio-conferencing/index.html b/de/tags/teams-audio-conferencing/index.html index 95398134..02b1b81e 100644 --- a/de/tags/teams-audio-conferencing/index.html +++ b/de/tags/teams-audio-conferencing/index.html @@ -1,9 +1,9 @@ Teams Audio Conferencing | diecknet -

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. +

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. Die Einwahlrufnummer in der Meeting-Einladung basiert auf dem UsageLocation Attribut des Benutzers - einmalig wenn der Benutzer für Audiokonferenz aktiviert wird. Also selbst wenn ihr eine falsche UsageLocation korrigiert, hat der Benutzer noch eine alte Einwahlrufnummer zugewiesen. Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts....

      2021-10-05 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/teams-channel-retention/index.html b/de/tags/teams-channel-retention/index.html index f626dfaa..e5eb6bad 100644 --- a/de/tags/teams-channel-retention/index.html +++ b/de/tags/teams-channel-retention/index.html @@ -1,10 +1,10 @@ Teams Channel Retention | diecknet -

      Wie lange werden gelöschte Teams Kanäle aufbewahrt?

      Falls ihr euch fragt “Wie lange wird ein gelöschter Teams Kanal aufbewahrt?” oder “Für wie lange kann ich einen gelöschten Teams Kanal wiederherstellen?”, findet ihr die Antwort relativ schnell. Aber meistens fehlt der Verweis auf die original Quelle in der Microsoft Dokumentation. +

      Wie lange werden gelöschte Teams Kanäle aufbewahrt?

      Falls ihr euch fragt “Wie lange wird ein gelöschter Teams Kanal aufbewahrt?” oder “Für wie lange kann ich einen gelöschten Teams Kanal wiederherstellen?”, findet ihr die Antwort relativ schnell. Aber meistens fehlt der Verweis auf die original Quelle in der Microsoft Dokumentation. Antwort Gelöschte Teams Kanäle werden für 30 Tage aufbewahrt. Offizielle Quelle Im englischsprachigen Original https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels wird unterhalb der Tabelle Teams and channels in Fußnote 4 festgehalten: Deleted channels can be restored within 30 days....

      2021-06-29 · 1 Minute · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/teams-dial-in-number/index.html b/de/tags/teams-dial-in-number/index.html index 2b7171da..b1714589 100644 --- a/de/tags/teams-dial-in-number/index.html +++ b/de/tags/teams-dial-in-number/index.html @@ -1,9 +1,9 @@ Teams Dial in Number | diecknet -

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. +

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. Die Einwahlrufnummer in der Meeting-Einladung basiert auf dem UsageLocation Attribut des Benutzers - einmalig wenn der Benutzer für Audiokonferenz aktiviert wird. Also selbst wenn ihr eine falsche UsageLocation korrigiert, hat der Benutzer noch eine alte Einwahlrufnummer zugewiesen. Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts....

      2021-10-05 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/teams/index.html b/de/tags/teams/index.html index 154c1f2b..1d8ca8de 100644 --- a/de/tags/teams/index.html +++ b/de/tags/teams/index.html @@ -1,5 +1,5 @@ Teams | diecknet -

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. +

      Einwahlrufnummer für Teams Meetings per PowerShell setzen

      Mit Microsoft Teams Audio Conferencing (Microsoft 365-Audiokonferenz) Lizenzen ist es möglich, Einwahlrufnummern für Teams Besprechungen zu verwenden. Die Lizenz wird für jeden Benutzer benötigt, der zu Teams Meetings mit Einwahlrufnummer einladen soll. Die Einwahlrufnummer in der Meeting-Einladung basiert auf dem UsageLocation Attribut des Benutzers - einmalig wenn der Benutzer für Audiokonferenz aktiviert wird. Also selbst wenn ihr eine falsche UsageLocation korrigiert, hat der Benutzer noch eine alte Einwahlrufnummer zugewiesen. Teams Admin Center verwenden um die Einwahlrufnummer für einzelne Benutzer zu ändern Users ➔ Manage Users ➔ Auf einen Benutzer klicken ➔ Auf “Edit” klicken (neben “Audio Conferencing”) ➔ Auswählen der “Toll number” entsprechend des Benutzerstandorts....

      2021-10-05 · 2 Minuten · Andreas Dieckmann

      Wie lange werden gelöschte Teams Kanäle aufbewahrt?

      Falls ihr euch fragt “Wie lange wird ein gelöschter Teams Kanal aufbewahrt?” oder “Für wie lange kann ich einen gelöschten Teams Kanal wiederherstellen?”, findet ihr die Antwort relativ schnell. Aber meistens fehlt der Verweis auf die original Quelle in der Microsoft Dokumentation. Antwort Gelöschte Teams Kanäle werden für 30 Tage aufbewahrt. @@ -8,5 +8,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/timespan/index.html b/de/tags/timespan/index.html index 72a991f0..dcd52188 100644 --- a/de/tags/timespan/index.html +++ b/de/tags/timespan/index.html @@ -1,9 +1,9 @@ Timespan | diecknet -

      Die Ausführungsdauer von PowerShell Code messen

      Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert. +

      Die Ausführungsdauer von PowerShell Code messen

      Wenn ihr euren PowerShell Code auf Geschwindigkeit optimieren wollt, dann macht es Sinn Zeiten zu messen. Es gibt mehrere Möglichkeiten um zu messen, wie lange die Ausführung von einem Stück PowerShell Code dauert. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Möglichkeit 1: Measure-Command Eine einfache Möglichkeit ist das Cmdlet Measure-Command. Es nimmt einen ScriptBlock entgegen, der dann auch ausgeführt wird. Und wir erhalten im Anschluss ein Messergebnis in Form eines TimeSpan Objekts....

      2024-03-12 · 4 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/de/tags/trial/index.html b/de/tags/trial/index.html index e092f05b..6f84cf2c 100644 --- a/de/tags/trial/index.html +++ b/de/tags/trial/index.html @@ -1,7 +1,7 @@ Trial | diecknet -

      Office 365 Trial Lizenzen

      Zum Ausprobieren von Office 365 bzw. Microsoft 365 können diverse kostenlose Trial-Lizenzen genutzt werden. Hierbei kann man sich einen kostenlosen Tenant erstellen, oder die Test-Lizenz in einem bestehenden Tenant aktivieren. In der Regel startet dann eine 30 Tage Testphase mit jeweils 25 Benutzerlizenzen. Die Testphase kann einmal kostenlos um weitere 30 Tage verlängert werden. Nach Ablauf der Testphase kann der Tenant gelöscht werden. Alternativ können passende Lizenzen gekauft werden, um die Dienste weiter zu nutzen....

      2020-06-10 · 2 Minuten · Andreas Dieckmann
      © 2024 diecknet +

      Office 365 Trial Lizenzen

      Zum Ausprobieren von Office 365 bzw. Microsoft 365 können diverse kostenlose Trial-Lizenzen genutzt werden. Hierbei kann man sich einen kostenlosen Tenant erstellen, oder die Test-Lizenz in einem bestehenden Tenant aktivieren. In der Regel startet dann eine 30 Tage Testphase mit jeweils 25 Benutzerlizenzen. Die Testphase kann einmal kostenlos um weitere 30 Tage verlängert werden. Nach Ablauf der Testphase kann der Tenant gelöscht werden. Alternativ können passende Lizenzen gekauft werden, um die Dienste weiter zu nutzen....

      2020-06-10 · 2 Minuten · Andreas Dieckmann
      +Datenschutz
      \ No newline at end of file diff --git a/de/tags/why/index.html b/de/tags/why/index.html index 9523a1ff..367b2abd 100644 --- a/de/tags/why/index.html +++ b/de/tags/why/index.html @@ -1,5 +1,5 @@ Why | diecknet -

      Ein neuer Blog

      Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe: +

      Ein neuer Blog

      Ungefähr so ist die Unterhaltung abgelaufen, als ich der ersten Person von meinem Blog-Vorhaben erzählt habe: B: Dein Handy klingelt… A: Oh, was? tippt auf das Handy … B: 2001 hat angerufen und will seinen Blog zurück! @@ -9,5 +9,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/windows/index.html b/de/tags/windows/index.html index 9be7b645..27d8acb2 100644 --- a/de/tags/windows/index.html +++ b/de/tags/windows/index.html @@ -1,5 +1,5 @@ Windows | diecknet -

      PowerShell: Zugriff auf Umgebungsvariablen

      Per PowerShell auf Umgebungsvariablen zugreifen - das geht ganz einfach. +

      PowerShell: Zugriff auf Umgebungsvariablen

      Per PowerShell auf Umgebungsvariablen zugreifen - das geht ganz einfach. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Umgebungsvariable per $Env:-Variable auslesen Die einfachste Möglichkeit ist per $Env:-Variable. Gebt dafür einfach $Env ein, dann einen Doppelpunkt und dann den Namen der Umgebungsvariable von der ihr den Wert auslesen wollt. 1 $Env:username Dadurch wird der Username des aktuell angemeldeten Users ausgegeben. @@ -9,5 +9,5 @@  |  Impressum  |  -Datenschutz +Datenschutz

      \ No newline at end of file diff --git a/de/tags/windowsserver/index.html b/de/tags/windowsserver/index.html index effdc59a..121e7134 100644 --- a/de/tags/windowsserver/index.html +++ b/de/tags/windowsserver/index.html @@ -1,10 +1,10 @@ Windowsserver | diecknet -

      Dateidatum per PowerShell setzen

      Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1. +

      Dateidatum per PowerShell setzen

      Das Datum einer Datei kann beliebig per PowerShell gesetzt beziehungsweise manipuliert werden. Im Screenshot sind beispielhaft ein paar beliebig gesetzte Werte zu sehen. Die Vorgehensweise ist getestet mit Windows PowerShell 5.1. Per Get-Member kann man sich die Zeit-Attribute einer Datei anzeigen lassen. 1 Get-Item beispiel.txt | Get-Member *time* Interessant sind hier die Attribute: CreationTime (Wann die Datei erstellt wurde) LastAccessTime (Wann das letzte Mal auf die Datei zugegriffen wurde) LastWriteTime (Wann die Datei zuletzt geändert wurde) Wie hinten am {get;set;} zu erkennen ist, kann man die Attribute auch nicht nur auslesen, sondern auch setzen....

      2020-09-08 · 2 Minuten · Andreas Dieckmann
      +Datenschutz \ No newline at end of file diff --git a/en/2019/10/21/new-blog/index.html b/en/2019/10/21/new-blog/index.html index 05127197..37be7a98 100644 --- a/en/2019/10/21/new-blog/index.html +++ b/en/2019/10/21/new-blog/index.html @@ -17,9 +17,9 @@ B: 2001 called and wants his blog back! A: … Well… -The WHY Not only since I’ve been working professionally in the IT world, I know that the solution to many IT problems is often only a Google search away.">

      A new blog

      Table of Contents

      That’s about how the conversation went when I told the first person about my blog plans.

      B: Your cell phone is ringing…
      A: Oh, what? taps on the cell phone
      B: 2001 called and wants his blog back!
      A: …

      Well…

      The WHY

      Not only since I’ve been working professionally in the IT world, I know that the solution to many IT problems is often only a Google search away. In complicated cases, however, you sometimes have to research longer… Over the years I’ve always found interesting perspectives and solutions on the net that have helped me to get progress. With this blog I would like to give something back. I want to share solutions and ideas to help others. So this website is not commercial, and does not serve self-promotion or the like.

      Of course I could just share the informations at Reddit, Stackoverflow or any other forums or websites instead. But I want to run this independent from any platform. If I’d decide at any point in the future, that I don’t want to continue to run this website, it will be still available at the Internet Archive.

      Topics

      Thematically it will probably be about Windows Server, Office 365, PowerShell, Azure, Exchange Server etc..

      Feedback

      I am looking forward to any feedback and suggestions for improvements to the website and its contents. But I haven’t set up a channel for that yet. A comment function for the blog is still in planning. The code of this website is available on Github.

      © 2024 diecknet +The WHY Not only since I’ve been working professionally in the IT world, I know that the solution to many IT problems is often only a Google search away.">

      A new blog

      Table of Contents

      That’s about how the conversation went when I told the first person about my blog plans.

      B: Your cell phone is ringing…
      A: Oh, what? taps on the cell phone
      B: 2001 called and wants his blog back!
      A: …

      Well…

      The WHY

      Not only since I’ve been working professionally in the IT world, I know that the solution to many IT problems is often only a Google search away. In complicated cases, however, you sometimes have to research longer… Over the years I’ve always found interesting perspectives and solutions on the net that have helped me to get progress. With this blog I would like to give something back. I want to share solutions and ideas to help others. So this website is not commercial, and does not serve self-promotion or the like.

      Of course I could just share the informations at Reddit, Stackoverflow or any other forums or websites instead. But I want to run this independent from any platform. If I’d decide at any point in the future, that I don’t want to continue to run this website, it will be still available at the Internet Archive.

      Topics

      Thematically it will probably be about Windows Server, Office 365, PowerShell, Azure, Exchange Server etc..

      Feedback

      I am looking forward to any feedback and suggestions for improvements to the website and its contents. But I haven’t set up a channel for that yet. A comment function for the blog is still in planning. The code of this website is available on Github.

      +Privacy
      \ No newline at end of file diff --git a/en/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html b/en/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html index 8d157132..ea577b95 100644 --- a/en/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html +++ b/en/2019/12/18/Outlook-Certificate-Warning-after-Office-365-Migration/index.html @@ -11,9 +11,9 @@ Security Alert: svr1.example.com The security certificate has expired or is not valid yet I recently received a request from a customer who still received certificate warnings (expired certificate) for the old Exchange Server after migrating to Office 365. Since I was not involved in the migration, I had to get an overview first: -The On-Premise Exchange Server 2010 was still online - of course, otherwise a certificate warning would hardly have appeared.">

      Outlook Certificate Warning after Office 365 Migration

      Outlook Certificate Warning after Office 365 Migration
      Security Alert: svr1.example.com
      The security certificate has expired or is not valid yet

      I recently received a request from a customer who still received certificate warnings (expired certificate) for the old Exchange Server after migrating to Office 365. Since I was not involved in the migration, I had to get an overview first:
      The On-Premise Exchange Server 2010 was still online - of course, otherwise a certificate warning would hardly have appeared. However, not all users received this message. This affected migrated users as well as users whose mailboxes were created directly in Office 365.

      Outlook Connection Status: Outlook is still using resources from the local exchange server svr1.example.com
      For an affected user, we have retrieved the “Connection status” via CTRL+right-click on the Outlook icon in the tray in the menu. It quickly became apparent that the user was actually still accessing resources from the local On-Premise Exchange system: an IT employee created new resource mailboxes on the Exchange Server and granted users access.
      As a workaround, the server’s certificate could be renewed. The actual solution, to migrate the resource mailbox to Office 365 as well, could not be implemented in a timely manner for organizational reasons.

      © 2024 diecknet +The On-Premise Exchange Server 2010 was still online - of course, otherwise a certificate warning would hardly have appeared.">

      Outlook Certificate Warning after Office 365 Migration

      Outlook Certificate Warning after Office 365 Migration
      Security Alert: svr1.example.com
      The security certificate has expired or is not valid yet

      I recently received a request from a customer who still received certificate warnings (expired certificate) for the old Exchange Server after migrating to Office 365. Since I was not involved in the migration, I had to get an overview first:
      The On-Premise Exchange Server 2010 was still online - of course, otherwise a certificate warning would hardly have appeared. However, not all users received this message. This affected migrated users as well as users whose mailboxes were created directly in Office 365.

      Outlook Connection Status: Outlook is still using resources from the local exchange server svr1.example.com
      For an affected user, we have retrieved the “Connection status” via CTRL+right-click on the Outlook icon in the tray in the menu. It quickly became apparent that the user was actually still accessing resources from the local On-Premise Exchange system: an IT employee created new resource mailboxes on the Exchange Server and granted users access.
      As a workaround, the server’s certificate could be renewed. The actual solution, to migrate the resource mailbox to Office 365 as well, could not be implemented in a timely manner for organizational reasons.

      +Privacy
      \ No newline at end of file diff --git a/en/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html b/en/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html index 21b5c93d..5f55ab63 100644 --- a/en/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html +++ b/en/2020/01/15/Exchange-Room-Mailbox-Standard-Permissions/index.html @@ -1,5 +1,5 @@ Exchange Room Mailbox - Set Permissions | diecknet -

      Exchange Room Mailbox - Set Permissions

      By default, the “Calendar” folder in Exchange 2013 Room Mailboxes has the “LimitedDetails” permission for the “Standard” security principal. Therefore, if no other permissions are configured, users cannot view details for appointments in this room. For better usability in Outlook, the “Reviewer” permission is more suitable. This allows items to be listed and details to be displayed. If required, the CalendarProcessing can be adjusted so that details such as the description and subject of the appointment are not saved in the room mailbox. Whether all this makes sense always depends on the environment.

      List the current permissions

      Use the following PowerShell code to list the current permissions of the “Calendar” (German: “Kalender”) folders of all room mailboxes. The code must be executed in the Exchange Management Shell.

      1
      +

      Exchange Room Mailbox - Set Permissions

      By default, the “Calendar” folder in Exchange 2013 Room Mailboxes has the “LimitedDetails” permission for the “Standard” security principal. Therefore, if no other permissions are configured, users cannot view details for appointments in this room. For better usability in Outlook, the “Reviewer” permission is more suitable. This allows items to be listed and details to be displayed. If required, the CalendarProcessing can be adjusted so that details such as the description and subject of the appointment are not saved in the room mailbox. Whether all this makes sense always depends on the environment.

      List the current permissions

      Use the following PowerShell code to list the current permissions of the “Calendar” (German: “Kalender”) folders of all room mailboxes. The code must be executed in the Exchange Management Shell.

      1
       2
       3
       4
      @@ -39,5 +39,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2020/01/25/Exchange-Mailbox-Creation-Date/index.html b/en/2020/01/25/Exchange-Mailbox-Creation-Date/index.html
      index b28b1e5b..dbaab2db 100644
      --- a/en/2020/01/25/Exchange-Mailbox-Creation-Date/index.html
      +++ b/en/2020/01/25/Exchange-Mailbox-Creation-Date/index.html
      @@ -2,7 +2,7 @@
       

      Exchange - When was that mailbox REALLY created?

      If you’re wondering when an Exchange mailbox got created, you will most likely stumble over the Active Directory user attribute MSExchWhenMailboxCreated. You can get the value using PowerShell or ADUC with advanced features enabled.

      1
      +1 Get-ADUser -Properties MSExchMaiboxWhenCreated MSExchWhenMailboxCreated contains not the full truth That could almost be the end of the story. BUT that attribute is not what you might think. The attribute gets only propagated the FIRST time the user gets a mailbox.">

      Exchange - When was that mailbox REALLY created?

      If you’re wondering when an Exchange mailbox got created, you will most likely stumble over the Active Directory user attribute MSExchWhenMailboxCreated. You can get the value using PowerShell or ADUC with advanced features enabled.

      1
       
      Get-ADUser -Properties MSExchMaiboxWhenCreated
       

      Get MSExchWhenMailboxCreated attribute using PowerShell

      MSExchWhenMailboxCreated contains not the full truth

      That could almost be the end of the story. BUT that attribute is not what you might think. The attribute gets only propagated the FIRST time the user gets a mailbox. If that users mailbox was disabled and then recreated later, the timestamp of the first mailbox creation retains.

      ![Checking MSExchWhenMailboxCreated attribute using PowerShell after a mailbox recreation](/images/2020/2020-01-25 MSExchWhenMailboxCreated PowerShell Mailbox recreated.png “Checking MSExchWhenMailboxCreated attribute using PowerShell after a mailbox recreation - The old value remains.”)

      Finding out the real Mailbox creation date

      If the mailbox creation was done recently, you might find according event log entries on the Exchange Server. If you search the MSExchange Management Event Log for mailbox creations manually (CTRL+F and look for Enable-Mailbox) you might find the actual mailbox creation date. The PowerShell way would be:

      1
       
      Get-EventLog -Source "MSExchange CmdletLogs" -LogName "MSExchange Management" -ComputerName <Servername> -Message "*Enable-Mailbox*test.user*"
      @@ -11,5 +11,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html b/en/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html
      index fb601e53..318f5dc4 100644
      --- a/en/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html
      +++ b/en/2020/05/01/Exchange-Hybrid-HCW8064-OAuth/index.html
      @@ -5,7 +5,7 @@
       HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps.
       The link “more information” links to https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. If you lookup what OAuth is used for, this article comes up.">

      Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

      At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message:

      HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps.

      The link “more information” links to https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. If you lookup what OAuth is used for, this article comes up. There you can read OAuth is needed for cross-premises eDiscovery searches. Since these functions were not relevant in the project, I ignored them for the time being. By the way, running HCW again did not set up OAuth properly in this case. But sometimes you can easily fix a issue like this by re-running HCW.

      OAuth can also be used for authentication for cross-premise sharing of Free/Busy information. The linked OAuth-article mentions only eDiscovery - which is also the section of the documentation where the article resides. More OAuth-scenarios are not explained there. Free/Busy is not mentioned in the article about configuring OAuth for Exchange Hybrid either.

      No Free/Busy available

      After the first test users were migrated to Exchange Online, it turned out that the cross-premise access to Free/Busy information did not work. There are two very good articles in the Exchange Team Blog explaining Hybrid Free/Busy:

      Intra-Organization Connector (IOC)

      You can check both on-premise and in Exchange Online whether an Intra-Organization Connector (required for Hybrid OAuth) is present. Since the configuration via HCW failed, no working IOC configuration should be stored.

      1
      +The link “more information” links to https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. If you lookup what OAuth is used for, this article comes up.">

      Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

      At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message:

      HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps.

      The link “more information” links to https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. If you lookup what OAuth is used for, this article comes up. There you can read OAuth is needed for cross-premises eDiscovery searches. Since these functions were not relevant in the project, I ignored them for the time being. By the way, running HCW again did not set up OAuth properly in this case. But sometimes you can easily fix a issue like this by re-running HCW.

      OAuth can also be used for authentication for cross-premise sharing of Free/Busy information. The linked OAuth-article mentions only eDiscovery - which is also the section of the documentation where the article resides. More OAuth-scenarios are not explained there. Free/Busy is not mentioned in the article about configuring OAuth for Exchange Hybrid either.

      No Free/Busy available

      After the first test users were migrated to Exchange Online, it turned out that the cross-premise access to Free/Busy information did not work. There are two very good articles in the Exchange Team Blog explaining Hybrid Free/Busy:

      Intra-Organization Connector (IOC)

      You can check both on-premise and in Exchange Online whether an Intra-Organization Connector (required for Hybrid OAuth) is present. Since the configuration via HCW failed, no working IOC configuration should be stored.

      1
       
      Get-IntraOrganizationConnector | fl
       

      The attribute “Enabled” is set to False, therefore no OAuth is used. Just as expected. &ldquo;Get-IntraOrganizationConnector | fl&rdquo; - &ldquo;Enabled&rdquo; is set to &ldquo;False&rdquo;

      Organization Relationship (ORG REL)

      The next step is to check if an Organization Relationship exists.

      1
      @@ -22,5 +22,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2020/05/10/Apple-Internet-Accounts-Office365/index.html b/en/2020/05/10/Apple-Internet-Accounts-Office365/index.html
      index 44242041..4a80bcdf 100644
      --- a/en/2020/05/10/Apple-Internet-Accounts-Office365/index.html
      +++ b/en/2020/05/10/Apple-Internet-Accounts-Office365/index.html
      @@ -5,7 +5,7 @@
       Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it.
       By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020.">

      Exchange Online: Apple Internet Accounts - Need admin approval

      When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue:

      Need admin approval +By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020.">

      Exchange Online: Apple Internet Accounts - Need admin approval

      When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue:

      Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it.

      By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020. However, the previous AppID has remained the same.

      Cause

      The following reasons have caused this message:

      1. Apple Internet Accounts app is required by Apple iOS to access the user’s Office 365 resources. Access to resources of an Office 365 Tenant by a third-party app is only possible after explicit approval.
      2. No user or administrator approval has yet been granted for Apple Internet Accounts in this tenant.
      3. The user approval is deactivated tenant wide. This recommended setting can be set so that end users cannot simply authorise third-party apps to access company data.

      You can find that setting for 3. in Azure AD under “Enterprise applications” -> “User settings”. The option is called “Users can consent to apps accessing company data on their behalf”. This setting should be kept to “No”! The fact that the end user is not allowed to allow any apps (and therefore can’t get ahead here) is exactly what you want to protect company data from unauthorized access.

      Solution

      There are several possible solutions without simply unlocking all third-party apps.

      Solution approach

      Update 2022-06-20: It’s usually not necessary anymore to craft the url manually. Instead you can just click this link: https://aka.ms/ConsentAppleApp. Steps 1 and 2 can be skipped then.

      Step 1: Find out TenantID

      First of all you have to find out the Tenant ID of the Azure AD Tenant. You’ll find it on the “Overview page in Azure Active Directory” (marked red in the following screenshot).

      The Tenant ID can be found in Azure Active Directory on the Overview page.

      Step 2: Craft URL

      The placeholder <TenantID> has to get replaced with the actual TenantID from Step 1 in the following URL. The generated URL can then be accessed with Tenant Admin (Global Administrator) rights. The client_id in the URL is the ID of Apple Internet Accounts.

      1
       
      <https://login.microsoftonline.com/><TenantID>/oauth2/authorize?client_id=f8d98a96-0999-43f5-8af3-69971c7bb423&response_type=code&redirect_uri=<https://example.com&prompt=admin_consent>
      @@ -14,5 +14,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2020/05/20/Check-NTFS-Permissions-Powershell/index.html b/en/2020/05/20/Check-NTFS-Permissions-Powershell/index.html
      index c1d4c1d7..070fc56d 100644
      --- a/en/2020/05/20/Check-NTFS-Permissions-Powershell/index.html
      +++ b/en/2020/05/20/Check-NTFS-Permissions-Powershell/index.html
      @@ -5,9 +5,9 @@
       The correct storage permissions are:
       User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers">

      Check NTFS Permissions using Powershell

      So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions.

      The correct storage permissions are:

      User AccountFolderPermissions
      UsersThis Folder OnlyModify
      Creator / OwnerSubfolders and Files OnlyModify
      Administrator (optional)This Folder, Subfolders, and FilesFull Control

      Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers

      The environment

      In this environment every user has their own subfolder in the share. The user created the subfolder (at their first logon to Windows Virtual Desktop), so they’re the owner. Since they’re owner, they have Modify rights to (sub-)subfolders and files in their subfolder. FSLogix creates a profile container vhd(x)-file in the user’s folder.

      Check Permissions with PowerShell

      You can check Permissions using PowerShell with Get-Acl.

      I created a quick-and-dirty PowerShell script to check the permissions. It’s not attempting any automatic fixes. It just lists the folders and states any faulty permissions. You could either manually fix the permissions using the GUI, or take the ACL-Object of the subfolder and apply it to the files using Set-Acl.

      Download Script

      CheckProfileStoragePermissions.ps1 (Github)

      © 2024 diecknet +User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers">

      Check NTFS Permissions using Powershell

      So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions.

      The correct storage permissions are:

      User AccountFolderPermissions
      UsersThis Folder OnlyModify
      Creator / OwnerSubfolders and Files OnlyModify
      Administrator (optional)This Folder, Subfolders, and FilesFull Control

      Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers

      The environment

      In this environment every user has their own subfolder in the share. The user created the subfolder (at their first logon to Windows Virtual Desktop), so they’re the owner. Since they’re owner, they have Modify rights to (sub-)subfolders and files in their subfolder. FSLogix creates a profile container vhd(x)-file in the user’s folder.

      Check Permissions with PowerShell

      You can check Permissions using PowerShell with Get-Acl.

      I created a quick-and-dirty PowerShell script to check the permissions. It’s not attempting any automatic fixes. It just lists the folders and states any faulty permissions. You could either manually fix the permissions using the GUI, or take the ACL-Object of the subfolder and apply it to the files using Set-Acl.

      Download Script

      CheckProfileStoragePermissions.ps1 (Github)

      +Privacy
      \ No newline at end of file diff --git a/en/2020/06/10/Office-365-Trials/index.html b/en/2020/06/10/Office-365-Trials/index.html index dcc763cf..64be3c4c 100644 --- a/en/2020/06/10/Office-365-Trials/index.html +++ b/en/2020/06/10/Office-365-Trials/index.html @@ -1,9 +1,9 @@ Office 365 Trial Licenses | diecknet -

      Office 365 Trial Licenses

      You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. +

      Office 365 Trial Licenses

      You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. A list of links to the trial licenes is further below in this article.

      Enterprise Licenses

      The following Office 365 Enterprise demo licenses are available:

      Business Licenses

      These Microsoft 365 Business test licenses are available:

      Intune Licenses

      These Microsoft Intune trial licenses are available:

      Enterprise and Mobility Suite (E5)

      You can use this trial license to try out Enterprise Mobility + Security E5 features:

      Teams Licenses

      Teams is available for free or rather as a freemium application. You can signup here: https://go.microsoft.com/fwlink/p/?LinkID=2123761. But to test the full capabilities of Teams you should atleast use M365 Business Basic (see above).

      Microsoft Viva Learning Trial License

      There is also a trial license for Microsoft Viva Learning:

      YouTube Video - Create Demo-Tenant

      In this German YouTube Video I’ll show how to create a Demo-Tenant with trial licenses. I’m also showing how you can extend the trial for another 30 days.

      Microsoft 365 Demo-Tenant anlegen! (YouTube)

      Add Trial license to existing Tenant

      You can use the same trial license links to add the licenses to an existing tenant.

      Step 1: Click on “Yes, add it to my account”

      Add Microsoft 365 Trial license to existing Tenant (1)

      Step 2: Click on “Try now”

      Add Microsoft 365 Trial license to existing Tenant (2)

      +Privacy \ No newline at end of file diff --git a/en/2021/05/02/My-simple-serverless-journey/index.html b/en/2021/05/02/My-simple-serverless-journey/index.html index 59ba633b..828cb112 100644 --- a/en/2021/05/02/My-simple-serverless-journey/index.html +++ b/en/2021/05/02/My-simple-serverless-journey/index.html @@ -1,5 +1,5 @@ My simple serverless journey was not that easy | diecknet -

      My simple serverless journey was not that easy

      Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. +

      My simple serverless journey was not that easy

      Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code. The difference is scaling. The cloud provider handles the logic to run your serverless functions as it’s needed. When your application is not used, the execution is stopped and no computing resources are consumed.

      My serverless use case

      Sometimes I simply need to find out my public IP-Address, without worrying about any specific system caveats. The easiest way to find out that information, is to browse any of the roughly 1.5 billion websites that display the visitor’s IP-Address.

      Thing is - these websites are really annoying, full of ads, tracking and tons of unnecessary informations. I can never be sure if any of these particular sites is actually safe to use. Even if at one point in time a site is usable, I can’t be sure if it will stay like that. I decided to make my own website to show the IP-Address.

      Going Serverless with Vercel

      My first attempt was to use Vercel. I’m already hosting this blog there as a static site using Jekyll with Github integration. I knew that Vercel also supports Serverless functions. I somehow got the idea to create a static Jamstack site and then fetch the IP-Address using a JavaScript AJAX request to a self-written JSON API which runs as a Serverless function.

      That was actually pretty easy.

      1. Create a new Github repository and connect it with Vercel
      2. Create a “.js”-script file in the “api” subfolder.

      I used this code to return the visitor’s IP-Adress as a simple JSON response:

      1
       2
       3
      @@ -296,5 +296,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2021/06/27/Deploy-Azure-NAT-Gateway-Azure-Virtual-Desktop/index.html b/en/2021/06/27/Deploy-Azure-NAT-Gateway-Azure-Virtual-Desktop/index.html
      index 28059d64..4f14ce80 100644
      --- a/en/2021/06/27/Deploy-Azure-NAT-Gateway-Azure-Virtual-Desktop/index.html
      +++ b/en/2021/06/27/Deploy-Azure-NAT-Gateway-Azure-Virtual-Desktop/index.html
      @@ -2,9 +2,9 @@
       

      Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

      Table of Contents

      I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^).

      Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements. Anyway I got a 1000 USD Amazon Gift Card 🤩.

      I also created a quick video proof of the script working, which you can check out on YouTube.

      Get the script

      The script is free to download on GitHub.

      © 2024 diecknet +Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements.">

      Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

      Table of Contents

      I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^).

      Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements. Anyway I got a 1000 USD Amazon Gift Card 🤩.

      I also created a quick video proof of the script working, which you can check out on YouTube.

      Get the script

      The script is free to download on GitHub.

      +Privacy
      \ No newline at end of file diff --git a/en/2021/06/29/Deleted-Teams-Channel-Retention/index.html b/en/2021/06/29/Deleted-Teams-Channel-Retention/index.html index c740786b..d0b59e20 100644 --- a/en/2021/06/29/Deleted-Teams-Channel-Retention/index.html +++ b/en/2021/06/29/Deleted-Teams-Channel-Retention/index.html @@ -8,9 +8,9 @@ Deleted channels can be restored within 30 days.">

      How long are deleted Teams Channels retained?

      Table of Contents

      If you’re asking yourself “How long are deleted Teams channels retained?” or “For how long can I restore a deleted Teams channel?” you can find the answer relatively quick. But mostly the original source in the Microsoft documentation is missing.

      Answer

      Deleted Microsoft Teams Channels are retained for 30 days.

      Official Source

      In https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels under the table Teams and channels in footnote 4 it’s stated:

      Deleted channels can be restored within 30 days. During these 30 days, a deleted channel continues to be counted towards the 200 channel or 30 private channel per team limit. After 30 days, a deleted channel and its content are permanently deleted and the channel no longer counts towards the per team limit.

      © 2024 diecknet +Deleted channels can be restored within 30 days.">

      How long are deleted Teams Channels retained?

      Table of Contents

      If you’re asking yourself “How long are deleted Teams channels retained?” or “For how long can I restore a deleted Teams channel?” you can find the answer relatively quick. But mostly the original source in the Microsoft documentation is missing.

      Answer

      Deleted Microsoft Teams Channels are retained for 30 days.

      Official Source

      In https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels under the table Teams and channels in footnote 4 it’s stated:

      Deleted channels can be restored within 30 days. During these 30 days, a deleted channel continues to be counted towards the 200 channel or 30 private channel per team limit. After 30 days, a deleted channel and its content are permanently deleted and the channel no longer counts towards the per team limit.

      +Privacy
      \ No newline at end of file diff --git a/en/2021/07/09/Sharepoint-Online-Timezones-by-PowerShell/index.html b/en/2021/07/09/Sharepoint-Online-Timezones-by-PowerShell/index.html index 80c2127e..0f4ff785 100644 --- a/en/2021/07/09/Sharepoint-Online-Timezones-by-PowerShell/index.html +++ b/en/2021/07/09/Sharepoint-Online-Timezones-by-PowerShell/index.html @@ -2,7 +2,7 @@

      Retrieve the Timezone of a Sharepoint Online Site using PowerShell

      I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell.

      There are some infos online about using the PNPOnline Module, but that was not practical in my case. There are even some really annoying articles out, that claim to to provide a PowerShell way. But instead of retrieving the actual Timezone setting of a SPO site, they retrieve all available Timezones and then overwrite the current timezone with a valid one. Worst thing: They import Sharepoint .dll files, use plaintext authentication and use Client Context Object/CSOM (Microsoft.SharePoint.Client.ClientContext). +There are some infos online about using the PNPOnline Module, but that was not practical in my case. There are even some really annoying articles out, that claim to to provide a PowerShell way.">

      Retrieve the Timezone of a Sharepoint Online Site using PowerShell

      I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell.

      There are some infos online about using the PNPOnline Module, but that was not practical in my case. There are even some really annoying articles out, that claim to to provide a PowerShell way. But instead of retrieving the actual Timezone setting of a SPO site, they retrieve all available Timezones and then overwrite the current timezone with a valid one. Worst thing: They import Sharepoint .dll files, use plaintext authentication and use Client Context Object/CSOM (Microsoft.SharePoint.Client.ClientContext). 😵 Oof.

      TL;DR - here is the PowerShell code

      Here you go.

      1
       2
       3
      @@ -335,5 +335,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2021/08/18/TeamsAutoUpgrade-fail/index.html b/en/2021/08/18/TeamsAutoUpgrade-fail/index.html
      index 51dddfb7..cbd365a6 100644
      --- a/en/2021/08/18/TeamsAutoUpgrade-fail/index.html
      +++ b/en/2021/08/18/TeamsAutoUpgrade-fail/index.html
      @@ -5,10 +5,10 @@
       Issue: Suddenly Skype Meetings are back in Outlook mobile One client reported, that they suddenly have Skype Meetings in Outlook on iOS again, instead of Teams Meetings.
       That particular client manages their Microsoft 365 tenant themselves.">

      Moving from Skype for Business to Teams sucks

      The upgrade process from Skype for Business Online to Microsoft Teams is a disaster. I had several SMB clients reporting unnecessary errors regarding Teams/Skype. With unnecessary I mean: They had no issues using Teams until 2021-07-31.

      Issue: Suddenly Skype Meetings are back in Outlook mobile

      One client reported, that they suddenly have Skype Meetings in Outlook on iOS again, instead of Teams Meetings.

      Skype Meeting in Outlook on iOS

      That particular client manages their Microsoft 365 tenant themselves. They were already exclusively using Teams for quite a while (>2 years), but never switched to “TeamsOnly” mode. I’m sure they don’t read their Message Center entries on a regular basis (if ever). Microsoft informs the client with a message like this, when the automatic upgrade fails:

      We ran into a problem upgrading your organization to Microsoft Teams, so we paused your upgrade. We understand you were expecting this upgrade to happen soon, and we apologize for the delay.

      How does this affect me? Your users should have the same Skype for Business experience they’re accustomed to using. It should appear as if nothing has changed.

      What do I need to do to prepare for this change? We’re working to fix the problem that caused us to pause your upgrade. We’ll notify you when we’re ready, once again, to upgrade your users to Teams.

      There are no actions you need to take. Please click Additional Information below to learn more.

      And promptly after in another Message:

      As part of the upcoming Skype for Business Online service retirement (originally announced in MC219641 of July ‘20), your organization has been scheduled for an assisted upgrade to help transition your Skype for Business Online users to Microsoft Teams. However, we paused your scheduled upgrade after detecting one or more DNS records that point to a domain in an on-premises Skype for Business deployment. These records are required if your organization includes on-premises Skype for Business users.

      If your organization does not have any on-premises Skype for Business Server or Lync Server users, these DNS records must be updated to point to Microsoft 365 or removed by August 13, 2021.

      Microsoft cannot take this step for you. If you do not remove stale DNS records, your assisted upgrade will still be rescheduled for a later date, but taking these steps gives you greater control over the upgrade experience.

      Okay, so the upgrade was halted. According to the Message the client had DNS entries pointing to an on-premises Skype for Business Server system. Thing is: The client does not have a S4B Server. And they never had one in the past. The upgrade process just assumes, that the client has one.

      The Teams-Upgrade was paused!

      The actual issue

      We can&rsquo;t upgrade this organization to &lsquo;Teams Only&rsquo; mode.

      The actual issue is, that this particular client has Wildcard DNS entries for their domains in public DNS. So when the Upgrade Process checks for the Skype DNS entries, it’ll receive the IP-Address of the client’s website. The upgrade process does not check if:

      • the domain uses wildcard DNS entries
      • the provided DNS answer actually points to a running Skype for Business Server environment (or if it ever did in the past)

      The instructions in the error message (when manually trying to upgrade to Teams) is not really helpful: Microsoft assumes the client actually has a S4b deployment, so they only recommend to migrate the users with Move-CsUser. +That particular client manages their Microsoft 365 tenant themselves.">

      Moving from Skype for Business to Teams sucks

      The upgrade process from Skype for Business Online to Microsoft Teams is a disaster. I had several SMB clients reporting unnecessary errors regarding Teams/Skype. With unnecessary I mean: They had no issues using Teams until 2021-07-31.

      Issue: Suddenly Skype Meetings are back in Outlook mobile

      One client reported, that they suddenly have Skype Meetings in Outlook on iOS again, instead of Teams Meetings.

      Skype Meeting in Outlook on iOS

      That particular client manages their Microsoft 365 tenant themselves. They were already exclusively using Teams for quite a while (>2 years), but never switched to “TeamsOnly” mode. I’m sure they don’t read their Message Center entries on a regular basis (if ever). Microsoft informs the client with a message like this, when the automatic upgrade fails:

      We ran into a problem upgrading your organization to Microsoft Teams, so we paused your upgrade. We understand you were expecting this upgrade to happen soon, and we apologize for the delay.

      How does this affect me? Your users should have the same Skype for Business experience they’re accustomed to using. It should appear as if nothing has changed.

      What do I need to do to prepare for this change? We’re working to fix the problem that caused us to pause your upgrade. We’ll notify you when we’re ready, once again, to upgrade your users to Teams.

      There are no actions you need to take. Please click Additional Information below to learn more.

      And promptly after in another Message:

      As part of the upcoming Skype for Business Online service retirement (originally announced in MC219641 of July ‘20), your organization has been scheduled for an assisted upgrade to help transition your Skype for Business Online users to Microsoft Teams. However, we paused your scheduled upgrade after detecting one or more DNS records that point to a domain in an on-premises Skype for Business deployment. These records are required if your organization includes on-premises Skype for Business users.

      If your organization does not have any on-premises Skype for Business Server or Lync Server users, these DNS records must be updated to point to Microsoft 365 or removed by August 13, 2021.

      Microsoft cannot take this step for you. If you do not remove stale DNS records, your assisted upgrade will still be rescheduled for a later date, but taking these steps gives you greater control over the upgrade experience.

      Okay, so the upgrade was halted. According to the Message the client had DNS entries pointing to an on-premises Skype for Business Server system. Thing is: The client does not have a S4B Server. And they never had one in the past. The upgrade process just assumes, that the client has one.

      The Teams-Upgrade was paused!

      The actual issue

      We can&rsquo;t upgrade this organization to &lsquo;Teams Only&rsquo; mode.

      The actual issue is, that this particular client has Wildcard DNS entries for their domains in public DNS. So when the Upgrade Process checks for the Skype DNS entries, it’ll receive the IP-Address of the client’s website. The upgrade process does not check if:

      • the domain uses wildcard DNS entries
      • the provided DNS answer actually points to a running Skype for Business Server environment (or if it ever did in the past)

      The instructions in the error message (when manually trying to upgrade to Teams) is not really helpful: Microsoft assumes the client actually has a S4b deployment, so they only recommend to migrate the users with Move-CsUser. Side-note: A while ago this error message was only visible when trying to upgrade to TeamsOnly using PowerShell. The Teams Admin Center just showed an “unknown error”.

      The solution

      After creating DNS entries in the customers DNS zone to point to Skype for Business Online, we could upgrade the tenant to Teams Only. The Skype Meeting option in Outlook for iOS went back to Teams Meeting soon afterwards.

      These are the DNS entries (source):

      SRV records

      TypeServiceProtocolPortWeightPriorityTTLNameTarget
      SRV_sip_tls44311001 hour<DomainName>sipdir.online.lync.com
      SRV_sipfederationtls_tcp506111001 hour<DomainName>sipfed.online.lync.com

      CNAME records

      TypeHost nameDestinationTTL
      CNAMEsip.<DomainName>sipdir.online.lync.com1 hour
      CNAMElyncdiscover.<DomainName>webdir.online.lync.com1 hour

      My thoughts on the issue

      First of all I wish the automatic/assisted Upgrade would do a better job on understanding the DNS configuration of a domain. Alternatively there should be atleast an option to just skip the DNS Check when upgrading to TeamsOnly mode. Something like a -Force Option for Grant-CsTeamsUpgradePolicy -Global.
      Either of those ways would make the transition to TeamsOnly mode way easier and smoother.

      +Privacy \ No newline at end of file diff --git a/en/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html b/en/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html index aec54fcc..1a139b89 100644 --- a/en/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html +++ b/en/2021/10/05/Set-Teams-Meeting-Dialin-number-powershell/index.html @@ -2,7 +2,7 @@

      Set Teams Meeting Dial-in number using PowerShell

      You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites.

      The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned.

      Use Teams Admin Center to change Dial-In Number for a single user

      Users ➔ Manage Users ➔ Click on any user ➔ Click on “Edit” next to “Audio Conferencing” ➔ Select “Toll number” according to User Location.

      Microsoft Teams Admin Center with options to change the dialin number for a user.

      Use PowerShell to change Dial-In Number for multiple users

      Note: You need to have the Microsoft Teams PowerShell module installed.

      I call these numbers “Dial-In numbers”, but the internal name is “ServiceNumber”. You can get a list of all available numbers using Get-CsOnlineDialInConferencingServiceNumber.

       1
      +The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned.">

      Set Teams Meeting Dial-in number using PowerShell

      You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites.

      The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned.

      Use Teams Admin Center to change Dial-In Number for a single user

      Users ➔ Manage Users ➔ Click on any user ➔ Click on “Edit” next to “Audio Conferencing” ➔ Select “Toll number” according to User Location.

      Microsoft Teams Admin Center with options to change the dialin number for a user.

      Use PowerShell to change Dial-In Number for multiple users

      Note: You need to have the Microsoft Teams PowerShell module installed.

      I call these numbers “Dial-In numbers”, but the internal name is “ServiceNumber”. You can get a list of all available numbers using Get-CsOnlineDialInConferencingServiceNumber.

       1
        2
        3
        4
      @@ -40,5 +40,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2021/10/13/PowerShell-Task-Scheduler/index.html b/en/2021/10/13/PowerShell-Task-Scheduler/index.html
      index ce302a51..9d5d406f 100644
      --- a/en/2021/10/13/PowerShell-Task-Scheduler/index.html
      +++ b/en/2021/10/13/PowerShell-Task-Scheduler/index.html
      @@ -8,11 +8,11 @@
       Set Action Setting Value Action Start a program Program/script powershell.exe Add arguments (optional) -file "C:\Path\Script.'>

      Run PowerShell Script with Windows Task Scheduler

      More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler.

      Open Task Scheduler

      A quick way to open Task Scheduler: +Set Action Setting Value Action Start a program Program/script powershell.exe Add arguments (optional) -file "C:\Path\Script.'>

      Run PowerShell Script with Windows Task Scheduler

      More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler.

      Open Task Scheduler

      A quick way to open Task Scheduler: WIN + R, then run taskschd.msc.

      Create New Task

      Open “Task Scheduler Library” → “Create New Task”. Set all the self-explanatory options like Name, Description, User Account, Triggers, etc.

      Set Action

      SettingValue
      ActionStart a program
      Program/scriptpowershell.exe
      Add arguments (optional)-file "C:\Path\Script.ps1"
      +Privacy \ No newline at end of file diff --git a/en/2021/10/25/PowerShell-Regular-Expression/index.html b/en/2021/10/25/PowerShell-Regular-Expression/index.html index 5fad14dc..9780e201 100644 --- a/en/2021/10/25/PowerShell-Regular-Expression/index.html +++ b/en/2021/10/25/PowerShell-Regular-Expression/index.html @@ -5,7 +5,7 @@ Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?\d+)_(?.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?\d+) is a named regex capture group (initialized by ?). The group matches any numeric character (\d).'>

      Using PowerShell Regular Expressions to match against filenames

      A short example for PowerShell Regular Expressions.

      Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk.

      1
      +1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?\d+)_(?.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?\d+) is a named regex capture group (initialized by ?). The group matches any numeric character (\d).'>

      Using PowerShell Regular Expressions to match against filenames

      A short example for PowerShell Regular Expressions.

      Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk.

      1
       2
       3
       4
      @@ -24,5 +24,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2021/10/27/My-simple-serverless-journey-part2/index.html b/en/2021/10/27/My-simple-serverless-journey-part2/index.html
      index dfaf845a..8e967599 100644
      --- a/en/2021/10/27/My-simple-serverless-journey-part2/index.html
      +++ b/en/2021/10/27/My-simple-serverless-journey-part2/index.html
      @@ -2,11 +2,11 @@
       

      The Downside of going serverless

      After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice.

      Reality

      But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address.

      I tried a bit around. Eventhough Cloudflare allows DNS Host A (IPv4) and AAAA (IPv6) entries, it wouldn’t work as I wanted. Cloudflare needs to proxy the DNS entries, to make Cloudflarer Workers work. And even if you only add one IP Version, it would still proxy for both Internet Protocol versions. So the reality of serverless is: You only have very limited control over the server that hosts your application. For some scenarios that might be okay, for others not.

      My Workaround

      I wouldn’t really call this a fix, just a hacky workaround. I created a subdomain alt.simpleip.de that points to a Shared Webhost Account at Netcup. In my Netcup Customer Control Panel, I added two Subdomains (or rather Sub-Subdomains):

      • v4.alt.simpleip.de
      • v6.alt.simpleip.de

      I then added “Let’s Encrypt” TLS certificates and put a small PHP-Script on the server. The script outputs the IP-Address of the client using

      1
      +Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address.">

      The Downside of going serverless

      After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice.

      Reality

      But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address.

      I tried a bit around. Eventhough Cloudflare allows DNS Host A (IPv4) and AAAA (IPv6) entries, it wouldn’t work as I wanted. Cloudflare needs to proxy the DNS entries, to make Cloudflarer Workers work. And even if you only add one IP Version, it would still proxy for both Internet Protocol versions. So the reality of serverless is: You only have very limited control over the server that hosts your application. For some scenarios that might be okay, for others not.

      My Workaround

      I wouldn’t really call this a fix, just a hacky workaround. I created a subdomain alt.simpleip.de that points to a Shared Webhost Account at Netcup. In my Netcup Customer Control Panel, I added two Subdomains (or rather Sub-Subdomains):

      • v4.alt.simpleip.de
      • v6.alt.simpleip.de

      I then added “Let’s Encrypt” TLS certificates and put a small PHP-Script on the server. The script outputs the IP-Address of the client using

      1
       
      print $_SERVER['REMOTE_ADDR'];
       

      The trick is, that v4.alt.simpleip.de only has a Host A Record - so it only works for IPv4 clients. And v6.alt.simpleip.de only has a Host AAAA Record - so it only works for IPv6 clients. Initially I wanted to use ipv4.alt.simpleip.de and ipv6.alt.simpleip.de, but apparently a bug in the Netcup Plesk Control Panel prevented that 🤔. Weird.

      Anyway my API is running. Next step was to add some JavaScript code to the website. The code tries to connect to both of these hostnames. If there is a result, it’ll get added to the site. I left the old Cloudflare based approach still in the site. So when a client requests the page, the new program flow is as follows:

      1. Cloudflare Workers injects the Client-IP-Address into the HTML and delivers the site (No Client-JS needed).
      2. When the HTML Body loads and Client-JS is enabled:
        • Client based JavaScript call to IPv4 endpoint
        • Client based JavaScript call to IPv6 endpoint

      Conclusion

      So it’s still kinda serverless, since I don’t administer the Webserver at Netcup 😇. It’s a Shared Webhost package. When going serverless, there are several obstacles, but there’s mostlikely a Workaround. For my use case, I still prefer these workarounds instead of administering a full server.

      +Privacy
      \ No newline at end of file diff --git a/en/2021/11/04/Exchange-Online-Auto-Expanding-Archives/index.html b/en/2021/11/04/Exchange-Online-Auto-Expanding-Archives/index.html index c5280978..0545ea16 100644 --- a/en/2021/11/04/Exchange-Online-Auto-Expanding-Archives/index.html +++ b/en/2021/11/04/Exchange-Online-Auto-Expanding-Archives/index.html @@ -5,7 +5,7 @@ In the Exchange Admin Center (EAC), open the info pane of the user’s mailbox. Click on “Manage mailbox archive”. An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage.">

      Verify Auto-Expanding Archives in Exchange Online

      If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage.

      In the Exchange Admin Center (EAC), open the info pane of the user’s mailbox. Click on “Manage mailbox archive”.

      Exchange Admin Center - Mailbox Pane

      An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage.

      Exchange Admin Center - Archive Mailbox Usage

      By the way: This license note is apparently shown regardless whether that user has an Exchange Online Plan 2 license assigned or not:

      Unlimited storage is a premium feature that requires an Exchange Online Plan 2 or Exchange Online Archiving license to enable it for each user mailbox"

      And it still mentions “unlimited storage”, even though since 2021-11-01 the Archiving does not include “unlimited storage” anymore. The storage is now limited to 1.5 TB.

      Check for additional storage locations

      When the main Archive of the Mailbox reaches it’s limit of 100 GB, another storage gets added. The additional storage is called “Auxilary Archive” or short “AuxArchive”.

      I wrote a PowerShell function to list all the Mailbox locations of a user. It also lists some storage consumption information.

       1
      +An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage.">

      Verify Auto-Expanding Archives in Exchange Online

      If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage.

      In the Exchange Admin Center (EAC), open the info pane of the user’s mailbox. Click on “Manage mailbox archive”.

      Exchange Admin Center - Mailbox Pane

      An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage.

      Exchange Admin Center - Archive Mailbox Usage

      By the way: This license note is apparently shown regardless whether that user has an Exchange Online Plan 2 license assigned or not:

      Unlimited storage is a premium feature that requires an Exchange Online Plan 2 or Exchange Online Archiving license to enable it for each user mailbox"

      And it still mentions “unlimited storage”, even though since 2021-11-01 the Archiving does not include “unlimited storage” anymore. The storage is now limited to 1.5 TB.

      Check for additional storage locations

      When the main Archive of the Mailbox reaches it’s limit of 100 GB, another storage gets added. The additional storage is called “Auxilary Archive” or short “AuxArchive”.

      I wrote a PowerShell function to list all the Mailbox locations of a user. It also lists some storage consumption information.

       1
        2
        3
        4
      @@ -39,5 +39,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2021/11/12/List-All-Microsoft-Booking-Mailboxes/index.html b/en/2021/11/12/List-All-Microsoft-Booking-Mailboxes/index.html
      index cb2a292f..bb3eff4e 100644
      --- a/en/2021/11/12/List-All-Microsoft-Booking-Mailboxes/index.html
      +++ b/en/2021/11/12/List-All-Microsoft-Booking-Mailboxes/index.html
      @@ -2,7 +2,7 @@
       

      List all Microsoft Booking Calendars

      If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox.

      List all Booking Calendars with permission

      I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access.

       1
      +List all Booking Calendars with permission I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access.">

      List all Microsoft Booking Calendars

      If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox.

      List all Booking Calendars with permission

      I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access.

       1
        2
        3
        4
      @@ -58,5 +58,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2021/12/13/How-to-list-all-users-with-admin-roles-m365/index.html b/en/2021/12/13/How-to-list-all-users-with-admin-roles-m365/index.html
      index b24995c6..f4414bf3 100644
      --- a/en/2021/12/13/How-to-list-all-users-with-admin-roles-m365/index.html
      +++ b/en/2021/12/13/How-to-list-all-users-with-admin-roles-m365/index.html
      @@ -2,7 +2,7 @@
       

      List all Users with administrative roles in a Microsoft 365 environment

      Option 1: Use M365 Admin Portal

      There is finally a way in the main Microsoft 365 Admin Portal. Go to “Roles” -> “Role assignments” and click on “Export admin list” to get a CSV file with all admins and their roles.

      M365 Admin Center - role assignments

      Option 2: Use PowerShell / Azure AD Graph Module

      Just a short PowerShell snippet to list all users with administrative roles in a Microsoft 365 (or Azure AD) environment. Please note that this uses the older Azure AD Graph Module (already planned for deprecation). I don’t have an example code that uses the newer Microsoft Graph API yet.

      Prerequisites

      You need the Azure AD PowerShell for Graph module installed, and you need to connect to your Azure AD tenant.

      1. Install the Azure AD PowerShell for Graph module (if you don’t have it yet)
      2. Connect to your tenant by executing Connect-AzureAD

      PowerShell Code to list all admins

      Read the following snippet, make sure it’s not malicious or stupid, then execute it. The script outputs a CSV export into C:\temp\AAD_Admins.csv.

       1
      +Option 2: Use PowerShell / Azure AD Graph Module Just a short PowerShell snippet to list all users with administrative roles in a Microsoft 365 (or Azure AD) environment. Please note that this uses the older Azure AD Graph Module (already planned for deprecation).">

      List all Users with administrative roles in a Microsoft 365 environment

      Option 1: Use M365 Admin Portal

      There is finally a way in the main Microsoft 365 Admin Portal. Go to “Roles” -> “Role assignments” and click on “Export admin list” to get a CSV file with all admins and their roles.

      M365 Admin Center - role assignments

      Option 2: Use PowerShell / Azure AD Graph Module

      Just a short PowerShell snippet to list all users with administrative roles in a Microsoft 365 (or Azure AD) environment. Please note that this uses the older Azure AD Graph Module (already planned for deprecation). I don’t have an example code that uses the newer Microsoft Graph API yet.

      Prerequisites

      You need the Azure AD PowerShell for Graph module installed, and you need to connect to your Azure AD tenant.

      1. Install the Azure AD PowerShell for Graph module (if you don’t have it yet)
      2. Connect to your tenant by executing Connect-AzureAD

      PowerShell Code to list all admins

      Read the following snippet, make sure it’s not malicious or stupid, then execute it. The script outputs a CSV export into C:\temp\AAD_Admins.csv.

       1
        2
        3
        4
      @@ -26,5 +26,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2022/02/02/How-to-configure-M365-azure-ad-MFA-methods/index.html b/en/2022/02/02/How-to-configure-M365-azure-ad-MFA-methods/index.html
      index f5a9a590..b194ba4c 100644
      --- a/en/2022/02/02/How-to-configure-M365-azure-ad-MFA-methods/index.html
      +++ b/en/2022/02/02/How-to-configure-M365-azure-ad-MFA-methods/index.html
      @@ -2,9 +2,9 @@
       

      How to configure MFA methods for Azure AD

      This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn.

      OLD POST for reference

      In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place.

      So as of 2022-02-02 you’ll find the settings here:

      Short answer

      It’s still in the classic MFA Azure AD Portal, here: https://account.activedirectory.windowsazure.com/usermanagement/mfasettings.aspx

      Long answer

      If you don’t trust me or that link above, you can manually click through to the right place:

      1. Open the Azure AD Portal and open the Directory (“Azure Active Directory”).
        Azure AD Admin Portal

      2. Open “Security”.
        Azure AD Admin Portal - Open Security

      3. Open “MFA”.
        Azure AD Admin Portal - Security - Open MFA

      4. Click on “Additional cloud-based MFA settings”.
        Azure AD Admin Portal - Security - Open MFA

      5. The classic Active Directory / Office 365 Portal opens. Choose the desired allowed Authentication Methods under “Verification options”. Don’t forget to click on “Save”.
        Azure AD Classic MFA Admin Portal

      © 2024 diecknet +OLD POST for reference In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place.">

      How to configure MFA methods for Azure AD

      This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn.

      OLD POST for reference

      In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place.

      So as of 2022-02-02 you’ll find the settings here:

      Short answer

      It’s still in the classic MFA Azure AD Portal, here: https://account.activedirectory.windowsazure.com/usermanagement/mfasettings.aspx

      Long answer

      If you don’t trust me or that link above, you can manually click through to the right place:

      1. Open the Azure AD Portal and open the Directory (“Azure Active Directory”).
        Azure AD Admin Portal

      2. Open “Security”.
        Azure AD Admin Portal - Open Security

      3. Open “MFA”.
        Azure AD Admin Portal - Security - Open MFA

      4. Click on “Additional cloud-based MFA settings”.
        Azure AD Admin Portal - Security - Open MFA

      5. The classic Active Directory / Office 365 Portal opens. Choose the desired allowed Authentication Methods under “Verification options”. Don’t forget to click on “Save”.
        Azure AD Classic MFA Admin Portal

      +Privacy
      \ No newline at end of file diff --git a/en/2022/06/16/Get-Group-membership-count-with-microsoft-graph-api/index.html b/en/2022/06/16/Get-Group-membership-count-with-microsoft-graph-api/index.html index 62ccc12a..36a1353c 100644 --- a/en/2022/06/16/Get-Group-membership-count-with-microsoft-graph-api/index.html +++ b/en/2022/06/16/Get-Group-membership-count-with-microsoft-graph-api/index.html @@ -2,7 +2,7 @@

      How to get Group Membership count with Microsoft Graph API

      Apparently it’s not that easy to get the amount of members of a group with the Microsoft Graph API. We need to specify the additional header ConsistencyLevel: eventual to use the Advanced Query Capabilities. Then we can use the Query parameter $count. Alternatively I found that I could also add it as an URL query parameter instead. That would be &ConsistencyLevel=eventual.

      Example Queries

      Replace the Group ID (02bd9fd6-8f93-4758-87c3-1fb73740a315) with your desired Azure Active Directory Group ID. Try the query in the Microsoft Graph Explorer here.

      1
      +Example Queries Replace the Group ID (02bd9fd6-8f93-4758-87c3-1fb73740a315) with your desired Azure Active Directory Group ID.">

      How to get Group Membership count with Microsoft Graph API

      Apparently it’s not that easy to get the amount of members of a group with the Microsoft Graph API. We need to specify the additional header ConsistencyLevel: eventual to use the Advanced Query Capabilities. Then we can use the Query parameter $count. Alternatively I found that I could also add it as an URL query parameter instead. That would be &ConsistencyLevel=eventual.

      Example Queries

      Replace the Group ID (02bd9fd6-8f93-4758-87c3-1fb73740a315) with your desired Azure Active Directory Group ID. Try the query in the Microsoft Graph Explorer here.

      1
       
      https://graph.microsoft.com/v1.0/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members/?$count=true&ConsistencyLevel=eventual
       

      Or if you really only care about the count, you could just request the property id. That will cause all other properties to get omitted. I found no way to just retrieve the count and no properties. Try the query in the Microsoft Graph Explorer here.

      1
       
      https://graph.microsoft.com/v1.0/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members/?$count=true&ConsistencyLevel=eventual&$select=id
      @@ -10,5 +10,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2022/06/21/Git-on-Windows-remove-all-merged-branches/index.html b/en/2022/06/21/Git-on-Windows-remove-all-merged-branches/index.html
      index 44a7e25f..cbd3359f 100644
      --- a/en/2022/06/21/Git-on-Windows-remove-all-merged-branches/index.html
      +++ b/en/2022/06/21/Git-on-Windows-remove-all-merged-branches/index.html
      @@ -5,7 +5,7 @@
       List all merged branches You can list all merged Git Branches by running:
       1 git branch --merged Exclude current branch and “main” branch Then we |-pipe it into the following, to exclude the currently selected branch (marked with an asterisk *) and the main branch.">

      How to remove all merged Git Branches on Windows

      Here’s a quick tip on howto remove Git Branches that were already merged (thus not necessary to keep around anymore) locally on Windows, using PowerShell. Assuming that you do have Git for Windows installed. Execute these commands on your own risk.

      List all merged branches

      You can list all merged Git Branches by running:

      1
      +1 git branch --merged Exclude current branch and “main” branch Then we |-pipe it into the following, to exclude the currently selected branch (marked with an asterisk *) and the main branch.">

      How to remove all merged Git Branches on Windows

      Here’s a quick tip on howto remove Git Branches that were already merged (thus not necessary to keep around anymore) locally on Windows, using PowerShell. Assuming that you do have Git for Windows installed. Execute these commands on your own risk.

      List all merged branches

      You can list all merged Git Branches by running:

      1
       
      git branch --merged
       

      Exclude current branch and “main” branch

      Then we |-pipe it into the following, to exclude the currently selected branch (marked with an asterisk *) and the main branch. This regex filter query does not aim to be universally good. So if you have branches that include the term main in their name, those will be excluded aswell. I didn’t care to optimize, because I don’t name my branches in such a weird way.

      1
       
      Where-Object {$_ -notmatch "(^\*|main)"}
      @@ -19,5 +19,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2022/06/23/Exchange-Server-Setup-Incomplete-fail-stopping-services/index.html b/en/2022/06/23/Exchange-Server-Setup-Incomplete-fail-stopping-services/index.html
      index 3cee9e56..50c40b26 100644
      --- a/en/2022/06/23/Exchange-Server-Setup-Incomplete-fail-stopping-services/index.html
      +++ b/en/2022/06/23/Exchange-Server-Setup-Incomplete-fail-stopping-services/index.html
      @@ -5,7 +5,7 @@
       I’ll guide you through my troubleshooting steps / thought process.
       Try to continue Setup First I tried to resume the setup. The setup fails early - at Step 1 of 13: Stopping Services.">

      Exchange Server Setup Incomplete but fails to complete

      I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. +Try to continue Setup First I tried to resume the setup. The setup fails early - at Step 1 of 13: Stopping Services.">

      Exchange Server Setup Incomplete but fails to complete

      I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue.

      I’ll guide you through my troubleshooting steps / thought process.

      Exchange Server 2016 CU23 Setup Assistant - Incomplete Installation Detected

      Try to continue Setup

      First I tried to resume the setup. The setup fails early - at Step 1 of 13: Stopping Services. Exchange Server 2016 CU23 Setup Assistant - Fails at Step 1 Stopping services

      The error message in detail:

       1
        2
      @@ -367,5 +367,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2022/07/21/Azure-AD-Connect-Staging-mode-PowerShell/index.html b/en/2022/07/21/Azure-AD-Connect-Staging-mode-PowerShell/index.html
      index 1cf62110..4c55e633 100644
      --- a/en/2022/07/21/Azure-AD-Connect-Staging-mode-PowerShell/index.html
      +++ b/en/2022/07/21/Azure-AD-Connect-Staging-mode-PowerShell/index.html
      @@ -2,7 +2,7 @@
       

      Set Azure AD Connect Staging Mode via PowerShell

      Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that.

      In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server.

      Execute these commands on your own risk.

      List current Azure AD Connect Staging mode setting

      First of all we can retrieve the current Azure AD Connect Settings using Get-ADSyncGlobalSettings.

      1
      +In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server.">

      Set Azure AD Connect Staging Mode via PowerShell

      Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that.

      In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server.

      Execute these commands on your own risk.

      List current Azure AD Connect Staging mode setting

      First of all we can retrieve the current Azure AD Connect Settings using Get-ADSyncGlobalSettings.

      1
       2
       
      $aadSyncSettings=Get-ADSyncGlobalSettings
       $aadSyncSettings
      @@ -42,5 +42,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2023/01/09/Exchange-Online-per-Azure-Automation/index.html b/en/2023/01/09/Exchange-Online-per-Azure-Automation/index.html
      index f857d8e8..6668ea9d 100644
      --- a/en/2023/01/09/Exchange-Online-per-Azure-Automation/index.html
      +++ b/en/2023/01/09/Exchange-Online-per-Azure-Automation/index.html
      @@ -2,7 +2,7 @@
       

      Automate Exchange Online with Azure Automation in 2024

      If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024).

      Legacy approach

      In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? +Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary.">

      Automate Exchange Online with Azure Automation in 2024

      If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024).

      Legacy approach

      In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary.

      Managed Identities + Exchange Online PowerShell

      A System Assigned Managed Identity assigns an identity to an Azure Resource. This identity can be assigned rights, e.g. for the administration of Exchange Online or specific Azure Resources. The management of the identity is done automatically, so there is no need to change a password regularly or anything like that. And if the associated resource (in this case the Azure Automation account) is deleted, the System Assigned Managed Identity is automatically deleted as well. The Exchange Online PowerShell module supports Managed Identities for authentication starting with version 3.

      That should theoretically also work with a User Assigned Managed Identity. In that case you’ll create the Managed Identity yourself, but you can assign it to multiple Azure resources. Also useful for some scenarios.

      Enable Managed Identity

      I prefer System Assigned Managed Identities, because then only one resource gets the rights. You can check if the Automation Account has a Managed Identity under “Account settings” -> “Identity”. Here is a example screenshot with an existing Managed Identity: The status is “On” und an Object ID is shown.

      Example for an Azure Automation Account with a System Assigned Managed Identity

      The actual assignment of the “Exchange Administrator”-role is done via PowerShell/Graph API.

      Configuration via PowerShell

      In this section I’ll describe how to configure the permissions using PowerShell. The assignment of the “Exchange Administrator”-role to a Managed Identity needs to be done using a local PowerShell session - the following code shouldn’t be run as an Azure Automation runbook.

      Prerequisites:

      • The Microsoft.Graph PowerShell module
      • A user account with the admin role “Privileged Role Administrator” or “Global Administrator”

      If you don’t have the module installed yet, check this article.

      1
       
      Install-Module Microsoft.Graph
      @@ -96,5 +96,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2023/02/12/ntfy-sh-with-homeassistant/index.html b/en/2023/02/12/ntfy-sh-with-homeassistant/index.html
      index cb110495..0baa5fd2 100644
      --- a/en/2023/02/12/ntfy-sh-with-homeassistant/index.html
      +++ b/en/2023/02/12/ntfy-sh-with-homeassistant/index.html
      @@ -5,7 +5,7 @@
       Setup I added the following section to my /config/configuration.yaml file:
       1 2 3 4 5 6 7 8 9 10 11 12 13 shell_command: ntfy: > curl -X POST --url 'https://ntfy.sh/{{ topic }}' --data '{{ message }}' --header 'X-Title: {{ title }}' --header 'X-Tags: {{ tags }}' --header 'X-Priority: {{ priority }}' --header 'X-Delay: {{ delay }}' --header 'X-Actions: {{ actions }}' --header 'X-Click: {{ click }}' --header 'X-Icon: {{ icon }}' Usage To send send a notification, I use this YAML action in an Automation.">

      Use ntfy.sh with Home Assistant

      Just a quick note if you want to use ntfy.sh with Home Assistant.

      Setup

      I added the following section to my /config/configuration.yaml file:

       1
      +1 2 3 4 5 6 7 8 9 10 11 12 13 shell_command: ntfy: > curl -X POST --url 'https://ntfy.sh/{{ topic }}' --data '{{ message }}' --header 'X-Title: {{ title }}' --header 'X-Tags: {{ tags }}' --header 'X-Priority: {{ priority }}' --header 'X-Delay: {{ delay }}' --header 'X-Actions: {{ actions }}' --header 'X-Click: {{ click }}' --header 'X-Icon: {{ icon }}' Usage To send send a notification, I use this YAML action in an Automation.">

      Use ntfy.sh with Home Assistant

      Just a quick note if you want to use ntfy.sh with Home Assistant.

      Setup

      I added the following section to my /config/configuration.yaml file:

       1
        2
        3
        4
      @@ -76,5 +76,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2023/05/16/exchange-eac-not-working-after-decomissioning-all-databases/index.html b/en/2023/05/16/exchange-eac-not-working-after-decomissioning-all-databases/index.html
      index e700ba9f..a1a202ef 100644
      --- a/en/2023/05/16/exchange-eac-not-working-after-decomissioning-all-databases/index.html
      +++ b/en/2023/05/16/exchange-eac-not-working-after-decomissioning-all-databases/index.html
      @@ -1,5 +1,5 @@
       Exchange EAC stopped working after decomissioning all Mailbox Databases | diecknet
      -

      Exchange EAC stopped working after decomissioning all Mailbox Databases

      Table of Contents

      I had this weird issue with a Exchange Server environment: +

      Exchange EAC stopped working after decomissioning all Mailbox Databases

      Table of Contents

      I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers.

      Error 500

      Soon the company realized, they now get an HTTP Error 500 after authenticating to the Exchange Admin Center (https://exchangeserver2019.example.com/ecp). So the page still prompted for credentials, but after entering valid credentials -> Error 500.

      Error 500 after authenticating to the Exchange Admin Center

      Investigating

      The Exchange HealthChecker.ps1 did not find any relevant issues. @@ -102,5 +102,5 @@  |  Imprint  |  -Privacy +Privacy

      \ No newline at end of file diff --git a/en/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html b/en/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html index 6f5c6818..af7bfe13 100644 --- a/en/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html +++ b/en/2023/05/20/powershell-constrainedlanguage-mode-per-gpo/index.html @@ -8,7 +8,7 @@ Disadvantage: We as administrators can no longer use PowerShell properly on a system either.">

      Set PowerShell ConstrainedLanguage Mode per Group Policy

      PowerShell Language Modes are a way to restrict the functionality of PowerShell to increase the security of a system. Of course, this is only one small piece in a larger security strategy, so this alone is not sufficient protection for a system.

      At the same time, it’s also a double-edged sword:
      Advantage: we remove a powerful tool from potential attackers.
      Disadvantage: We as administrators can no longer use PowerShell properly on a system either.

      I’ve also created a German video about the basics of PowerShell Language Modes. However, this blog post here is only about how to configure the ConstrainedLanguage Mode via Group Policy. Unfortunately, the other modes cannot be enabled system-wide in a meaningful way.

      Note regarding __PSLockdownPolicy

      Setting the environment variable __PSLockdownPolicy to the value 4 is by the way NOT a secure or supported way to enable the ConstrainedLanguage Mode.

      Configure ConstrainedLanguage Mode

      Note: I evaluated the process using Windows 11 Enterprise Version 22H2 (Build 22621.1702).

      The ConstrainedLanguage Mode can be configured via Windows Defender Application Control (WDAC) or with the legacy AppLocker. +Disadvantage: We as administrators can no longer use PowerShell properly on a system either.">

      Set PowerShell ConstrainedLanguage Mode per Group Policy

      PowerShell Language Modes are a way to restrict the functionality of PowerShell to increase the security of a system. Of course, this is only one small piece in a larger security strategy, so this alone is not sufficient protection for a system.

      At the same time, it’s also a double-edged sword:
      Advantage: we remove a powerful tool from potential attackers.
      Disadvantage: We as administrators can no longer use PowerShell properly on a system either.

      I’ve also created a German video about the basics of PowerShell Language Modes. However, this blog post here is only about how to configure the ConstrainedLanguage Mode via Group Policy. Unfortunately, the other modes cannot be enabled system-wide in a meaningful way.

      Note regarding __PSLockdownPolicy

      Setting the environment variable __PSLockdownPolicy to the value 4 is by the way NOT a secure or supported way to enable the ConstrainedLanguage Mode.

      Configure ConstrainedLanguage Mode

      Note: I evaluated the process using Windows 11 Enterprise Version 22H2 (Build 22621.1702).

      The ConstrainedLanguage Mode can be configured via Windows Defender Application Control (WDAC) or with the legacy AppLocker. It is best to use a VM for testing, which can be quickly reset to a functional state. It is possible to very quickly break the system with application control policies so that it is no longer bootable.

      To configure the ConstrainedLanguage Mode via WDAC, we use the sub-feature “Code Integrity” with “Script Enforcement”. Script Enforcement affects not only PowerShell, but also some other Script Hosts that Microsoft calls “Enlightened”. The Windows Based Script Host (wscript.exe) and Microsoft Console Based Script Host (cscript.exe) block the complete execution of scripts in the formats VBScript, cscript and jscript - no matter where they are located. The Microsoft HTML Application Host (mshta.exe) which is responsible for the execution of .hta files acts simarily - the execution of .hta files is blocked across the board. By the way, other scripts like .bat or .cmd in cmd.exe are not blocked by WDAC at all. And also non-Microsoft scripts like e.g. Python are not blocked.

      Step 1: Base Policy

      For CodeIntegrity, there are some sample policies that we can use as a base. These can be found under the following path: C:\Windows\schemas\CodeIntegrity\ExamplePolicies.

      To still allow normal Microsoft applications and system components to run, we copy the AllowMicrosoft.xml to a directory, e.g. C:\CIPolicy. Then modify it via PowerShell so that the policy gets a new GUID, a new name and a version number:

      1
      @@ -42,5 +42,5 @@
        | 
       Imprint
        | 
      -Privacy
      +Privacy
       
      \ No newline at end of file
      diff --git a/en/2023/09/25/onedrive-for-business-auto-delegation-to-manager/index.html b/en/2023/09/25/onedrive-for-business-auto-delegation-to-manager/index.html
      index 4eaec413..95976eb2 100644
      --- a/en/2023/09/25/onedrive-for-business-auto-delegation-to-manager/index.html
      +++ b/en/2023/09/25/onedrive-for-business-auto-delegation-to-manager/index.html
      @@ -5,7 +5,7 @@
       Checking and Changing Access Delegation ⚠️ Access Delegation is enabled as default. The setting can be found and changed here:
       Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization.">

      OneDrive for Business - Delegation to Manager after employee leaves company

      Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate.

      Checking and Changing Access Delegation

      ⚠️ Access Delegation is enabled as default. The setting can be found and changed here:

      1. Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization. +Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization.">

        OneDrive for Business - Delegation to Manager after employee leaves company

        Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate.

        Checking and Changing Access Delegation

        ⚠️ Access Delegation is enabled as default. The setting can be found and changed here:

        1. Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization. […]
        2. Under User profiles, select Open.
        3. Under My Site Settings, select Setup My Sites.
        4. Next to My Site Cleanup, make sure Enable access delegation is selected.

        (Source: https://learn.microsoft.com/en-us/sharepoint/retention-and-deletion#configure-automatic-access-delegation)

        In some companies this might not be desired, so you can change that option if you want to. To disable it, uncheck the box next to “Enable access delegation”.

        SharePoint Online - My Site settings - Cleanup

        How does it look?

        When a user gets deleted and OneDrive access delegation is enabled, then the users’ manager receives a mail. Atleast in my Test-Tenant the E-Mail lacks any professional design. It’s just a wall of text:

        Info E-Mail to a manager regarding OneDrive of a subordinate

        Adele Vance’s account has been deleted from the Active Directory. Their OneDrive for Business will be preserved for 30 days. You’re the temporary owner of all documents saved to their OneDrive for Business. If you would like to save content beyond the 30 day retention period, you can copy important documents to another location. You can also contact your administrator to reassign ownership to another OneDrive for Business owner. After 30 days, Adele Vance’s OneDrive for Business will be permanently deleted. Go to Adele Vance’s OneDrive for Business at https://diecknetdemotenant-my.sharepoint.com/personal/adelev_yr2z8_onmicrosoft_com/Documents/Forms/All.aspx

        And then 7 days before the OneDrive gets deleted the manager receives a reminder:

        Info E-Mail to a manager regarding expiring OneDrive of a subordinate

        Adele Vance’s OneDrive for Business is scheduled for permanent deletion in 7 days. You still have time to copy important documents to another location. After 7 days, Adele Vance’s OneDrive for Business will be permanently deleted. Go to Adele Vance’s OneDrive for Business at https://diecknetdemotenant-my.sharepoint.com/personal/adelev_yr2z8_onmicrosoft_com

        If they then open the link, they can access all data in the OneDrive site.

        Who changed the “Enable access delegation” setting?

        If the setting in not in the state you expected, you might want to check the Microsoft 365 Admin Audit Log, if someone changed it in the past. Sadly the option is not available under “Activities - friendly names”. You need to search by “Activities - operation names” for AccessDelegationOnMySiteCleaneupEnabledSet.

        Activities - operation namesOption in the GUI
        AccessDelegationOnMySiteCleaneupEnabledSetEnable access delegation
        SecondaryMySiteOwnerSetSecondary Owner

        I put this here, because (once again) I didn’t find proper Documentation from Microsoft regarding this topic.

        Search the M365 Audit Log for SharePoint Online - My Site settings - Cleanup - Change events

        Reporting on delegated OneDrives

        A client of mine stumbled about that setting and realized it was enabled, eventhough they have huge privacy concerns regarding it. It really depends on the company and their policies. They quickly changed the setting and asked me about a way to report which OneDrive sites are currently auto-delegated to a manager. And also to remove those delegations.

        To gather the data I used PowerShell with the additional module Microsoft.Online.SharePoint.PowerShell. To compare it with the users in the tenant, I used the old AzureAD module. I also could’ve used the newer Microsoft.Graph module, but in this case it was easier to use the old stuff.

        I had the “SharePoint Administrator” admin role in the tenant, but I couldn’t read the permissions of the OneDrives sites with that. Apparently to even read the permissions of a SPO site, I had to add my admin account as a Site Collection Admin to every site. Kinda ironic that I had to do that, to find out about potential other admin assignments. I removed my permissions afterwards. So to collect all the data I used the following script.

         1
          2
          3
        @@ -313,5 +313,5 @@
          | 
         Imprint
          | 
        -Privacy
        +Privacy
         
        \ No newline at end of file
        diff --git a/en/2024/02/22/Migrating-from-11ty-to-Hugo/index.html b/en/2024/02/22/Migrating-from-11ty-to-Hugo/index.html
        index df3b7c69..db5ff7eb 100644
        --- a/en/2024/02/22/Migrating-from-11ty-to-Hugo/index.html
        +++ b/en/2024/02/22/Migrating-from-11ty-to-Hugo/index.html
        @@ -1,5 +1,5 @@
         Migrating from 11ty to Hugo | diecknet
        -

        Migrating from 11ty to Hugo

        I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great.
        I’ll just ramble a bit now what I did to migrate my blog.

        Moving images from /assets/ to /static/

        With 11ty I used /assets/ to store my images. With Hugo this folder is used to process certain assets. Instead there is a folder /static/. I just moved everything over and used “Search and Replace” with VSCode to replace the old paths.

        Config file format

        With Hugo you’re free to use either YAML, TOML or JSON for your configuration. I initially chose to use JSON for my main config file. Simply because:

        • I’m a bit afraid of YAML because of the indentations
        • and never used TOML before.

        A few moments later… Actually I just looked up TOML and it looks neat. I rewrote my config file to TOML.

        URLs

        Okay. I wanted to keep my existing URLs that I used in 11ty (and some of them even back with Jekyll). +

        Migrating from 11ty to Hugo

        I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great.
        I’ll just ramble a bit now what I did to migrate my blog.

        Moving images from /assets/ to /static/

        With 11ty I used /assets/ to store my images. With Hugo this folder is used to process certain assets. Instead there is a folder /static/. I just moved everything over and used “Search and Replace” with VSCode to replace the old paths.

        Config file format

        With Hugo you’re free to use either YAML, TOML or JSON for your configuration. I initially chose to use JSON for my main config file. Simply because:

        • I’m a bit afraid of YAML because of the indentations
        • and never used TOML before.

        A few moments later… Actually I just looked up TOML and it looks neat. I rewrote my config file to TOML.

        URLs

        Okay. I wanted to keep my existing URLs that I used in 11ty (and some of them even back with Jekyll). Apparently the default settings omit the language code of the default language. Furthermore all my posts are in a directory structure like /content/<language-code>/posts/<year>/, but the actual URLs are like /<languagecode>/<year>/<month>/<day>/. So I had to customize the permalinks option.

        I added the following options to my Hugo config:

         1
          2
          3
        @@ -131,5 +131,5 @@
          | 
         Imprint
          | 
        -Privacy
        +Privacy
         
        \ No newline at end of file
        diff --git a/en/2024/08/07/powershell-active-directory-computers-filtering/index.html b/en/2024/08/07/powershell-active-directory-computers-filtering/index.html
        index 59b42fc4..83df18a1 100644
        --- a/en/2024/08/07/powershell-active-directory-computers-filtering/index.html
        +++ b/en/2024/08/07/powershell-active-directory-computers-filtering/index.html
        @@ -2,7 +2,7 @@
         

        PowerShell: Filter Active Directory Computers

        I recently worked on a client project, where I had to do some work around Active Directory Computers. I used PowerShell and some light filtering and processing. And now I share those examples, and hopefully someone finds them interesting or helpful. Maybe it will be me, who finds it interesting in the future. In that case: Moin Andi! 👋

        Example 1: Filter Computer by Operating System Version

        The AD attribute OperatingSystemVersion holds the OS version with the build number in a format like this: 10.0 (19041)

        I needed to find some older devices, but it’s not possible to compare with a “less than” operator against the attribute value. So I only extracted the actual build number in the parenthesis using the -match operator and a Regular Expression. If the RegEx matches, the extracted result is extracted into the automatic variable $Matches.

        Then I could eventually compare the build number using the “less than” (-lt) operator. If the device was using a older build version than 19042, I added the computer to a specific security group.

         1
        +Example 1: Filter Computer by Operating System Version The AD attribute OperatingSystemVersion holds the OS version with the build number in a format like this: 10.">

        PowerShell: Filter Active Directory Computers

        I recently worked on a client project, where I had to do some work around Active Directory Computers. I used PowerShell and some light filtering and processing. And now I share those examples, and hopefully someone finds them interesting or helpful. Maybe it will be me, who finds it interesting in the future. In that case: Moin Andi! 👋

        Example 1: Filter Computer by Operating System Version

        The AD attribute OperatingSystemVersion holds the OS version with the build number in a format like this: 10.0 (19041)

        I needed to find some older devices, but it’s not possible to compare with a “less than” operator against the attribute value. So I only extracted the actual build number in the parenthesis using the -match operator and a Regular Expression. If the RegEx matches, the extracted result is extracted into the automatic variable $Matches.

        Then I could eventually compare the build number using the “less than” (-lt) operator. If the device was using a older build version than 19042, I added the computer to a specific security group.

         1
          2
          3
          4
        @@ -42,5 +42,5 @@
          | 
         Imprint
          | 
        -Privacy
        +Privacy
         
        \ No newline at end of file
        diff --git a/en/2024/08/21/powershell-calculated-properties/index.html b/en/2024/08/21/powershell-calculated-properties/index.html
        index c32f1717..467f9eef 100644
        --- a/en/2024/08/21/powershell-calculated-properties/index.html
        +++ b/en/2024/08/21/powershell-calculated-properties/index.html
        @@ -5,7 +5,7 @@
         This can be used, for example, to
         Rename properties Format property values Create completely custom properties (e.g. by calling additional cmdlets) Output objects normally As a reminder: The selection of object properties with Select-Object is possible with the -Property parameter.">

        PowerShell Calculated Properties

        If you export data via PowerShell (for example to a CSV file via Export-CSV), the original property names of the PowerShell objects are used. However, if these are not fully fitting for your purpose, you can also customize them. So-called “Calculated Properties” and the cmdlet Select-Object can be used for this.

        This can be used, for example, to

        • Rename properties
        • Format property values
        • Create completely custom properties (e.g. by calling additional cmdlets)

        Output objects normally

        As a reminder: The selection of object properties with Select-Object is possible with the -Property parameter. However, the parameter usually does not have to be named explicitly.

        1
        +Rename properties Format property values Create completely custom properties (e.g. by calling additional cmdlets) Output objects normally As a reminder: The selection of object properties with Select-Object is possible with the -Property parameter.">

        PowerShell Calculated Properties

        If you export data via PowerShell (for example to a CSV file via Export-CSV), the original property names of the PowerShell objects are used. However, if these are not fully fitting for your purpose, you can also customize them. So-called “Calculated Properties” and the cmdlet Select-Object can be used for this.

        This can be used, for example, to

        • Rename properties
        • Format property values
        • Create completely custom properties (e.g. by calling additional cmdlets)

        Output objects normally

        As a reminder: The selection of object properties with Select-Object is possible with the -Property parameter. However, the parameter usually does not have to be named explicitly.

        1
         2
         3
         4
        @@ -245,5 +245,5 @@
          | 
         Imprint
          | 
        -Privacy
        +Privacy
         
        \ No newline at end of file
        diff --git a/en/2024/08/30/powershell-ntfs-alternate-data-streams/index.html b/en/2024/08/30/powershell-ntfs-alternate-data-streams/index.html
        index 1f1df49a..2430bda9 100644
        --- a/en/2024/08/30/powershell-ntfs-alternate-data-streams/index.html
        +++ b/en/2024/08/30/powershell-ntfs-alternate-data-streams/index.html
        @@ -2,7 +2,7 @@
         

        PowerShell NTFS Alternate Data Streams

        The NTFS file system is used by default in Windows. And normally a file has only one associated normal data stream with the name :$DATA. But there are also the so-called “Alternate Data Streams” (ADS), which can contain additional data. These ADS are not visible in the Windows Explorer or most other applications.

        ADS are sometimes used by the system, but could also be used by attackers to hide data.

        Read NTFS Alternate Data Streams

        Many web browsers on windows stamp downloaded files from the Internet with a “Mark of the web” (MOTW) in the Zone.Identifier stream. This stream contains information about the source of the file - e.g. that it was downloaded from the Internet. +ADS are sometimes used by the system, but could also be used by attackers to hide data.">

        PowerShell NTFS Alternate Data Streams

        The NTFS file system is used by default in Windows. And normally a file has only one associated normal data stream with the name :$DATA. But there are also the so-called “Alternate Data Streams” (ADS), which can contain additional data. These ADS are not visible in the Windows Explorer or most other applications.

        ADS are sometimes used by the system, but could also be used by attackers to hide data.

        Read NTFS Alternate Data Streams

        Many web browsers on windows stamp downloaded files from the Internet with a “Mark of the web” (MOTW) in the Zone.Identifier stream. This stream contains information about the source of the file - e.g. that it was downloaded from the Internet. To read the content of an ADS, you can simply use Get-Content with the -Stream parameter and the stream name. Alternatively, :<name of stream> can be appended to the file name.

        1
         2
         3
        @@ -57,5 +57,5 @@
          | 
         Imprint
          | 
        -Privacy
        +Privacy
         
        \ No newline at end of file
        diff --git a/en/2024/09/24/tryhackme-blueprint/index.html b/en/2024/09/24/tryhackme-blueprint/index.html
        index 7b17233d..79ec530e 100644
        --- a/en/2024/09/24/tryhackme-blueprint/index.html
        +++ b/en/2024/09/24/tryhackme-blueprint/index.html
        @@ -14,7 +14,7 @@
         Do you have what is takes to hack into this Windows Machine?
         And the questions:
         “Lab” user NTLM hash decrypted root.txt So we can assume it’s a Windows machine.
        -Discovery I booted up my Kali linux machine and created a folder on my Desktop to use as a workspace.">

        TryHackMe Blueprint - Cyber Security Write-Up

        I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”.

        Tasks

        The only info that we have is:

        Do you have what is takes to hack into this Windows Machine?

        And the questions:

        • “Lab” user NTLM hash decrypted
        • root.txt

        So we can assume it’s a Windows machine.

        Discovery

        I booted up my Kali linux machine and created a folder on my Desktop to use as a workspace.

         1
        +Discovery I booted up my Kali linux machine and created a folder on my Desktop to use as a workspace.">

        TryHackMe Blueprint - Cyber Security Write-Up

        I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”.

        Tasks

        The only info that we have is:

        Do you have what is takes to hack into this Windows Machine?

        And the questions:

        • “Lab” user NTLM hash decrypted
        • root.txt

        So we can assume it’s a Windows machine.

        Discovery

        I booted up my Kali linux machine and created a folder on my Desktop to use as a workspace.

         1
          2
          3
          4
        @@ -332,5 +332,5 @@
          | 
         Imprint
          | 
        -Privacy
        +Privacy
         
        \ No newline at end of file
        diff --git a/en/2024/11/25/powershell-show-adba-infos/index.html b/en/2024/11/25/powershell-show-adba-infos/index.html
        index 19174b20..76b525fa 100644
        --- a/en/2024/11/25/powershell-show-adba-infos/index.html
        +++ b/en/2024/11/25/powershell-show-adba-infos/index.html
        @@ -5,12 +5,12 @@
         1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work.
         Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain.'>

        Retrieve infos about Active Directory Based Activation via PowerShell

        If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner:

        1
        +Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain.'>

        Retrieve infos about Active Directory Based Activation via PowerShell

        If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner:

        1
         
        Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey }
         

        I haven’t tested it in a multi-domain environment, but I think it should work.

        Explanation

        The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain. This should make the code portable.

        Regarding the aliases:

        • % is an alias for ForEach-Object
        • fl is an alias for Format-List
        +Privacy
        \ No newline at end of file diff --git a/en/404.html b/en/404.html index e1269fd5..d4ed038d 100644 --- a/en/404.html +++ b/en/404.html @@ -1,7 +1,7 @@ 404 Page not found | diecknet -
        404
        © 2024 diecknet +
        404
        +Privacy
        \ No newline at end of file diff --git a/en/about/index.html b/en/about/index.html index 954c97ac..a35ec4b6 100644 --- a/en/about/index.html +++ b/en/about/index.html @@ -2,9 +2,9 @@

        About

        Hey!

        Hey! 👋

        My name is Andreas Dieckmann and I’m from Hamburg, Germany. I like technology, IT, coding and Open Source. And nature, forests, lakes and video games.

        I work as a self employed IT-Consultant with focus on IT-Security, Microsoft 365 and Microsoft Azure. But I also work with other technologies. Except of this website here, I’m also running a (German) YouTube Channel.

        © 2024 diecknet +I work as a self employed IT-Consultant with focus on IT-Security, Microsoft 365 and Microsoft Azure. But I also work with other technologies. Except of this website here, I’m also running a (German) YouTube Channel.">

        About

        Hey!

        Hey! 👋

        My name is Andreas Dieckmann and I’m from Hamburg, Germany. I like technology, IT, coding and Open Source. And nature, forests, lakes and video games.

        I work as a self employed IT-Consultant with focus on IT-Security, Microsoft 365 and Microsoft Azure. But I also work with other technologies. Except of this website here, I’m also running a (German) YouTube Channel.

        +Privacy
        \ No newline at end of file diff --git a/en/archive/index.html b/en/archive/index.html index 2b2b7f13..8c26c50c 100644 --- a/en/archive/index.html +++ b/en/archive/index.html @@ -1,7 +1,7 @@ Archive | diecknet -

        2024  6

        November  1

        Retrieve infos about Active Directory Based Activation via PowerShell

        2024-11-25 · 1 min · Andreas Dieckmann

        September  1

        TryHackMe Blueprint - Cyber Security Write-Up

        2024-09-24 · 6 min · Andreas Dieckmann

        August  3

        PowerShell NTFS Alternate Data Streams

        2024-08-30 · 3 min · Andreas Dieckmann

        PowerShell Calculated Properties

        2024-08-21 · 7 min · Andreas Dieckmann

        PowerShell: Filter Active Directory Computers

        2024-08-07 · 2 min · Andreas Dieckmann

        February  1

        Migrating from 11ty to Hugo

        2024-02-22 · 7 min · Andreas Dieckmann

        2023  5

        September  1

        OneDrive for Business - Delegation to Manager after employee leaves company

        2023-09-25 · 8 min · Andreas Dieckmann

        May  2

        Set PowerShell ConstrainedLanguage Mode per Group Policy

        2023-05-20 · 6 min · Andreas Dieckmann

        Exchange EAC stopped working after decomissioning all Mailbox Databases

        2023-05-16 · 3 min · Andreas Dieckmann

        February  1

        Use ntfy.sh with Home Assistant

        2023-02-12 · 2 min · Andreas Dieckmann

        January  1

        Automate Exchange Online with Azure Automation in 2024

        2023-01-09 · 4 min · Andreas Dieckmann

        2022  5

        July  1

        Set Azure AD Connect Staging Mode via PowerShell

        2022-07-21 · 2 min · Andreas Dieckmann

        June  3

        Exchange Server Setup Incomplete but fails to complete

        2022-06-23 · 8 min · Andreas Dieckmann

        How to remove all merged Git Branches on Windows

        2022-06-21 · 2 min · Andreas Dieckmann

        How to get Group Membership count with Microsoft Graph API

        2022-06-16 · 1 min · Andreas Dieckmann

        February  1

        How to configure MFA methods for Azure AD

        2022-02-02 · 1 min · Andreas Dieckmann

        2021  12

        December  1

        List all Users with administrative roles in a Microsoft 365 environment

        2021-12-13 · 2 min · Andreas Dieckmann

        November  2

        List all Microsoft Booking Calendars

        2021-11-12 · 2 min · Andreas Dieckmann

        Verify Auto-Expanding Archives in Exchange Online

        2021-11-04 · 2 min · Andreas Dieckmann

        October  4

        The Downside of going serverless

        2021-10-27 · 3 min · Andreas Dieckmann

        Using PowerShell Regular Expressions to match against filenames

        2021-10-25 · 1 min · Andreas Dieckmann

        Run PowerShell Script with Windows Task Scheduler

        2021-10-13 · 1 min · Andreas Dieckmann

        Set Teams Meeting Dial-in number using PowerShell

        2021-10-05 · 2 min · Andreas Dieckmann

        August  1

        Moving from Skype for Business to Teams sucks

        2021-08-18 · 4 min · Andreas Dieckmann

        July  1

        Retrieve the Timezone of a Sharepoint Online Site using PowerShell

        2021-07-09 · 5 min · Andreas Dieckmann

        June  2

        How long are deleted Teams Channels retained?

        2021-06-29 · 1 min · Andreas Dieckmann

        Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

        2021-06-27 · 1 min · Andreas Dieckmann

        May  1

        My simple serverless journey was not that easy

        2021-05-02 · 8 min · Andreas Dieckmann

        2020  6

        June  1

        Office 365 Trial Licenses

        2020-06-10 · 2 min · Andreas Dieckmann

        May  3

        Check NTFS Permissions using Powershell

        2020-05-20 · 1 min · Andreas Dieckmann

        Exchange Online: Apple Internet Accounts - Need admin approval

        2020-05-10 · 5 min · Andreas Dieckmann

        Exchange Hybrid: HCW8064 OAuth configuration couldn’t get performed

        2020-05-01 · 4 min · Andreas Dieckmann

        January  2

        Exchange - When was that mailbox REALLY created?

        2020-01-25 · 2 min · Andreas Dieckmann

        Exchange Room Mailbox - Set Permissions

        2020-01-15 · 2 min · Andreas Dieckmann

        2019  2

        December  1

        Outlook Certificate Warning after Office 365 Migration

        2019-12-18 · 1 min · Andreas Dieckmann

        October  1

        A new blog

        2019-10-21 · 2 min · Andreas Dieckmann
        © 2024 diecknet +

        2024  6

        November  1

        Retrieve infos about Active Directory Based Activation via PowerShell

        2024-11-25 · 1 min · Andreas Dieckmann

        September  1

        TryHackMe Blueprint - Cyber Security Write-Up

        2024-09-24 · 6 min · Andreas Dieckmann

        August  3

        PowerShell NTFS Alternate Data Streams

        2024-08-30 · 3 min · Andreas Dieckmann

        PowerShell Calculated Properties

        2024-08-21 · 7 min · Andreas Dieckmann

        PowerShell: Filter Active Directory Computers

        2024-08-07 · 2 min · Andreas Dieckmann

        February  1

        Migrating from 11ty to Hugo

        2024-02-22 · 7 min · Andreas Dieckmann

        2023  5

        September  1

        OneDrive for Business - Delegation to Manager after employee leaves company

        2023-09-25 · 8 min · Andreas Dieckmann

        May  2

        Set PowerShell ConstrainedLanguage Mode per Group Policy

        2023-05-20 · 6 min · Andreas Dieckmann

        Exchange EAC stopped working after decomissioning all Mailbox Databases

        2023-05-16 · 3 min · Andreas Dieckmann

        February  1

        Use ntfy.sh with Home Assistant

        2023-02-12 · 2 min · Andreas Dieckmann

        January  1

        Automate Exchange Online with Azure Automation in 2024

        2023-01-09 · 4 min · Andreas Dieckmann

        2022  5

        July  1

        Set Azure AD Connect Staging Mode via PowerShell

        2022-07-21 · 2 min · Andreas Dieckmann

        June  3

        Exchange Server Setup Incomplete but fails to complete

        2022-06-23 · 8 min · Andreas Dieckmann

        How to remove all merged Git Branches on Windows

        2022-06-21 · 2 min · Andreas Dieckmann

        How to get Group Membership count with Microsoft Graph API

        2022-06-16 · 1 min · Andreas Dieckmann

        February  1

        How to configure MFA methods for Azure AD

        2022-02-02 · 1 min · Andreas Dieckmann

        2021  12

        December  1

        List all Users with administrative roles in a Microsoft 365 environment

        2021-12-13 · 2 min · Andreas Dieckmann

        November  2

        List all Microsoft Booking Calendars

        2021-11-12 · 2 min · Andreas Dieckmann

        Verify Auto-Expanding Archives in Exchange Online

        2021-11-04 · 2 min · Andreas Dieckmann

        October  4

        The Downside of going serverless

        2021-10-27 · 3 min · Andreas Dieckmann

        Using PowerShell Regular Expressions to match against filenames

        2021-10-25 · 1 min · Andreas Dieckmann

        Run PowerShell Script with Windows Task Scheduler

        2021-10-13 · 1 min · Andreas Dieckmann

        Set Teams Meeting Dial-in number using PowerShell

        2021-10-05 · 2 min · Andreas Dieckmann

        August  1

        Moving from Skype for Business to Teams sucks

        2021-08-18 · 4 min · Andreas Dieckmann

        July  1

        Retrieve the Timezone of a Sharepoint Online Site using PowerShell

        2021-07-09 · 5 min · Andreas Dieckmann

        June  2

        How long are deleted Teams Channels retained?

        2021-06-29 · 1 min · Andreas Dieckmann

        Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

        2021-06-27 · 1 min · Andreas Dieckmann

        May  1

        My simple serverless journey was not that easy

        2021-05-02 · 8 min · Andreas Dieckmann

        2020  6

        June  1

        Office 365 Trial Licenses

        2020-06-10 · 2 min · Andreas Dieckmann

        May  3

        Check NTFS Permissions using Powershell

        2020-05-20 · 1 min · Andreas Dieckmann

        Exchange Online: Apple Internet Accounts - Need admin approval

        2020-05-10 · 5 min · Andreas Dieckmann

        Exchange Hybrid: HCW8064 OAuth configuration couldn’t get performed

        2020-05-01 · 4 min · Andreas Dieckmann

        January  2

        Exchange - When was that mailbox REALLY created?

        2020-01-25 · 2 min · Andreas Dieckmann

        Exchange Room Mailbox - Set Permissions

        2020-01-15 · 2 min · Andreas Dieckmann

        2019  2

        December  1

        Outlook Certificate Warning after Office 365 Migration

        2019-12-18 · 1 min · Andreas Dieckmann

        October  1

        A new blog

        2019-10-21 · 2 min · Andreas Dieckmann
        +Privacy
        \ No newline at end of file diff --git a/en/categories/index.html b/en/categories/index.html index 2766d42e..30f47dbf 100644 --- a/en/categories/index.html +++ b/en/categories/index.html @@ -1,7 +1,7 @@ Categories | diecknet -
          © 2024 diecknet +
            +Privacy
            \ No newline at end of file diff --git a/en/index.html b/en/index.html index 42b0579c..5485a007 100644 --- a/en/index.html +++ b/en/index.html @@ -1,8 +1,8 @@ -diecknet -

            Moin.

            Andreas Dieckmann here. I work as an selfemployed IT consultant and have been in the industry for years. I'm sharing IT related blog posts here to help others.

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: +diecknet +

            Moin.

            Andreas Dieckmann here. I work as an selfemployed IT consultant and have been in the industry for years. I'm sharing IT related blog posts here to help others.

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: 1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work. Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain....

            2024-11-25 · 1 min · Andreas Dieckmann

            TryHackMe Blueprint - Cyber Security Write-Up

            I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”. Tasks The only info that we have is: @@ -24,5 +24,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/legal/index.html b/en/legal/index.html index 0814df77..4f1f78ed 100644 --- a/en/legal/index.html +++ b/en/legal/index.html @@ -1,7 +1,7 @@ Legal info | diecknet -
            © 2024 diecknet +
            +Privacy
            \ No newline at end of file diff --git a/en/page/2/index.html b/en/page/2/index.html index e9056070..b979d903 100644 --- a/en/page/2/index.html +++ b/en/page/2/index.html @@ -1,5 +1,5 @@ -diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +diecknet +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann

            Set Azure AD Connect Staging Mode via PowerShell

            Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server....

            2022-07-21 · 2 min · Andreas Dieckmann

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. I’ll guide you through my troubleshooting steps / thought process. @@ -17,5 +17,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/page/3/index.html b/en/page/3/index.html index a9923f79..32571cce 100644 --- a/en/page/3/index.html +++ b/en/page/3/index.html @@ -1,5 +1,5 @@ -diecknet -

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. +diecknet +

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

            2021-10-25 · 1 min · Andreas Dieckmann

            Run PowerShell Script with Windows Task Scheduler

            More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. Open Task Scheduler A quick way to open Task Scheduler: WIN + R, then run taskschd.msc. @@ -19,5 +19,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/page/4/index.html b/en/page/4/index.html index 809b5a14..f6e51848 100644 --- a/en/page/4/index.html +++ b/en/page/4/index.html @@ -1,5 +1,5 @@ -diecknet -

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: +diecknet +

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps. @@ -18,5 +18,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/posts/index.html b/en/posts/index.html index 3a4c62c5..16f6cf9e 100644 --- a/en/posts/index.html +++ b/en/posts/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: +

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: 1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work. Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain....

            2024-11-25 · 1 min · Andreas Dieckmann

            TryHackMe Blueprint - Cyber Security Write-Up

            I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”. Tasks The only info that we have is: @@ -21,5 +21,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/posts/page/2/index.html b/en/posts/page/2/index.html index 8b0552f1..35cd46ff 100644 --- a/en/posts/page/2/index.html +++ b/en/posts/page/2/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann

            Set Azure AD Connect Staging Mode via PowerShell

            Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server....

            2022-07-21 · 2 min · Andreas Dieckmann

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. I’ll guide you through my troubleshooting steps / thought process. @@ -17,5 +17,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/posts/page/3/index.html b/en/posts/page/3/index.html index ae136d73..e2cce51c 100644 --- a/en/posts/page/3/index.html +++ b/en/posts/page/3/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. +

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

            2021-10-25 · 1 min · Andreas Dieckmann

            Run PowerShell Script with Windows Task Scheduler

            More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. Open Task Scheduler A quick way to open Task Scheduler: WIN + R, then run taskschd.msc. @@ -19,5 +19,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/posts/page/4/index.html b/en/posts/page/4/index.html index 3fe5da5e..401987b5 100644 --- a/en/posts/page/4/index.html +++ b/en/posts/page/4/index.html @@ -1,5 +1,5 @@ Posts | diecknet -

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: +

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps. @@ -18,5 +18,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/privacy/index.html b/en/privacy/index.html index 752f90e3..851fa53f 100644 --- a/en/privacy/index.html +++ b/en/privacy/index.html @@ -1,7 +1,7 @@ Privacy | diecknet -
            © 2024 diecknet +
            +Privacy
            \ No newline at end of file diff --git a/en/services/index.html b/en/services/index.html index f6721e92..c4dfdbe0 100644 --- a/en/services/index.html +++ b/en/services/index.html @@ -5,9 +5,9 @@ I mainly support my clients in these areas: PowerShell Microsoft 365 Entra ID Active Directory Windows Server Microsoft Azure Security But I’m generally open for other topics and technologies.">

            Services

            IT-Consulting for Businesses

            If you as a company need support in IT-Projects, feel free to reach out via E-Mail: andreas@diecknet.de. We can setup a meeting to discuss working together.

            I mainly support my clients in these areas:

            • PowerShell
            • Microsoft 365
            • Entra ID
            • Active Directory
            • Windows Server
            • Microsoft Azure
            • Security

            But I’m generally open for other topics and technologies.

            © 2024 diecknet +PowerShell Microsoft 365 Entra ID Active Directory Windows Server Microsoft Azure Security But I’m generally open for other topics and technologies.">

            Services

            IT-Consulting for Businesses

            If you as a company need support in IT-Projects, feel free to reach out via E-Mail: andreas@diecknet.de. We can setup a meeting to discuss working together.

            I mainly support my clients in these areas:

            • PowerShell
            • Microsoft 365
            • Entra ID
            • Active Directory
            • Windows Server
            • Microsoft Azure
            • Security

            But I’m generally open for other topics and technologies.

            +Privacy
            \ No newline at end of file diff --git a/en/tags/11ty/index.html b/en/tags/11ty/index.html index 3c8bedd9..f1f7f1a9 100644 --- a/en/tags/11ty/index.html +++ b/en/tags/11ty/index.html @@ -1,7 +1,7 @@ 11ty | diecknet -

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            © 2024 diecknet +

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/Active-Directory/index.html b/en/tags/Active-Directory/index.html index 9368973e..3f7e2653 100644 --- a/en/tags/Active-Directory/index.html +++ b/en/tags/Active-Directory/index.html @@ -1,10 +1,10 @@ Active Directory | diecknet -

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: +

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: 1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work. Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain....

            2024-11-25 · 1 min · Andreas Dieckmann

            PowerShell: Filter Active Directory Computers

            I recently worked on a client project, where I had to do some work around Active Directory Computers. I used PowerShell and some light filtering and processing. And now I share those examples, and hopefully someone finds them interesting or helpful. Maybe it will be me, who finds it interesting in the future. In that case: Moin Andi! 👋 Example 1: Filter Computer by Operating System Version The AD attribute OperatingSystemVersion holds the OS version with the build number in a format like this: 10....

            2024-08-07 · 2 min · Andreas Dieckmann

            Exchange EAC stopped working after decomissioning all Mailbox Databases

            I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers....

            2023-05-16 · 3 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/Exchange-Server/index.html b/en/tags/Exchange-Server/index.html index ae3dc570..764d85bc 100644 --- a/en/tags/Exchange-Server/index.html +++ b/en/tags/Exchange-Server/index.html @@ -1,7 +1,7 @@ Exchange Server | diecknet -

            Exchange EAC stopped working after decomissioning all Mailbox Databases

            I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers....

            2023-05-16 · 3 min · Andreas Dieckmann
            © 2024 diecknet +

            Exchange EAC stopped working after decomissioning all Mailbox Databases

            I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers....

            2023-05-16 · 3 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/Hybrid/index.html b/en/tags/Hybrid/index.html index 041b64e5..ab35c459 100644 --- a/en/tags/Hybrid/index.html +++ b/en/tags/Hybrid/index.html @@ -1,7 +1,7 @@ Hybrid | diecknet -

            Exchange EAC stopped working after decomissioning all Mailbox Databases

            I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers....

            2023-05-16 · 3 min · Andreas Dieckmann
            © 2024 diecknet +

            Exchange EAC stopped working after decomissioning all Mailbox Databases

            I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers....

            2023-05-16 · 3 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/Microsoft.Online.SharePoint.PowerShell/index.html b/en/tags/Microsoft.Online.SharePoint.PowerShell/index.html index 43aed235..cde12d8b 100644 --- a/en/tags/Microsoft.Online.SharePoint.PowerShell/index.html +++ b/en/tags/Microsoft.Online.SharePoint.PowerShell/index.html @@ -1,8 +1,8 @@ Microsoft.Online.SharePoint.PowerShell | diecknet -

            Retrieve the Timezone of a Sharepoint Online Site using PowerShell

            I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell. +

            Retrieve the Timezone of a Sharepoint Online Site using PowerShell

            I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell. There are some infos online about using the PNPOnline Module, but that was not practical in my case. There are even some really annoying articles out, that claim to to provide a PowerShell way....

            2021-07-09 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/MicrosoftTeams/index.html b/en/tags/MicrosoftTeams/index.html index e243b5cc..74779f36 100644 --- a/en/tags/MicrosoftTeams/index.html +++ b/en/tags/MicrosoftTeams/index.html @@ -1,9 +1,9 @@ MicrosoftTeams | diecknet -

            Moving from Skype for Business to Teams sucks

            The upgrade process from Skype for Business Online to Microsoft Teams is a disaster. I had several SMB clients reporting unnecessary errors regarding Teams/Skype. With unnecessary I mean: They had no issues using Teams until 2021-07-31. +

            Moving from Skype for Business to Teams sucks

            The upgrade process from Skype for Business Online to Microsoft Teams is a disaster. I had several SMB clients reporting unnecessary errors regarding Teams/Skype. With unnecessary I mean: They had no issues using Teams until 2021-07-31. Issue: Suddenly Skype Meetings are back in Outlook mobile One client reported, that they suddenly have Skype Meetings in Outlook on iOS again, instead of Teams Meetings. That particular client manages their Microsoft 365 tenant themselves....

            2021-08-18 · 4 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/SkypeForBusiness/index.html b/en/tags/SkypeForBusiness/index.html index 185da125..9ceaf882 100644 --- a/en/tags/SkypeForBusiness/index.html +++ b/en/tags/SkypeForBusiness/index.html @@ -1,9 +1,9 @@ SkypeForBusiness | diecknet -

            Moving from Skype for Business to Teams sucks

            The upgrade process from Skype for Business Online to Microsoft Teams is a disaster. I had several SMB clients reporting unnecessary errors regarding Teams/Skype. With unnecessary I mean: They had no issues using Teams until 2021-07-31. +

            Moving from Skype for Business to Teams sucks

            The upgrade process from Skype for Business Online to Microsoft Teams is a disaster. I had several SMB clients reporting unnecessary errors regarding Teams/Skype. With unnecessary I mean: They had no issues using Teams until 2021-07-31. Issue: Suddenly Skype Meetings are back in Outlook mobile One client reported, that they suddenly have Skype Meetings in Outlook on iOS again, instead of Teams Meetings. That particular client manages their Microsoft 365 tenant themselves....

            2021-08-18 · 4 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/about/index.html b/en/tags/about/index.html index 878fa3ee..7a605d8f 100644 --- a/en/tags/about/index.html +++ b/en/tags/about/index.html @@ -1,5 +1,5 @@ About | diecknet -

            A new blog

            That’s about how the conversation went when I told the first person about my blog plans. +

            A new blog

            That’s about how the conversation went when I told the first person about my blog plans. B: Your cell phone is ringing… A: Oh, what? taps on the cell phone … B: 2001 called and wants his blog back! @@ -9,5 +9,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/accessrights/index.html b/en/tags/accessrights/index.html index 8235d5e6..01fd068c 100644 --- a/en/tags/accessrights/index.html +++ b/en/tags/accessrights/index.html @@ -1,9 +1,9 @@ Accessrights | diecknet -

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. +

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. The correct storage permissions are: User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers...

            2020-05-20 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/acl/index.html b/en/tags/acl/index.html index 5e7c91a3..97cc9f4b 100644 --- a/en/tags/acl/index.html +++ b/en/tags/acl/index.html @@ -1,9 +1,9 @@ Acl | diecknet -

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. +

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. The correct storage permissions are: User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers...

            2020-05-20 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/adba/index.html b/en/tags/adba/index.html index d17cca26..63e33cd5 100644 --- a/en/tags/adba/index.html +++ b/en/tags/adba/index.html @@ -1,9 +1,9 @@ Adba | diecknet -

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: +

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: 1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work. Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain....

            2024-11-25 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/apple/index.html b/en/tags/apple/index.html index 42dd756f..31f81531 100644 --- a/en/tags/apple/index.html +++ b/en/tags/apple/index.html @@ -1,9 +1,9 @@ Apple | diecknet -

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: +

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/archive-mailbox/index.html b/en/tags/archive-mailbox/index.html index 674dc51e..4afea9c2 100644 --- a/en/tags/archive-mailbox/index.html +++ b/en/tags/archive-mailbox/index.html @@ -1,9 +1,9 @@ Archive Mailbox | diecknet -

            Verify Auto-Expanding Archives in Exchange Online

            If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage. +

            Verify Auto-Expanding Archives in Exchange Online

            If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage. In the Exchange Admin Center (EAC), open the info pane of the user’s mailbox. Click on “Manage mailbox archive”. An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage....

            2021-11-04 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/azure-ad-connect/index.html b/en/tags/azure-ad-connect/index.html index 5f307542..c83406ba 100644 --- a/en/tags/azure-ad-connect/index.html +++ b/en/tags/azure-ad-connect/index.html @@ -1,8 +1,8 @@ Azure Ad Connect | diecknet -

            Set Azure AD Connect Staging Mode via PowerShell

            Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. +

            Set Azure AD Connect Staging Mode via PowerShell

            Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server....

            2022-07-21 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/azure-ad/index.html b/en/tags/azure-ad/index.html index 6530c908..29f61435 100644 --- a/en/tags/azure-ad/index.html +++ b/en/tags/azure-ad/index.html @@ -1,5 +1,5 @@ Azure Ad | diecknet -

            Set Azure AD Connect Staging Mode via PowerShell

            Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. +

            Set Azure AD Connect Staging Mode via PowerShell

            Here’s a quick tip on howto enable or disable the Staging Mode in Azure AD Connect via PowerShell. Sadly there is no native Cmdlet in the style of Set-ADSyncStagingMode or something like that. In this article I’ll first explain the approach and then later on list the full command block you can use. So feel free to skip below to the end of the post. The following PowerShell Cmdlets have to get executed on the Azure AD Connect Server....

            2022-07-21 · 2 min · Andreas Dieckmann

            How to get Group Membership count with Microsoft Graph API

            Apparently it’s not that easy to get the amount of members of a group with the Microsoft Graph API. We need to specify the additional header ConsistencyLevel: eventual to use the Advanced Query Capabilities. Then we can use the Query parameter $count. Alternatively I found that I could also add it as an URL query parameter instead. That would be &ConsistencyLevel=eventual. Example Queries Replace the Group ID (02bd9fd6-8f93-4758-87c3-1fb73740a315) with your desired Azure Active Directory Group ID....

            2022-06-16 · 1 min · Andreas Dieckmann

            How to configure MFA methods for Azure AD

            This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn. OLD POST for reference In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place....

            2022-02-02 · 1 min · Andreas Dieckmann

            List all Users with administrative roles in a Microsoft 365 environment

            Option 1: Use M365 Admin Portal There is finally a way in the main Microsoft 365 Admin Portal. Go to “Roles” -> “Role assignments” and click on “Export admin list” to get a CSV file with all admins and their roles. @@ -7,5 +7,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/azure-virtual-desktop/index.html b/en/tags/azure-virtual-desktop/index.html index c267aa10..b12e7021 100644 --- a/en/tags/azure-virtual-desktop/index.html +++ b/en/tags/azure-virtual-desktop/index.html @@ -1,8 +1,8 @@ Azure Virtual Desktop | diecknet -

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). +

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements....

            2021-06-27 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/azure/index.html b/en/tags/azure/index.html index 42d35b53..9da58a72 100644 --- a/en/tags/azure/index.html +++ b/en/tags/azure/index.html @@ -1,9 +1,9 @@ Azure | diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements....

            2021-06-27 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/azuread/index.html b/en/tags/azuread/index.html index 24967f7f..a07ed994 100644 --- a/en/tags/azuread/index.html +++ b/en/tags/azuread/index.html @@ -1,9 +1,9 @@ Azuread | diecknet -

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: +

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/azureautomation/index.html b/en/tags/azureautomation/index.html index 5ab580df..7355d63c 100644 --- a/en/tags/azureautomation/index.html +++ b/en/tags/azureautomation/index.html @@ -1,8 +1,8 @@ Azureautomation | diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/booking-calendar/index.html b/en/tags/booking-calendar/index.html index 4f705806..459b171d 100644 --- a/en/tags/booking-calendar/index.html +++ b/en/tags/booking-calendar/index.html @@ -1,8 +1,8 @@ Booking Calendar | diecknet -

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. +

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. List all Booking Calendars with permission I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access....

            2021-11-12 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/cloud/index.html b/en/tags/cloud/index.html index 501d7636..de19984d 100644 --- a/en/tags/cloud/index.html +++ b/en/tags/cloud/index.html @@ -1,8 +1,8 @@ Cloud | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann

            My simple serverless journey was not that easy

            Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code....

            2021-05-02 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/cloudflare/index.html b/en/tags/cloudflare/index.html index eb5cc13b..9f43905c 100644 --- a/en/tags/cloudflare/index.html +++ b/en/tags/cloudflare/index.html @@ -1,8 +1,8 @@ Cloudflare | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann

            My simple serverless journey was not that easy

            Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code....

            2021-05-02 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/cloudflareworkers/index.html b/en/tags/cloudflareworkers/index.html index 02e55ebb..29c5fcd8 100644 --- a/en/tags/cloudflareworkers/index.html +++ b/en/tags/cloudflareworkers/index.html @@ -1,8 +1,8 @@ Cloudflareworkers | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann

            My simple serverless journey was not that easy

            Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code....

            2021-05-02 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/constrained-language/index.html b/en/tags/constrained-language/index.html index acaf1438..e1f05221 100644 --- a/en/tags/constrained-language/index.html +++ b/en/tags/constrained-language/index.html @@ -1,10 +1,10 @@ Constrained Language | diecknet -

            Set PowerShell ConstrainedLanguage Mode per Group Policy

            PowerShell Language Modes are a way to restrict the functionality of PowerShell to increase the security of a system. Of course, this is only one small piece in a larger security strategy, so this alone is not sufficient protection for a system. +

            Set PowerShell ConstrainedLanguage Mode per Group Policy

            PowerShell Language Modes are a way to restrict the functionality of PowerShell to increase the security of a system. Of course, this is only one small piece in a larger security strategy, so this alone is not sufficient protection for a system. At the same time, it’s also a double-edged sword: Advantage: we remove a powerful tool from potential attackers. Disadvantage: We as administrators can no longer use PowerShell properly on a system either....

            2023-05-20 · 6 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/cyber-security/index.html b/en/tags/cyber-security/index.html index e5ea5aed..6045957c 100644 --- a/en/tags/cyber-security/index.html +++ b/en/tags/cyber-security/index.html @@ -1,5 +1,5 @@ Cyber Security | diecknet -

            TryHackMe Blueprint - Cyber Security Write-Up

            I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”. +

            TryHackMe Blueprint - Cyber Security Write-Up

            I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”. Tasks The only info that we have is: Do you have what is takes to hack into this Windows Machine? And the questions: @@ -8,5 +8,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/diecknet/index.html b/en/tags/diecknet/index.html index e246646a..d52e7519 100644 --- a/en/tags/diecknet/index.html +++ b/en/tags/diecknet/index.html @@ -1,5 +1,5 @@ Diecknet | diecknet -

            A new blog

            That’s about how the conversation went when I told the first person about my blog plans. +

            A new blog

            That’s about how the conversation went when I told the first person about my blog plans. B: Your cell phone is ringing… A: Oh, what? taps on the cell phone … B: 2001 called and wants his blog back! @@ -9,5 +9,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/eleventy/index.html b/en/tags/eleventy/index.html index 58b60050..86e3a59c 100644 --- a/en/tags/eleventy/index.html +++ b/en/tags/eleventy/index.html @@ -1,7 +1,7 @@ Eleventy | diecknet -

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            © 2024 diecknet +

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/exchange-online/index.html b/en/tags/exchange-online/index.html index 048c4d2b..3590b2ed 100644 --- a/en/tags/exchange-online/index.html +++ b/en/tags/exchange-online/index.html @@ -1,10 +1,10 @@ Exchange Online | diecknet -

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. +

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. List all Booking Calendars with permission I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access....

            2021-11-12 · 2 min · Andreas Dieckmann

            Verify Auto-Expanding Archives in Exchange Online

            If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage. In the Exchange Admin Center (EAC), open the info pane of the user’s mailbox. Click on “Manage mailbox archive”. An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage....

            2021-11-04 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/exchange-server-setup/index.html b/en/tags/exchange-server-setup/index.html index 611bc22c..3a26a330 100644 --- a/en/tags/exchange-server-setup/index.html +++ b/en/tags/exchange-server-setup/index.html @@ -1,9 +1,9 @@ Exchange Server Setup | diecknet -

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. +

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. I’ll guide you through my troubleshooting steps / thought process. Try to continue Setup First I tried to resume the setup. The setup fails early - at Step 1 of 13: Stopping Services....

            2022-06-23 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/exchange/index.html b/en/tags/exchange/index.html index fca9bd50..4508cc93 100644 --- a/en/tags/exchange/index.html +++ b/en/tags/exchange/index.html @@ -1,5 +1,5 @@ Exchange | diecknet -

            Exchange EAC stopped working after decomissioning all Mailbox Databases

            I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers....

            2023-05-16 · 3 min · Andreas Dieckmann

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. +

            Exchange EAC stopped working after decomissioning all Mailbox Databases

            I had this weird issue with a Exchange Server environment: The company had an Exchange Server 2016 DAG and migrated all User Mailboxes to Exchange Online. I then installed a fresh Exchange Server 2019 for Recipient Management and SMTP-Relay. To use the Exchange Server 2019 Hybrid License, I did not create a Mailbox Database. I removed all remaining System Mailboxes and Arbitration Mailboxes from the Exchange 2016 Servers. I decomissioned the DAG and uninstalled Exchange from the old Servers....

            2023-05-16 · 3 min · Andreas Dieckmann

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. I’ll guide you through my troubleshooting steps / thought process. Try to continue Setup First I tried to resume the setup. The setup fails early - at Step 1 of 13: Stopping Services....

            2022-06-23 · 8 min · Andreas Dieckmann

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. List all Booking Calendars with permission I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access....

            2021-11-12 · 2 min · Andreas Dieckmann

            Verify Auto-Expanding Archives in Exchange Online

            If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage. @@ -17,5 +17,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/exchange2010/index.html b/en/tags/exchange2010/index.html index ec8d24db..ce0cebf4 100644 --- a/en/tags/exchange2010/index.html +++ b/en/tags/exchange2010/index.html @@ -1,5 +1,5 @@ Exchange2010 | diecknet -

            Outlook Certificate Warning after Office 365 Migration

            Outlook Certificate Warning after Office 365 Migration +

            Outlook Certificate Warning after Office 365 Migration

            Outlook Certificate Warning after Office 365 Migration Security Alert: svr1.example.com The security certificate has expired or is not valid yet I recently received a request from a customer who still received certificate warnings (expired certificate) for the old Exchange Server after migrating to Office 365. Since I was not involved in the migration, I had to get an overview first: @@ -7,5 +7,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/exchange2013/index.html b/en/tags/exchange2013/index.html index 937d0e7d..4e725f2a 100644 --- a/en/tags/exchange2013/index.html +++ b/en/tags/exchange2013/index.html @@ -1,10 +1,10 @@ Exchange2013 | diecknet -

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: +

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps. The link “more information” links to https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. If you lookup what OAuth is used for, this article comes up....

            2020-05-01 · 4 min · Andreas Dieckmann

            Exchange - When was that mailbox REALLY created?

            If you’re wondering when an Exchange mailbox got created, you will most likely stumble over the Active Directory user attribute MSExchWhenMailboxCreated. You can get the value using PowerShell or ADUC with advanced features enabled. 1 Get-ADUser -Properties MSExchMaiboxWhenCreated MSExchWhenMailboxCreated contains not the full truth That could almost be the end of the story. BUT that attribute is not what you might think. The attribute gets only propagated the FIRST time the user gets a mailbox....

            2020-01-25 · 2 min · Andreas Dieckmann

            Exchange Room Mailbox - Set Permissions

            By default, the “Calendar” folder in Exchange 2013 Room Mailboxes has the “LimitedDetails” permission for the “Standard” security principal. Therefore, if no other permissions are configured, users cannot view details for appointments in this room. For better usability in Outlook, the “Reviewer” permission is more suitable. This allows items to be listed and details to be displayed. If required, the CalendarProcessing can be adjusted so that details such as the description and subject of the appointment are not saved in the room mailbox....

            2020-01-15 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/exchangehybrid/index.html b/en/tags/exchangehybrid/index.html index 99875f2a..9badc64f 100644 --- a/en/tags/exchangehybrid/index.html +++ b/en/tags/exchangehybrid/index.html @@ -1,9 +1,9 @@ Exchangehybrid | diecknet -

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: +

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps. The link “more information” links to https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. If you lookup what OAuth is used for, this article comes up....

            2020-05-01 · 4 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/exchangeonline/index.html b/en/tags/exchangeonline/index.html index 80cc38cb..87529b85 100644 --- a/en/tags/exchangeonline/index.html +++ b/en/tags/exchangeonline/index.html @@ -1,5 +1,5 @@ Exchangeonline | diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann

            Outlook Certificate Warning after Office 365 Migration

            Outlook Certificate Warning after Office 365 Migration @@ -10,5 +10,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/exo/index.html b/en/tags/exo/index.html index 1d555338..b4d7d6e4 100644 --- a/en/tags/exo/index.html +++ b/en/tags/exo/index.html @@ -1,8 +1,8 @@ Exo | diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/filename/index.html b/en/tags/filename/index.html index f7a45645..be468c9b 100644 --- a/en/tags/filename/index.html +++ b/en/tags/filename/index.html @@ -1,9 +1,9 @@ Filename | diecknet -

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. +

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

            2021-10-25 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/fslogix/index.html b/en/tags/fslogix/index.html index f60264f4..cebddc23 100644 --- a/en/tags/fslogix/index.html +++ b/en/tags/fslogix/index.html @@ -1,9 +1,9 @@ Fslogix | diecknet -

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. +

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. The correct storage permissions are: User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers...

            2020-05-20 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/git/index.html b/en/tags/git/index.html index 7276bb45..42b17e76 100644 --- a/en/tags/git/index.html +++ b/en/tags/git/index.html @@ -1,9 +1,9 @@ Git | diecknet -

            How to remove all merged Git Branches on Windows

            Here’s a quick tip on howto remove Git Branches that were already merged (thus not necessary to keep around anymore) locally on Windows, using PowerShell. Assuming that you do have Git for Windows installed. Execute these commands on your own risk. +

            How to remove all merged Git Branches on Windows

            Here’s a quick tip on howto remove Git Branches that were already merged (thus not necessary to keep around anymore) locally on Windows, using PowerShell. Assuming that you do have Git for Windows installed. Execute these commands on your own risk. List all merged branches You can list all merged Git Branches by running: 1 git branch --merged Exclude current branch and “main” branch Then we |-pipe it into the following, to exclude the currently selected branch (marked with an asterisk *) and the main branch....

            2022-06-21 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/graph-api/index.html b/en/tags/graph-api/index.html index ef4505e6..03ffeb97 100644 --- a/en/tags/graph-api/index.html +++ b/en/tags/graph-api/index.html @@ -1,8 +1,8 @@ Graph Api | diecknet -

            How to get Group Membership count with Microsoft Graph API

            Apparently it’s not that easy to get the amount of members of a group with the Microsoft Graph API. We need to specify the additional header ConsistencyLevel: eventual to use the Advanced Query Capabilities. Then we can use the Query parameter $count. Alternatively I found that I could also add it as an URL query parameter instead. That would be &ConsistencyLevel=eventual. +

            How to get Group Membership count with Microsoft Graph API

            Apparently it’s not that easy to get the amount of members of a group with the Microsoft Graph API. We need to specify the additional header ConsistencyLevel: eventual to use the Advanced Query Capabilities. Then we can use the Query parameter $count. Alternatively I found that I could also add it as an URL query parameter instead. That would be &ConsistencyLevel=eventual. Example Queries Replace the Group ID (02bd9fd6-8f93-4758-87c3-1fb73740a315) with your desired Azure Active Directory Group ID....

            2022-06-16 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/hackathon/index.html b/en/tags/hackathon/index.html index 65308a94..1a02c74e 100644 --- a/en/tags/hackathon/index.html +++ b/en/tags/hackathon/index.html @@ -1,8 +1,8 @@ Hackathon | diecknet -

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). +

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements....

            2021-06-27 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/home-assistant/index.html b/en/tags/home-assistant/index.html index ce8bafb4..6a5d9ad2 100644 --- a/en/tags/home-assistant/index.html +++ b/en/tags/home-assistant/index.html @@ -1,9 +1,9 @@ Home Assistant | diecknet -

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. +

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. Setup I added the following section to my /config/configuration.yaml file: 1 2 3 4 5 6 7 8 9 10 11 12 13 shell_command: ntfy: > curl -X POST --url 'https://ntfy.sh/{{ topic }}' --data '{{ message }}' --header 'X-Title: {{ title }}' --header 'X-Tags: {{ tags }}' --header 'X-Priority: {{ priority }}' --header 'X-Delay: {{ delay }}' --header 'X-Actions: {{ actions }}' --header 'X-Click: {{ click }}' --header 'X-Icon: {{ icon }}' Usage To send send a notification, I use this YAML action in an Automation....

            2023-02-12 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/homeassistant/index.html b/en/tags/homeassistant/index.html index 9d28d080..2ecf1b2e 100644 --- a/en/tags/homeassistant/index.html +++ b/en/tags/homeassistant/index.html @@ -1,9 +1,9 @@ Homeassistant | diecknet -

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. +

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. Setup I added the following section to my /config/configuration.yaml file: 1 2 3 4 5 6 7 8 9 10 11 12 13 shell_command: ntfy: > curl -X POST --url 'https://ntfy.sh/{{ topic }}' --data '{{ message }}' --header 'X-Title: {{ title }}' --header 'X-Tags: {{ tags }}' --header 'X-Priority: {{ priority }}' --header 'X-Delay: {{ delay }}' --header 'X-Actions: {{ actions }}' --header 'X-Click: {{ click }}' --header 'X-Icon: {{ icon }}' Usage To send send a notification, I use this YAML action in an Automation....

            2023-02-12 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/hugo/index.html b/en/tags/hugo/index.html index 854c914e..04306657 100644 --- a/en/tags/hugo/index.html +++ b/en/tags/hugo/index.html @@ -1,7 +1,7 @@ Hugo | diecknet -

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            © 2024 diecknet +

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/index.html b/en/tags/index.html index 5293dfc8..ddcff207 100644 --- a/en/tags/index.html +++ b/en/tags/index.html @@ -1,7 +1,7 @@ Tags | diecknet -
            \ No newline at end of file diff --git a/en/tags/ios/index.html b/en/tags/ios/index.html index f176d842..3aa70740 100644 --- a/en/tags/ios/index.html +++ b/en/tags/ios/index.html @@ -1,9 +1,9 @@ Ios | diecknet -

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: +

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/ipaddress/index.html b/en/tags/ipaddress/index.html index 43da5802..e1140f53 100644 --- a/en/tags/ipaddress/index.html +++ b/en/tags/ipaddress/index.html @@ -1,8 +1,8 @@ Ipaddress | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann

            My simple serverless journey was not that easy

            Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code....

            2021-05-02 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/iphone/index.html b/en/tags/iphone/index.html index 76c36a39..b06f3d52 100644 --- a/en/tags/iphone/index.html +++ b/en/tags/iphone/index.html @@ -1,9 +1,9 @@ Iphone | diecknet -

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: +

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/language-mode/index.html b/en/tags/language-mode/index.html index 34746e0d..4ee48094 100644 --- a/en/tags/language-mode/index.html +++ b/en/tags/language-mode/index.html @@ -1,10 +1,10 @@ Language Mode | diecknet -

            Set PowerShell ConstrainedLanguage Mode per Group Policy

            PowerShell Language Modes are a way to restrict the functionality of PowerShell to increase the security of a system. Of course, this is only one small piece in a larger security strategy, so this alone is not sufficient protection for a system. +

            Set PowerShell ConstrainedLanguage Mode per Group Policy

            PowerShell Language Modes are a way to restrict the functionality of PowerShell to increase the security of a system. Of course, this is only one small piece in a larger security strategy, so this alone is not sufficient protection for a system. At the same time, it’s also a double-edged sword: Advantage: we remove a powerful tool from potential attackers. Disadvantage: We as administrators can no longer use PowerShell properly on a system either....

            2023-05-20 · 6 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/licensing/index.html b/en/tags/licensing/index.html index d9038f47..65e1c090 100644 --- a/en/tags/licensing/index.html +++ b/en/tags/licensing/index.html @@ -1,7 +1,7 @@ Licensing | diecknet -

            Office 365 Trial Licenses

            You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. A list of links to the trial licenes is further below in this article....

            2020-06-10 · 2 min · Andreas Dieckmann
            © 2024 diecknet +

            Office 365 Trial Licenses

            You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. A list of links to the trial licenes is further below in this article....

            2020-06-10 · 2 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/mfa/index.html b/en/tags/mfa/index.html index 7ee12179..bc614a59 100644 --- a/en/tags/mfa/index.html +++ b/en/tags/mfa/index.html @@ -1,8 +1,8 @@ Mfa | diecknet -

            How to configure MFA methods for Azure AD

            This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn. +

            How to configure MFA methods for Azure AD

            This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn. OLD POST for reference In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place....

            2022-02-02 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/microsoft-365/index.html b/en/tags/microsoft-365/index.html index 095734bc..eda7e842 100644 --- a/en/tags/microsoft-365/index.html +++ b/en/tags/microsoft-365/index.html @@ -1,10 +1,10 @@ Microsoft 365 | diecknet -

            How to get Group Membership count with Microsoft Graph API

            Apparently it’s not that easy to get the amount of members of a group with the Microsoft Graph API. We need to specify the additional header ConsistencyLevel: eventual to use the Advanced Query Capabilities. Then we can use the Query parameter $count. Alternatively I found that I could also add it as an URL query parameter instead. That would be &ConsistencyLevel=eventual. +

            How to get Group Membership count with Microsoft Graph API

            Apparently it’s not that easy to get the amount of members of a group with the Microsoft Graph API. We need to specify the additional header ConsistencyLevel: eventual to use the Advanced Query Capabilities. Then we can use the Query parameter $count. Alternatively I found that I could also add it as an URL query parameter instead. That would be &ConsistencyLevel=eventual. Example Queries Replace the Group ID (02bd9fd6-8f93-4758-87c3-1fb73740a315) with your desired Azure Active Directory Group ID....

            2022-06-16 · 1 min · Andreas Dieckmann

            How to configure MFA methods for Azure AD

            This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn. OLD POST for reference In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place....

            2022-02-02 · 1 min · Andreas Dieckmann

            List all Users with administrative roles in a Microsoft 365 environment

            Option 1: Use M365 Admin Portal There is finally a way in the main Microsoft 365 Admin Portal. Go to “Roles” -> “Role assignments” and click on “Export admin list” to get a CSV file with all admins and their roles. Option 2: Use PowerShell / Azure AD Graph Module Just a short PowerShell snippet to list all users with administrative roles in a Microsoft 365 (or Azure AD) environment. Please note that this uses the older Azure AD Graph Module (already planned for deprecation)....

            2021-12-13 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/microsoft-booking/index.html b/en/tags/microsoft-booking/index.html index 6828b5f5..d3c90bea 100644 --- a/en/tags/microsoft-booking/index.html +++ b/en/tags/microsoft-booking/index.html @@ -1,8 +1,8 @@ Microsoft Booking | diecknet -

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. +

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. List all Booking Calendars with permission I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access....

            2021-11-12 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/microsoft-teams/index.html b/en/tags/microsoft-teams/index.html index 0428c9b2..b01e5487 100644 --- a/en/tags/microsoft-teams/index.html +++ b/en/tags/microsoft-teams/index.html @@ -1,5 +1,5 @@ Microsoft Teams | diecknet -

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. +

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned....

            2021-10-05 · 2 min · Andreas Dieckmann

            How long are deleted Teams Channels retained?

            If you’re asking yourself “How long are deleted Teams channels retained?” or “For how long can I restore a deleted Teams channel?” you can find the answer relatively quick. But mostly the original source in the Microsoft documentation is missing. Answer Deleted Microsoft Teams Channels are retained for 30 days. Official Source In https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels under the table Teams and channels in footnote 4 it’s stated: @@ -7,5 +7,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/microsoft365/index.html b/en/tags/microsoft365/index.html index efa0ae36..a4cc1815 100644 --- a/en/tags/microsoft365/index.html +++ b/en/tags/microsoft365/index.html @@ -1,10 +1,10 @@ Microsoft365 | diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann

            Office 365 Trial Licenses

            You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. A list of links to the trial licenes is further below in this article....

            2020-06-10 · 2 min · Andreas Dieckmann

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/multi-factor-authentication/index.html b/en/tags/multi-factor-authentication/index.html index 2e2debe5..abfbbcdd 100644 --- a/en/tags/multi-factor-authentication/index.html +++ b/en/tags/multi-factor-authentication/index.html @@ -1,8 +1,8 @@ Multi-Factor-Authentication | diecknet -

            How to configure MFA methods for Azure AD

            This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn. +

            How to configure MFA methods for Azure AD

            This post is outdated. The “authentcation methods policy” is now easily available in the Entra portal. You might still need to migrate from the legacy settings, read the whole article at Microsoft Learn. OLD POST for reference In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place....

            2022-02-02 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/my-site/index.html b/en/tags/my-site/index.html index dd3319c4..da600b7f 100644 --- a/en/tags/my-site/index.html +++ b/en/tags/my-site/index.html @@ -1,9 +1,9 @@ My Site | diecknet -

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. +

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. Checking and Changing Access Delegation ⚠️ Access Delegation is enabled as default. The setting can be found and changed here: Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization....

            2023-09-25 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/named-groups/index.html b/en/tags/named-groups/index.html index 58b68486..77969396 100644 --- a/en/tags/named-groups/index.html +++ b/en/tags/named-groups/index.html @@ -1,9 +1,9 @@ Named Groups | diecknet -

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. +

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

            2021-10-25 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/nerdio/index.html b/en/tags/nerdio/index.html index 76758143..936ab534 100644 --- a/en/tags/nerdio/index.html +++ b/en/tags/nerdio/index.html @@ -1,8 +1,8 @@ Nerdio | diecknet -

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). +

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements....

            2021-06-27 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/notification/index.html b/en/tags/notification/index.html index 4098fede..f9a990b3 100644 --- a/en/tags/notification/index.html +++ b/en/tags/notification/index.html @@ -1,9 +1,9 @@ Notification | diecknet -

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. +

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. Setup I added the following section to my /config/configuration.yaml file: 1 2 3 4 5 6 7 8 9 10 11 12 13 shell_command: ntfy: > curl -X POST --url 'https://ntfy.sh/{{ topic }}' --data '{{ message }}' --header 'X-Title: {{ title }}' --header 'X-Tags: {{ tags }}' --header 'X-Priority: {{ priority }}' --header 'X-Delay: {{ delay }}' --header 'X-Actions: {{ actions }}' --header 'X-Click: {{ click }}' --header 'X-Icon: {{ icon }}' Usage To send send a notification, I use this YAML action in an Automation....

            2023-02-12 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/ntfs/index.html b/en/tags/ntfs/index.html index 8f6c3804..0a29f0e4 100644 --- a/en/tags/ntfs/index.html +++ b/en/tags/ntfs/index.html @@ -1,10 +1,10 @@ Ntfs | diecknet -

            PowerShell NTFS Alternate Data Streams

            The NTFS file system is used by default in Windows. And normally a file has only one associated normal data stream with the name :$DATA. But there are also the so-called “Alternate Data Streams” (ADS), which can contain additional data. These ADS are not visible in the Windows Explorer or most other applications. +

            PowerShell NTFS Alternate Data Streams

            The NTFS file system is used by default in Windows. And normally a file has only one associated normal data stream with the name :$DATA. But there are also the so-called “Alternate Data Streams” (ADS), which can contain additional data. These ADS are not visible in the Windows Explorer or most other applications. ADS are sometimes used by the system, but could also be used by attackers to hide data....

            2024-08-30 · 3 min · Andreas Dieckmann

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. The correct storage permissions are: User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers...

            2020-05-20 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/ntfy.sh/index.html b/en/tags/ntfy.sh/index.html index 40c5271e..8b60b800 100644 --- a/en/tags/ntfy.sh/index.html +++ b/en/tags/ntfy.sh/index.html @@ -1,9 +1,9 @@ Ntfy.sh | diecknet -

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. +

            Use ntfy.sh with Home Assistant

            Just a quick note if you want to use ntfy.sh with Home Assistant. Setup I added the following section to my /config/configuration.yaml file: 1 2 3 4 5 6 7 8 9 10 11 12 13 shell_command: ntfy: > curl -X POST --url 'https://ntfy.sh/{{ topic }}' --data '{{ message }}' --header 'X-Title: {{ title }}' --header 'X-Tags: {{ tags }}' --header 'X-Priority: {{ priority }}' --header 'X-Delay: {{ delay }}' --header 'X-Actions: {{ actions }}' --header 'X-Click: {{ click }}' --header 'X-Icon: {{ icon }}' Usage To send send a notification, I use this YAML action in an Automation....

            2023-02-12 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/oauth/index.html b/en/tags/oauth/index.html index 0f18c645..e340c7c4 100644 --- a/en/tags/oauth/index.html +++ b/en/tags/oauth/index.html @@ -1,9 +1,9 @@ Oauth | diecknet -

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: +

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: HCW8064 - The HCW has completed, but was not able to perform the OAuth portion of your Hybrid configuration. If you need features that rely on OAuth, you can try running the HCW again or manually configure OAuth using these manual steps. The link “more information” links to https://support.microsoft.com/en-us/help/3089172/hcw-has-completed-but-was-not-able-to-perform-the-oauth-portion-of-you. If you lookup what OAuth is used for, this article comes up....

            2020-05-01 · 4 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/office365/index.html b/en/tags/office365/index.html index fac9b0e0..0b3c3113 100644 --- a/en/tags/office365/index.html +++ b/en/tags/office365/index.html @@ -1,5 +1,5 @@ Office365 | diecknet -

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). +

            Automate Exchange Online with Azure Automation in 2024

            If you want to manage Exchange Online via Azure Automation, Managed Identities is what you should use (this statement was last checked in June 2024). Legacy approach In the past, RunAs Accounts or Plaintext Credentials (🤢) were also commonly used for this purpose, but this is now considered deprecated. RunAs accounts will be discontinued by fall 2023. And I don’t have to say anything about plaintext passwords, do I? You could still use App Registrations in Entra ID, but if you really just want to automate some Exchange settings via Azure Automation, it’s not really necessary....

            2023-01-09 · 4 min · Andreas Dieckmann

            Office 365 Trial Licenses

            You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. A list of links to the trial licenes is further below in this article....

            2020-06-10 · 2 min · Andreas Dieckmann

            Exchange Online: Apple Internet Accounts - Need admin approval

            When the first users logged into Office 365 with his iPhone to sync his Contacts and Calendar, he got this dialogue: Need admin approval Apple Internet Accounts Apple Internet Accounts needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it. By the way, the app used to be called “iOS Accounts” and was apparently renamed in early 2020....

            2020-05-10 · 5 min · Andreas Dieckmann

            Exchange Hybrid: HCW8064 OAuth configuration couldn't get performed

            At the end of the Hybrid Configuration Wizard (HCW) I received the following warning message: @@ -12,5 +12,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/onedrive-for-business/index.html b/en/tags/onedrive-for-business/index.html index 6c407323..0e9a1667 100644 --- a/en/tags/onedrive-for-business/index.html +++ b/en/tags/onedrive-for-business/index.html @@ -1,9 +1,9 @@ Onedrive for Business | diecknet -

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. +

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. Checking and Changing Access Delegation ⚠️ Access Delegation is enabled as default. The setting can be found and changed here: Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization....

            2023-09-25 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/onedrive/index.html b/en/tags/onedrive/index.html index c6308b07..ae348ba6 100644 --- a/en/tags/onedrive/index.html +++ b/en/tags/onedrive/index.html @@ -1,9 +1,9 @@ Onedrive | diecknet -

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. +

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. Checking and Changing Access Delegation ⚠️ Access Delegation is enabled as default. The setting can be found and changed here: Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization....

            2023-09-25 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/php/index.html b/en/tags/php/index.html index 6b6d91b3..b7050325 100644 --- a/en/tags/php/index.html +++ b/en/tags/php/index.html @@ -1,8 +1,8 @@ Php | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/powershell/index.html b/en/tags/powershell/index.html index 3627b610..3fcfdda5 100644 --- a/en/tags/powershell/index.html +++ b/en/tags/powershell/index.html @@ -1,5 +1,5 @@ Powershell | diecknet -

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: +

            Retrieve infos about Active Directory Based Activation via PowerShell

            If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: 1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work. Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain....

            2024-11-25 · 1 min · Andreas Dieckmann

            PowerShell NTFS Alternate Data Streams

            The NTFS file system is used by default in Windows. And normally a file has only one associated normal data stream with the name :$DATA. But there are also the so-called “Alternate Data Streams” (ADS), which can contain additional data. These ADS are not visible in the Windows Explorer or most other applications. ADS are sometimes used by the system, but could also be used by attackers to hide data....

            2024-08-30 · 3 min · Andreas Dieckmann

            PowerShell Calculated Properties

            If you export data via PowerShell (for example to a CSV file via Export-CSV), the original property names of the PowerShell objects are used. However, if these are not fully fitting for your purpose, you can also customize them. So-called “Calculated Properties” and the cmdlet Select-Object can be used for this. @@ -19,5 +19,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/powershell/page/2/index.html b/en/tags/powershell/page/2/index.html index d5376365..c87e920c 100644 --- a/en/tags/powershell/page/2/index.html +++ b/en/tags/powershell/page/2/index.html @@ -1,5 +1,5 @@ Powershell | diecknet -

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. +

            List all Microsoft Booking Calendars

            If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. List all Booking Calendars with permission I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access....

            2021-11-12 · 2 min · Andreas Dieckmann

            Verify Auto-Expanding Archives in Exchange Online

            If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage. In the Exchange Admin Center (EAC), open the info pane of the user’s mailbox. Click on “Manage mailbox archive”. An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage....

            2021-11-04 · 2 min · Andreas Dieckmann

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. @@ -16,5 +16,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/regex/index.html b/en/tags/regex/index.html index 56bc3c25..d8252253 100644 --- a/en/tags/regex/index.html +++ b/en/tags/regex/index.html @@ -1,9 +1,9 @@ Regex | diecknet -

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. +

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

            2021-10-25 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/regexp/index.html b/en/tags/regexp/index.html index fc34b163..90412dcd 100644 --- a/en/tags/regexp/index.html +++ b/en/tags/regexp/index.html @@ -1,9 +1,9 @@ Regexp | diecknet -

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. +

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

            2021-10-25 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/regular-expressions/index.html b/en/tags/regular-expressions/index.html index 4f26992a..63524f88 100644 --- a/en/tags/regular-expressions/index.html +++ b/en/tags/regular-expressions/index.html @@ -1,9 +1,9 @@ Regular Expressions | diecknet -

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. +

            Using PowerShell Regular Expressions to match against filenames

            A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

            2021-10-25 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/serverless/index.html b/en/tags/serverless/index.html index 017f049f..0416a800 100644 --- a/en/tags/serverless/index.html +++ b/en/tags/serverless/index.html @@ -1,8 +1,8 @@ Serverless | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann

            My simple serverless journey was not that easy

            Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code....

            2021-05-02 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/sharepoint-online/index.html b/en/tags/sharepoint-online/index.html index 1fd6f4d5..04af52a0 100644 --- a/en/tags/sharepoint-online/index.html +++ b/en/tags/sharepoint-online/index.html @@ -1,10 +1,10 @@ Sharepoint Online | diecknet -

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. +

            OneDrive for Business - Delegation to Manager after employee leaves company

            Normally when a user leaves the Company their OneDrive for Business site gets automatically delegated to their manager. That means the manager gets SharePoint Site Collection admin rights to the OneDrive site of their subordinate. Checking and Changing Access Delegation ⚠️ Access Delegation is enabled as default. The setting can be found and changed here: Go to More features in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization....

            2023-09-25 · 8 min · Andreas Dieckmann

            Retrieve the Timezone of a Sharepoint Online Site using PowerShell

            I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell. There are some infos online about using the PNPOnline Module, but that was not practical in my case. There are even some really annoying articles out, that claim to to provide a PowerShell way....

            2021-07-09 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/simpleip/index.html b/en/tags/simpleip/index.html index 72fb8233..842f46b5 100644 --- a/en/tags/simpleip/index.html +++ b/en/tags/simpleip/index.html @@ -1,8 +1,8 @@ Simpleip | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann

            My simple serverless journey was not that easy

            Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code....

            2021-05-02 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/ssg/index.html b/en/tags/ssg/index.html index 43f46d97..803a4b80 100644 --- a/en/tags/ssg/index.html +++ b/en/tags/ssg/index.html @@ -1,7 +1,7 @@ Ssg | diecknet -

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            © 2024 diecknet +

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/static-site-generator/index.html b/en/tags/static-site-generator/index.html index a5f5bb66..9e5dea83 100644 --- a/en/tags/static-site-generator/index.html +++ b/en/tags/static-site-generator/index.html @@ -1,7 +1,7 @@ Static Site Generator | diecknet -

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            © 2024 diecknet +

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/task-scheduler/index.html b/en/tags/task-scheduler/index.html index 43424855..c490dbd9 100644 --- a/en/tags/task-scheduler/index.html +++ b/en/tags/task-scheduler/index.html @@ -1,10 +1,10 @@ Task Scheduler | diecknet -

            Run PowerShell Script with Windows Task Scheduler

            More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. +

            Run PowerShell Script with Windows Task Scheduler

            More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. Open Task Scheduler A quick way to open Task Scheduler: WIN + R, then run taskschd.msc. Create New Task Open “Task Scheduler Library” → “Create New Task”. Set all the self-explanatory options like Name, Description, User Account, Triggers, etc. Set Action Setting Value Action Start a program Program/script powershell.exe Add arguments (optional) -file "C:\Path\Script....

            2021-10-13 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/teams-audio-conferencing/index.html b/en/tags/teams-audio-conferencing/index.html index c5bc707c..ad0330f2 100644 --- a/en/tags/teams-audio-conferencing/index.html +++ b/en/tags/teams-audio-conferencing/index.html @@ -1,8 +1,8 @@ Teams Audio Conferencing | diecknet -

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. +

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned....

            2021-10-05 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/teams-channel-retention/index.html b/en/tags/teams-channel-retention/index.html index 7f6c36c2..58a2a911 100644 --- a/en/tags/teams-channel-retention/index.html +++ b/en/tags/teams-channel-retention/index.html @@ -1,10 +1,10 @@ Teams Channel Retention | diecknet -

            How long are deleted Teams Channels retained?

            If you’re asking yourself “How long are deleted Teams channels retained?” or “For how long can I restore a deleted Teams channel?” you can find the answer relatively quick. But mostly the original source in the Microsoft documentation is missing. +

            How long are deleted Teams Channels retained?

            If you’re asking yourself “How long are deleted Teams channels retained?” or “For how long can I restore a deleted Teams channel?” you can find the answer relatively quick. But mostly the original source in the Microsoft documentation is missing. Answer Deleted Microsoft Teams Channels are retained for 30 days. Official Source In https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels under the table Teams and channels in footnote 4 it’s stated: Deleted channels can be restored within 30 days....

            2021-06-29 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/teams-dial-in-number/index.html b/en/tags/teams-dial-in-number/index.html index e4efb210..22e0e561 100644 --- a/en/tags/teams-dial-in-number/index.html +++ b/en/tags/teams-dial-in-number/index.html @@ -1,8 +1,8 @@ Teams Dial in Number | diecknet -

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. +

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned....

            2021-10-05 · 2 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/teams/index.html b/en/tags/teams/index.html index a138efae..2b4b2331 100644 --- a/en/tags/teams/index.html +++ b/en/tags/teams/index.html @@ -1,5 +1,5 @@ Teams | diecknet -

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. +

            Set Teams Meeting Dial-in number using PowerShell

            You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned....

            2021-10-05 · 2 min · Andreas Dieckmann

            How long are deleted Teams Channels retained?

            If you’re asking yourself “How long are deleted Teams channels retained?” or “For how long can I restore a deleted Teams channel?” you can find the answer relatively quick. But mostly the original source in the Microsoft documentation is missing. Answer Deleted Microsoft Teams Channels are retained for 30 days. Official Source In https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#teams-and-channels under the table Teams and channels in footnote 4 it’s stated: @@ -7,5 +7,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/timezone/index.html b/en/tags/timezone/index.html index bf37699b..9d545a3e 100644 --- a/en/tags/timezone/index.html +++ b/en/tags/timezone/index.html @@ -1,8 +1,8 @@ Timezone | diecknet -

            Retrieve the Timezone of a Sharepoint Online Site using PowerShell

            I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell. +

            Retrieve the Timezone of a Sharepoint Online Site using PowerShell

            I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell. There are some infos online about using the PNPOnline Module, but that was not practical in my case. There are even some really annoying articles out, that claim to to provide a PowerShell way....

            2021-07-09 · 5 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/trial/index.html b/en/tags/trial/index.html index 7eeb521a..a7594832 100644 --- a/en/tags/trial/index.html +++ b/en/tags/trial/index.html @@ -1,7 +1,7 @@ Trial | diecknet -

            Office 365 Trial Licenses

            You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. A list of links to the trial licenes is further below in this article....

            2020-06-10 · 2 min · Andreas Dieckmann
            © 2024 diecknet +

            Office 365 Trial Licenses

            You can register for a free Office 365/Microsoft 365 Tenant to try it out. Or you can add trial licenses to your existing tenant. You’ll get a 30 day trial phase. The trial contains 25 user licenses. After the expiration of the trial phase, you can delete the tenant or extend the trial. Alternatively you can purchase licenses to continue to use the services. A list of links to the trial licenes is further below in this article....

            2020-06-10 · 2 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/troubleshooting/index.html b/en/tags/troubleshooting/index.html index 7635ced7..c566ca0f 100644 --- a/en/tags/troubleshooting/index.html +++ b/en/tags/troubleshooting/index.html @@ -1,9 +1,9 @@ Troubleshooting | diecknet -

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. +

            Exchange Server Setup Incomplete but fails to complete

            I had an issue with a broken Exchange Server 2016 CU23. Or rather it was not fully installed. It was just a test environment, but I thought it would be useful or interesting to drill down on that issue. I’ll guide you through my troubleshooting steps / thought process. Try to continue Setup First I tried to resume the setup. The setup fails early - at Step 1 of 13: Stopping Services....

            2022-06-23 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/tryhackme/index.html b/en/tags/tryhackme/index.html index ec2a1ac7..2e23f41a 100644 --- a/en/tags/tryhackme/index.html +++ b/en/tags/tryhackme/index.html @@ -1,5 +1,5 @@ Tryhackme | diecknet -

            TryHackMe Blueprint - Cyber Security Write-Up

            I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”. +

            TryHackMe Blueprint - Cyber Security Write-Up

            I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”. Tasks The only info that we have is: Do you have what is takes to hack into this Windows Machine? And the questions: @@ -8,5 +8,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/vercel/index.html b/en/tags/vercel/index.html index 0bbd4b41..c7cea281 100644 --- a/en/tags/vercel/index.html +++ b/en/tags/vercel/index.html @@ -1,8 +1,8 @@ Vercel | diecknet -

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. +

            The Downside of going serverless

            After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

            2021-10-27 · 3 min · Andreas Dieckmann

            My simple serverless journey was not that easy

            Serverless Computing is an interesting concept. You can execute a script or programm without setting up the infrastructure behind it (servers, storage, networks, etc.). You just write your code and it gets executed. But Serverless doesn’t mean “without any servers” - you just don’t need to worry about them. That’s not that much of a difference to renting classic webspace from any webhosting service and putting your PHP scripts there. Nowadays Serverless usually means some kind of modern architecture that allows you to run your application code....

            2021-05-02 · 8 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/website/index.html b/en/tags/website/index.html index 6477b067..325e9558 100644 --- a/en/tags/website/index.html +++ b/en/tags/website/index.html @@ -1,7 +1,7 @@ Website | diecknet -

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            © 2024 diecknet +

            Migrating from 11ty to Hugo

            I recently upgraded this website to 11ty v2.0, but I needed more change. Initially I just wanted to create a basic Design with Terminal.css. But then I randomly stumbled over the Hugo Theme Gallery and found some beautiful themes! So I chose to use Hugo Papermod and migrate the Website to Hugo 🤓. Since I don’t really know JavaScript, so it doesn’t matter for me that Hugo uses Go instead. I never used Go as a programming language, but it sounds great....

            2024-02-22 · 7 min · Andreas Dieckmann
            +Privacy
            \ No newline at end of file diff --git a/en/tags/why/index.html b/en/tags/why/index.html index 4aa65ae4..ba296170 100644 --- a/en/tags/why/index.html +++ b/en/tags/why/index.html @@ -1,5 +1,5 @@ Why | diecknet -

            A new blog

            That’s about how the conversation went when I told the first person about my blog plans. +

            A new blog

            That’s about how the conversation went when I told the first person about my blog plans. B: Your cell phone is ringing… A: Oh, what? taps on the cell phone … B: 2001 called and wants his blog back! @@ -9,5 +9,5 @@  |  Imprint  |  -Privacy +Privacy

            \ No newline at end of file diff --git a/en/tags/windows-virtual-desktop/index.html b/en/tags/windows-virtual-desktop/index.html index 87959bed..3b94cc5a 100644 --- a/en/tags/windows-virtual-desktop/index.html +++ b/en/tags/windows-virtual-desktop/index.html @@ -1,8 +1,8 @@ Windows Virtual Desktop | diecknet -

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). +

            Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

            I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements....

            2021-06-27 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/windows/index.html b/en/tags/windows/index.html index c9c21031..95f85338 100644 --- a/en/tags/windows/index.html +++ b/en/tags/windows/index.html @@ -1,10 +1,10 @@ Windows | diecknet -

            Run PowerShell Script with Windows Task Scheduler

            More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. +

            Run PowerShell Script with Windows Task Scheduler

            More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. Open Task Scheduler A quick way to open Task Scheduler: WIN + R, then run taskschd.msc. Create New Task Open “Task Scheduler Library” → “Create New Task”. Set all the self-explanatory options like Name, Description, User Account, Triggers, etc. Set Action Setting Value Action Start a program Program/script powershell.exe Add arguments (optional) -file "C:\Path\Script....

            2021-10-13 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file diff --git a/en/tags/windowsvirtualdesktop/index.html b/en/tags/windowsvirtualdesktop/index.html index 61f7d603..6287f282 100644 --- a/en/tags/windowsvirtualdesktop/index.html +++ b/en/tags/windowsvirtualdesktop/index.html @@ -1,9 +1,9 @@ Windowsvirtualdesktop | diecknet -

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. +

            Check NTFS Permissions using Powershell

            So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. The correct storage permissions are: User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers...

            2020-05-20 · 1 min · Andreas Dieckmann
            +Privacy \ No newline at end of file