<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Microsoft Entra on justinverstijnen.nl</title><link>https://projectkaasplank.justinverstijnen.nl/categories/microsoft-entra/</link><description>Recent content in Microsoft Entra on justinverstijnen.nl</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 12 Apr 2026 17:09:27 +0200</lastBuildDate><atom:link href="https://projectkaasplank.justinverstijnen.nl/categories/microsoft-entra/index.xml" rel="self" type="application/rss+xml"/><item><title>Get notifications when Entra ID break glass admins are used</title><link>https://projectkaasplank.justinverstijnen.nl/get-notifications-when-entra-id-break-glass-admins-are-used/</link><pubDate>Sun, 08 Mar 2026 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/get-notifications-when-entra-id-break-glass-admins-are-used/</guid><description>&lt;p&gt;As we want to secure our Break Glass Accounts as good as possible, we cloud want to get alerts when break glass admins are used to login. Maybe they are used on a daily basis, or are being attacked. When we configure notifications, we instantly know when the accounts are being used and can check why a login has taken place.&lt;/p&gt;
&lt;p&gt;In this guide we will configure this without Microsoft Sentinel. If you already have a Sentinel workspace, the recommended action is to configure it there and to configure a automation rule/playbook.&lt;/p&gt;</description></item><item><title>How to properly secure Break Glass Accounts in your Entra ID</title><link>https://projectkaasplank.justinverstijnen.nl/how-to-properly-secure-break-glass-accounts-in-your-entra-id/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/how-to-properly-secure-break-glass-accounts-in-your-entra-id/</guid><description>&lt;p&gt;In our environment, we will do everything to secure it as much as possible. We give users only the permissions they need and only at given times, we enable Conditional Access to limit access to our data as much as possible.&lt;/p&gt;
&lt;p&gt;But we also create Break Glass administrator accounts as our last resort, a method to login if everything else doesn&amp;rsquo;t work. Security wise, this sounds against all rules but we prefer a account to login in emergency situations over a complete tenant lockout.&lt;/p&gt;</description></item><item><title>Solved - ADSync service stopped (Entra Connect Sync)</title><link>https://projectkaasplank.justinverstijnen.nl/solved-adsync-service-stopped-entra-connect-sync/</link><pubDate>Mon, 06 Oct 2025 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/solved-adsync-service-stopped-entra-connect-sync/</guid><description>&lt;p&gt;Sometimes, the ADSync service stops without further notice. You will see that the service has been stopped in the Services panel:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://sajvwebsiteblobstorage.blob.core.windows.net/blog/solved-adsync-service-stopped-entra-connect-sync-6576/jv-media-6576-3fafbbf3b1d4.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;In this guide I will explain how I solved this problem using a simple PowerShell script.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-check-adsync-script"&gt;The Check ADSync script&lt;a class="td-heading-self-link" href="#the-check-adsync-script" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The PowerShell script that fixes this problem is on my GitHub page:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/JustinVerstijnen/JV-CheckStartADSyncService"&gt;Download PowerShell script&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The script simply checks if the service is running, if this is the case the script will be terminated. If the service is not running, the service will be started.&lt;/p&gt;</description></item><item><title>Match AD users using Entra Connect Sync and MSGraph</title><link>https://projectkaasplank.justinverstijnen.nl/match-active-directory-users-with-microsoft-365-using-entra-connect-sync-hard-match/</link><pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/match-active-directory-users-with-microsoft-365-using-entra-connect-sync-hard-match/</guid><description>&lt;p&gt;Sometimes, it is necessary to match an existing local Active Directory (AD) user through Entra Connect with an existing Entra ID user (formerly known as Azure AD). This process ensures that the account in both environments is aligned and maintains the same underlying configurations and settings across systems.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://sajvwebsiteblobstorage.blob.core.windows.net/blog/match-active-directory-users-with-microsoft-365-using-entra-connect-sync-hard-match-813/jv-media-813-da1d8fd6db71.png" alt="Entra Connect sync"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="what-is-soft-matching"&gt;What is soft-matching?&lt;a class="td-heading-self-link" href="#what-is-soft-matching" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Most of the time the system itself will match the users automatically using soft-matching. Here the service will be matching users in both Entra ID and Active Directory by using known attributes like UserPrincipalName and ProxyAddresses.&lt;/p&gt;</description></item><item><title>Implement Certificate-based authentication for Entra ID scripts</title><link>https://projectkaasplank.justinverstijnen.nl/implement-certificate-based-authentication-for-entra-id-scripts/</link><pubDate>Sun, 13 Jul 2025 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/implement-certificate-based-authentication-for-entra-id-scripts/</guid><description>&lt;p&gt;When using Entra ID, we can automate a lot of different tasks. We can use a script processing server for this task but doing that normally means we have to save credentials or secrets in our scripts. Something we don&amp;rsquo;t want.&lt;/p&gt;
&lt;p&gt;Today I will show how to implement certificate-based authentication for App Registrations instead of using a client secret (which still feels like a password).&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Around 20 minutes of your time&lt;/li&gt;
&lt;li&gt;An Entra ID environment if you want to test this&lt;/li&gt;
&lt;li&gt;A prepared Entra ID app registration&lt;/li&gt;
&lt;li&gt;A server or workstation running Windows to do the connection to Entra ID&lt;/li&gt;
&lt;li&gt;Some basic knowledge about Entra ID and certificates&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="how-does-these-certificates-work"&gt;How does these certificates work?&lt;a class="td-heading-self-link" href="#how-does-these-certificates-work" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Certificate based authentication means that we can authenticate ourselves to Entra ID using a certificate instead of user credentials or a password in plain text. When using some automated scripts it needs permissions to perform its actions but this means storing some sort of authentication. We don&amp;rsquo;t want to store our credentials on the server as this decreases our security and a potential risk of compromise.&lt;/p&gt;</description></item><item><title>Audit your Entra ID user role assignments</title><link>https://projectkaasplank.justinverstijnen.nl/audit-your-entra-id-user-role-assignments/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/audit-your-entra-id-user-role-assignments/</guid><description>&lt;p&gt;Today I have a relatively short blog post. I have created a script that exports all Entra ID user role assignments with Microsoft Graph. This can come in handy when auditing your users, but then realizing the portals doesn&amp;rsquo;t always show you the information in the most efficient way.&lt;/p&gt;
&lt;p&gt;Therefore, I have created a script that only gets all Entra ID role assignments to users of every role and exports it to a nice and readable CSV file.&lt;/p&gt;</description></item><item><title>Audit your privileged Entra ID applications</title><link>https://projectkaasplank.justinverstijnen.nl/audit-your-privileged-entra-id-applications/</link><pubDate>Wed, 25 Jun 2025 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/audit-your-privileged-entra-id-applications/</guid><description>&lt;p&gt;In Microsoft Entra ID it&amp;rsquo;s possible to create App registrations and Enterprise applications who can get high privileges if not managed and monitored regularly. We do our best with Identities to be secure, with security processes like MFA, access reviews and such, but most of the companies don&amp;rsquo;t care that much about the Enterprise applications.&lt;/p&gt;
&lt;p&gt;In this post, I will try to convince you that this is as much as important as identities. For helping you to solve this I built a PowerShell script to get a complete overview of all the applications and their permissions.&lt;/p&gt;</description></item><item><title>The Zero Trust-model</title><link>https://projectkaasplank.justinverstijnen.nl/the-zero-trust-model/</link><pubDate>Mon, 25 Nov 2024 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/the-zero-trust-model/</guid><description>&lt;p&gt;The Zero Trust model is a security model to enhance your security posture by using 3 basic principles, and segmenting aspects of your IT environment into pillars.&lt;/p&gt;
&lt;p&gt;The 3 primary principles are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Verify Explicitly&lt;/li&gt;
&lt;li&gt;Least privileged access&lt;/li&gt;
&lt;li&gt;Assume Breach&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At first, those terms seem very unclear to me. To further clarify the principles, i have added some practice examples to further understand what they mean:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Principle&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Outcomes&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Verify Explicity&lt;/td&gt;
 &lt;td&gt;Ensure people are really who they say they are Audit every login attempt from specific users Audit login attempts Block access from non-approved countries&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Least privileged access&lt;/td&gt;
 &lt;td&gt;Assign users only the permissions they need, not more Assign only the roles when they need them using PIM Use custom roles when default roles expose too much permissions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Assume breach&lt;/td&gt;
 &lt;td&gt;At every level, think about possible breaches Segment your network Password-based authentication only is too weak&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The model is the best illustrated like this:&lt;/p&gt;</description></item><item><title>How to solve DeletingCloudOnlyObjectNotAllowed error Entra Connect Sync</title><link>https://projectkaasplank.justinverstijnen.nl/how-to-solve-deletingcloudonlyobjectnotallowed-error-entra-connect-sync/</link><pubDate>Mon, 30 Sep 2024 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/how-to-solve-deletingcloudonlyobjectnotallowed-error-entra-connect-sync/</guid><description>&lt;p&gt;Now and then we come across a problem with Entra Connect Sync which states &amp;ldquo;DeletingCloudOnlyObjectNotAllowed&amp;rdquo;. This error looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://sajvwebsiteblobstorage.blob.core.windows.net/blog/how-to-solve-deletingcloudonlyobjectnotallowed-error-entra-connect-sync-5139/jv-media-5139-0b0f49fdf50a.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;This error will be shown if opening the Syncronization Service and email messages of this error will aso be sent to your tenant&amp;rsquo;s technical contact.&lt;/p&gt;
&lt;p&gt;In this guide, I will explain the cause of this problem and the options to solve the issue.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="cause-of-this-problem"&gt;Cause of this problem&lt;a class="td-heading-self-link" href="#cause-of-this-problem" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The cause of this problem is mostly an object that is first created cloud-only and then created in Active Directory, or a user that was synced previously but is deselected or deleted. Entra Connect Sync will not match the users correctly, and a the ImmutableId of the user in Entra still exists. In short; it still wants to sync a user that not exists.&lt;/p&gt;</description></item><item><title>Dynamic group for access to Windows 365</title><link>https://projectkaasplank.justinverstijnen.nl/dynamic-group-for-access-to-windows-365/</link><pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate><guid>https://projectkaasplank.justinverstijnen.nl/dynamic-group-for-access-to-windows-365/</guid><description>&lt;p&gt;When using Windows 365 in your organization, the deployment is very easy to do. When it comes to adding more users to the service, it can be much manual clicks to reach your goal. My advice is to leverage the Dynamic Group feature of Microsoft Entra.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Azure AD/Entra ID/Microsoft Graph Powershell module
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/nl-nl/powershell/module/azuread/?view=azureadps-2.0"&gt;https://learn.microsoft.com/nl-nl/powershell/module/azuread/?view=azureadps-2.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;10 minutes of your time&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="what-are-dynamic-groups"&gt;What are Dynamic Groups?&lt;a class="td-heading-self-link" href="#what-are-dynamic-groups" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Dynamic Groups feature of Microsoft Entra is a great tool for auto-managing members of a group based on a single rule or collection of rules. Some examples of using dynamic groups:&lt;/p&gt;</description></item></channel></rss>