<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Nicola Suter</title>
    <link>http://tech.nicolonsky.ch/</link>
    <description>Recent content on Nicola Suter</description>
    <image>
      <title>Nicola Suter</title>
      <url>http://tech.nicolonsky.ch/opengraph-placeholder.png</url>
      <link>http://tech.nicolonsky.ch/opengraph-placeholder.png</link>
    </image>
    <generator>Hugo -- 0.152.2</generator>
    <language>en</language>
    <lastBuildDate>Sun, 22 Mar 2026 10:00:03 +0000</lastBuildDate>
    <atom:link href="http://tech.nicolonsky.ch/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Don&#39;t let Entra ID Protection miss your next breach!</title>
      <link>http://tech.nicolonsky.ch/entra-id-protection-stop-account-breach/</link>
      <pubDate>Sun, 22 Mar 2026 10:00:03 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/entra-id-protection-stop-account-breach/</guid>
      <description>Learn how to strengthen your Entra ID tenant by leveraging Entra ID Protection, understanding risk signals, and implementing effective Conditional Access policies to prevent account breaches.</description>
    </item>
    <item>
      <title>CEO impersonation with Microsoft Booking</title>
      <link>http://tech.nicolonsky.ch/microsoft-booking-phish/</link>
      <pubDate>Wed, 18 Mar 2026 20:00:03 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/microsoft-booking-phish/</guid>
      <description>Shared Microsoft Booking pages automatically create Exchange mailboxes with predictable email aliases, enabling attackers to impersonate executives. Learn how to detect and prevent this abuse with KQL queries and configuration options.</description>
    </item>
    <item>
      <title>Defender XDR Unified Detections Meet Sentinel Data Lake</title>
      <link>http://tech.nicolonsky.ch/defender-xdr-unified-detections-sentinel-data-lake/</link>
      <pubDate>Tue, 24 Feb 2026 22:00:03 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/defender-xdr-unified-detections-sentinel-data-lake/</guid>
      <description>Unified Detections bring a new way to create and manage detections across Microsoft Sentinel and Defender XDR data. Combined with native Data Lake ingestion for XDR tables, this opens up cost-effective retention opportunities. Let&amp;#39;s explore the capabilities, limitations, and migration considerations.</description>
    </item>
    <item>
      <title>AI just solved a CTF for me!</title>
      <link>http://tech.nicolonsky.ch/ai-solved-ctf/</link>
      <pubDate>Fri, 16 Jan 2026 21:00:03 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/ai-solved-ctf/</guid>
      <description>I tried using AI and the new Microsoft Fabric Real-Time Intelligence to solve a CTF challenge for me, and it worked surprisingly well.</description>
    </item>
    <item>
      <title>Did you hear that maester supports Intune?</title>
      <link>http://tech.nicolonsky.ch/maester-tests-intune/</link>
      <pubDate>Thu, 04 Dec 2025 20:00:07 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/maester-tests-intune/</guid>
      <description>The maester framework now supports Microsoft Intune checks.</description>
    </item>
    <item>
      <title>Mai 2024 KQL Café Recap</title>
      <link>http://tech.nicolonsky.ch/Mai-2024-KQL-Cafe-Recap/</link>
      <pubDate>Mon, 01 Jul 2024 20:07:46 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/Mai-2024-KQL-Cafe-Recap/</guid>
      <description>In May I had the pleasure to be invited to the KQL Café which is hosted by Gianni Castaldi &amp;amp; Alex Verboon. Within this format they empower…</description>
    </item>
    <item>
      <title>AiTM Phishing with Azure Functions</title>
      <link>http://tech.nicolonsky.ch/AiTM-Phishing-with-Azure-Functions/</link>
      <pubDate>Mon, 01 Apr 2024 18:23:49 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/AiTM-Phishing-with-Azure-Functions/</guid>
      <description>PoC for an Azure AiTM Function to phish Entra ID credentials and bypass canary token detections.</description>
    </item>
    <item>
      <title>Have you heard about passkeys and AAGuids?</title>
      <link>http://tech.nicolonsky.ch/have-you-heard-about-passkeys-and-aaguids/</link>
      <pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/have-you-heard-about-passkeys-and-aaguids/</guid>
      <description>&lt;p&gt;With the availability of passkeys the FIDO2 standards become more accessible in the form of password managers, web-browsers and (mobile) operating systems — without the need for dedicated hardware such as FIDO2 keys.&lt;/p&gt;
&lt;p&gt;Microsoft is currently in the process of developing support for passkeys and shipping the public preview in Q1 2024:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/1__pwNnOdcgBQPCEwZRTpGKNg.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;While this is a very welcome addition to make passwordless authentication easily accessible without dedicated hardware such as FIDO2 security keys this also introduces new risks, especially for high value accounts — But why’s that?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enriching Microsoft Sentinel tables with eligible Entra directory roles</title>
      <link>http://tech.nicolonsky.ch/enriching-microsoft-sentinel-tables-with-eligible-entra-directory-roles/</link>
      <pubDate>Fri, 17 Nov 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/enriching-microsoft-sentinel-tables-with-eligible-entra-directory-roles/</guid>
      <description>&lt;p&gt;Microsoft 365 Defender and Sentinel provide an &lt;em&gt;IdentityInfo&lt;/em&gt; table that contains various information that is helpful for threat hunting and detections. One key piece are also the assigned Entra directory roles for a specific identity. Unfortunately only permanently assigned permissions are covered and in times of Entra Privileged Identity Management (PIM) we should have standing permissions only for non-privileged roles and break-glass accounts.&lt;/p&gt;
&lt;p&gt;Within this blog post I want to share a few tips and tricks to answer the following questions with Sentinel and a little bit of scripting and KQL:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maintaining Microsoft Sentinel Analytic Rules in JSON and YAML with GitHub Actions</title>
      <link>http://tech.nicolonsky.ch/maintaining-microsoft-sentinel-analytic-rules-in-json-and-yaml-with-github-actions/</link>
      <pubDate>Mon, 13 Nov 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/maintaining-microsoft-sentinel-analytic-rules-in-json-and-yaml-with-github-actions/</guid>
      <description>&lt;p&gt;Microsoft Sentinel Analytic Rules can be shared in both the YAML and ARM format, whereas the ARM format leverages JSON as file type. Within…&lt;/p&gt;
&lt;p&gt;Microsoft Sentinel Analytic Rules can be shared in both the YAML and ARM format, whereas the ARM format leverages JSON as file type. Within this short post I want to demonstrate an approach that leverages a GitHub Action to automatically build and update the rules in YAML format — so you can just export and update existing rules without any manual conversion effort.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Have you heard of workload identity access token replay?</title>
      <link>http://tech.nicolonsky.ch/have-you-heard-of-workload-identity-access-token-replay/</link>
      <pubDate>Wed, 08 Nov 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/have-you-heard-of-workload-identity-access-token-replay/</guid>
      <description>&lt;p&gt;Microsoft recently made the Microsoft Graph Activity Logs available as part of the Microsoft Entra ID diagnostic settings. This means we can use the &lt;em&gt;MicrosoftGraphActivityLogs&lt;/em&gt; Table to enrich custom detections and analytic rules.&lt;/p&gt;
&lt;p&gt;Within this post I want to elaborate closer on an attack scenario for workload identities that leverage workload identity federation and don’t have any persistent credentials or long lived secrets. But one type of credential artefacts is still theft-able — the short lived access tokens.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Microsoft Entra Connect Sync Hardening</title>
      <link>http://tech.nicolonsky.ch/entra-connect-hardening/</link>
      <pubDate>Sun, 24 Sep 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/entra-connect-hardening/</guid>
      <description>&lt;p&gt;Microsoft Entra Connect Sync (aka Azure AD Connect) allows establishing hybrid identity scenarios by interconnecting on-premises Active Directory and Entra ID (aka Azure AD) and leveraging synchronisation features in both directions. As you might already know, this brings potential for abuse of the assigned permissions to the involved service accounts and permissions of this service.&lt;/p&gt;
&lt;p&gt;On the internet are already some posts with subset of this information but I wanted to provide an actionable post with individual measures to implement. Of course should we do MFA for all admins and AD tiering but some of those steps involve more complex measures to implement and I will try to provide some individual building blocks you can use to harden the configuration of your Entra Connect service accounts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why you should use Entra Workload Identity Federation</title>
      <link>http://tech.nicolonsky.ch/why-you-should-use-entra-workload-identity-federation/</link>
      <pubDate>Thu, 07 Sep 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/why-you-should-use-entra-workload-identity-federation/</guid>
      <description>&lt;p&gt;Microsoft Entra Workload Identity Federation is a hidden gem when dealing with app registrations and service principals because it will significantly improve the security posture of your workload identities. While I already blogged about the more technical and implementation specific details in my &lt;a href=&#34;https://nicolasuter.medium.com/github-action-with-azure-ad-workload-identity-federation-fb4e9d8bbf5c&#34;&gt;GitHub Actions with Entra Workload Identity Federation&lt;/a&gt; post, I want to highlight the benefits and scenarios where you can use Workload Identity Federation to access Entra ID protected resources.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Retrieving Windows LAPS Azure AD Passwords with PowerShell</title>
      <link>http://tech.nicolonsky.ch/retrieving-windows-laps-azure-ad-passwords-with-powershell/</link>
      <pubDate>Wed, 10 May 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/retrieving-windows-laps-azure-ad-passwords-with-powershell/</guid>
      <description>&lt;p&gt;Did you know that for the new Windows LAPS Azure AD is also maintaining the password history? The built in PowerShell commandlet relies on the Microsoft Graph PowerShell SDK and within this post I want to show you how to work with the &lt;code&gt;Get-LapsAADPassword&lt;/code&gt; cmdlet.&lt;/p&gt;
&lt;p&gt;Kudos to &lt;a href=&#34;https://medium.com/u/b214ce59ec84&#34;&gt;Niklas Tinner&lt;/a&gt; as he brought this to my attention while working together.&lt;/p&gt;
&lt;h2 id=&#34;where-is-this-command-originating-from&#34;&gt;Where is this command originating from?&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;Get-LapsAADPassword&lt;/code&gt; cmdlet is part of the &lt;code&gt;LAPS&lt;/code&gt; PowerShell module that was baked into the Windows Operating system with the April 2023 quality updates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s have a tête-à-tête with the new Windows LAPS for Azure AD joined devices</title>
      <link>http://tech.nicolonsky.ch/meeting-windows-laps/</link>
      <pubDate>Fri, 21 Apr 2023 18:56:24 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/meeting-windows-laps/</guid>
      <description>Deploy the new Windows LAPS to Azure AD Joined devices with Intune. Windows LAPS provides local administrator password management.</description>
    </item>
    <item>
      <title>Provoking Defender for Identity suspicious certificate usage alerts</title>
      <link>http://tech.nicolonsky.ch/provoking-defender-for-identity-suspicious-certificate-usage-alerts/</link>
      <pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/provoking-defender-for-identity-suspicious-certificate-usage-alerts/</guid>
      <description>&lt;p&gt;Microsoft Defender for Identity (MDI) has announced a new capability back in February to detect suspicious certificate usage for Kerberos authentication. It is already well-known, that Active Directory Certificate Services (ADCS) is a lucrative target for adversaries to achieve persistence in Active Directory as ADCS can be easily misconfigured resulting in an easy way to exploit those misconfigurations. In this post I want to show you how easy those misconfigurations can be abused and how and when such an attempt is detected by Microsoft Defender for Identity new detection capabilities for suspicious certificate usage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>You must not touch my endpoint security settings!</title>
      <link>http://tech.nicolonsky.ch/you-must-not-touch-my-endpoint-security-settings/</link>
      <pubDate>Sun, 12 Mar 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/you-must-not-touch-my-endpoint-security-settings/</guid>
      <description>&lt;p&gt;Intune Endpoint Security Configuration Settings have become the way to go for configuring security features on various platforms. What did start with Microsoft Defender for Endpoint settings for Windows clients has evolved to settings for macOS, Windows Servers and is treated like a first class citizen. So it is important to guard those sensitive configurations as they control (and can potentially disable) vital security features on endpoints such as defender tamper protection, attack surface reduction rules, firewall and many more.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Optimising Microsoft Graph PowerShell scripts</title>
      <link>http://tech.nicolonsky.ch/optimising-microsoft-graph-powershell-scripts/</link>
      <pubDate>Wed, 22 Feb 2023 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/optimising-microsoft-graph-powershell-scripts/</guid>
      <description>&lt;p&gt;We all have probably been there and developed a PowerShell script that took some fair amount of time until the execution completed, weren’t we? Of course one could argue and say that as long a script ‘works’ it is good enough but depending on the use case and environment a PowerShell script that runs 30 to 60 minutes exceeds the patience of most (IT) people and can also lead to increased costs. But what makes those kinds of scripts that awfully slow and can’t we just tweak them to run faster?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating to the new Windows Store experience</title>
      <link>http://tech.nicolonsky.ch/migrating-to-the-new-windows-store-experience/</link>
      <pubDate>Mon, 30 Jan 2023 18:56:24 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/migrating-to-the-new-windows-store-experience/</guid>
      <description>The Microsoft Store for Business will be discontinued mid 2023 and Intune recently introduced the new Windows Store experience backed by…</description>
    </item>
    <item>
      <title>GitHub Actions with Entra Workload Identity Federation</title>
      <link>http://tech.nicolonsky.ch/github-actions-entra-workload-identity-federation/</link>
      <pubDate>Mon, 23 Jan 2023 17:03:47 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/github-actions-entra-workload-identity-federation/</guid>
      <description>Workload Identity Federation (let’s just call this WIF) allows app principals not residing within Azure to request short lived access…</description>
    </item>
    <item>
      <title>Inside Windows package manager (winget)</title>
      <link>http://tech.nicolonsky.ch/inside-windows-package-manager/</link>
      <pubDate>Fri, 30 Dec 2022 23:11:03 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/inside-windows-package-manager/</guid>
      <description>Windows Package Manager provides exciting features to install and upgrade apps on Windows devices. But how does winget actually work?</description>
    </item>
    <item>
      <title>Setting up a radius server for Azure AD joined devices and 802.1x</title>
      <link>http://tech.nicolonsky.ch/radius-aad-joined-devices/</link>
      <pubDate>Sun, 25 Sep 2022 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/radius-aad-joined-devices/</guid>
      <description>RADIUS setup with machine certificates for Azure AD joined devices for Wi-Fi authentication with 802.1x</description>
    </item>
    <item>
      <title>Android dedicated devices managed home screen and system apps</title>
      <link>http://tech.nicolonsky.ch/android-kiosk-system-apps/</link>
      <pubDate>Tue, 20 Sep 2022 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/android-kiosk-system-apps/</guid>
      <description>Learn how to allow android system apps in combination with the Microsoft Managed Home Screen app.</description>
    </item>
    <item>
      <title>The  easiest way to work with the Microsoft Graph PowerShell SDK</title>
      <link>http://tech.nicolonsky.ch/graph-powershell-sdk-kickstart/</link>
      <pubDate>Fri, 09 Sep 2022 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/graph-powershell-sdk-kickstart/</guid>
      <description>Kickstart your Microsoft Graph PowerShell SDK experience for various interactive automation and scripting scenarios by easily obtaining an access token from the MEM console.</description>
    </item>
    <item>
      <title>Intune app protection policy report</title>
      <link>http://tech.nicolonsky.ch/app-protection-policy-report/</link>
      <pubDate>Mon, 13 Dec 2021 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/app-protection-policy-report/</guid>
      <description>Learn how to create a report about Intune app protection policies (also called MAM) and gain insights about the usage within your organization.</description>
    </item>
    <item>
      <title>Have you considered TPM key attestation?</title>
      <link>http://tech.nicolonsky.ch/adcs-tpm-key-attestation/</link>
      <pubDate>Sat, 28 Aug 2021 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/adcs-tpm-key-attestation/</guid>
      <description>Key attestation uses a trusted platform module to protect your private keys and can be enabled on active directory certificate services CAs to prevent private key theft</description>
    </item>
    <item>
      <title>Automatically sign your PowerShell scripts with GitHub actions</title>
      <link>http://tech.nicolonsky.ch/github-actions-powershell-signing/</link>
      <pubDate>Fri, 09 Jul 2021 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/github-actions-powershell-signing/</guid>
      <description>Sign PowerShell artifacts with GitHub actions workflows automatically</description>
    </item>
    <item>
      <title>Securely sending emails from PowerShell scripts with modern authentication enforced</title>
      <link>http://tech.nicolonsky.ch/sending-emails-with-modern-auth/</link>
      <pubDate>Fri, 19 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/sending-emails-with-modern-auth/</guid>
      <description>Send mails from your unattended Powershell scripts with the Microsoft Graph API and the Microsoft Graph PowerShell SDK</description>
    </item>
    <item>
      <title>Dealing with Intune OMA-URI encoding and applocker rules</title>
      <link>http://tech.nicolonsky.ch/intune-oma-uri-encoding/</link>
      <pubDate>Tue, 16 Feb 2021 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/intune-oma-uri-encoding/</guid>
      <description>Resolving Intune OMA-URI UTF-8 encoding issues when editing XML contents with an automated PowerShell approach.</description>
    </item>
    <item>
      <title>Microsoft Graph Access Token Acquisition with PowerShell explained in depth</title>
      <link>http://tech.nicolonsky.ch/explaining-microsoft-graph-access-token-acquisition/</link>
      <pubDate>Mon, 04 Jan 2021 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/explaining-microsoft-graph-access-token-acquisition/</guid>
      <description>Explaining different ways about obtaining access tokens for Microsoft Graph with PowerShell to support interactive and unattended automation.</description>
    </item>
    <item>
      <title>Android Enterprise Enrollment: Page Not Found</title>
      <link>http://tech.nicolonsky.ch/android-enterprise-enrollment-failure-dem/</link>
      <pubDate>Sat, 19 Dec 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/android-enterprise-enrollment-failure-dem/</guid>
      <description>Page not found when enrolling Android Enterprise Devices with Microsoft Endpoint Manager</description>
    </item>
    <item>
      <title>Housekeeping for stale MEM profiles</title>
      <link>http://tech.nicolonsky.ch/cleanup-mem-profiles/</link>
      <pubDate>Wed, 16 Dec 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/cleanup-mem-profiles/</guid>
      <description>How to do housekeeping for your stale MEM profiles including archiving with Microsoft Graph</description>
    </item>
    <item>
      <title>Windows Terminal and SSH - the most beautiful SSH client?</title>
      <link>http://tech.nicolonsky.ch/windows-terminal-ssh/</link>
      <pubDate>Wed, 16 Dec 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/windows-terminal-ssh/</guid>
      <description>My Windows Terminal SSH configuration and setting sync with OneDrive.</description>
    </item>
    <item>
      <title>Export and import MEM Endpoint Security Profiles</title>
      <link>http://tech.nicolonsky.ch/endpoint-security-profiles/</link>
      <pubDate>Thu, 19 Nov 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/endpoint-security-profiles/</guid>
      <description>Explaining the PowerShell scripts and process I used to export and import Intune endpoint security profiles</description>
    </item>
    <item>
      <title>Shut up Surface Pro 7 fan noise!</title>
      <link>http://tech.nicolonsky.ch/shut-up-surface-pro/</link>
      <pubDate>Mon, 16 Nov 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/shut-up-surface-pro/</guid>
      <description>Prevent Surface Pro 7 fan from going crazy by setting the max. processor power state</description>
    </item>
    <item>
      <title>Build an Azure DevOps pipeline to automatically sign your PowerShell scripts</title>
      <link>http://tech.nicolonsky.ch/sign-powershell-az-devops/</link>
      <pubDate>Thu, 01 Oct 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/sign-powershell-az-devops/</guid>
      <description>Automatically sign your PowerShell scripts with an Azure DevOps pipeline for improved security and integrity of your PowerShell scripts without handing out your code signing certificate.</description>
    </item>
    <item>
      <title>Ensuring regular Defender Quick scans with Microsoft Endpoint Manager proactive remediations</title>
      <link>http://tech.nicolonsky.ch/defender-scan-endpoint-analytics/</link>
      <pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/defender-scan-endpoint-analytics/</guid>
      <description>Ensure Microsoft Defender for Endpoint Quick scans are running regularly with Endpoint analytics proactive remediations.</description>
    </item>
    <item>
      <title>About</title>
      <link>http://tech.nicolonsky.ch/about/</link>
      <pubDate>Tue, 22 Sep 2020 11:17:08 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/about/</guid>
      <description>&lt;p&gt;Thank you for visiting my blog and reading this far. You are friendly invited to leave any kind of feedback in the comment sections of my posts.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m mainly focusing on Microsoft Enterprise Mobility + Security and building modern workplace experiences with Microsoft 365 technology.&lt;/p&gt;
&lt;p&gt;On this blog, I want to share technical posts and solutions from the field. I write those blog posts during my free time and don&amp;rsquo;t write posts with sponsored content.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Discover the Microsoft Graph API with the Microsoft Endpoint Manager Portal</title>
      <link>http://tech.nicolonsky.ch/discover-mem-graph-urls/</link>
      <pubDate>Tue, 08 Sep 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/discover-mem-graph-urls/</guid>
      <description>Discover Microsoft Graph resources while browsing the MEM portal and learn how to automate portal actions</description>
    </item>
    <item>
      <title>Access has been blocked by Conditional Access policies when using device code flow</title>
      <link>http://tech.nicolonsky.ch/device-code-auth-ca/</link>
      <pubDate>Thu, 03 Sep 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/device-code-auth-ca/</guid>
      <description>Understand why device code flow doesn&amp;#39;t always work with Azure AD Conditional Access based on your configuration.</description>
    </item>
    <item>
      <title>Bulk create Intune mobile app deployment groups and assignments</title>
      <link>http://tech.nicolonsky.ch/intune-mobile-app-assignment-bulk/</link>
      <pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/intune-mobile-app-assignment-bulk/</guid>
      <description>&lt;p&gt;Creating assignments and software deployment groups for Intune mobile apps is quite a repetitive and manual task. Because of that, I want to share a PowerShell script with you which allows you to automatically create software deployment groups in Azure AD and the assignments for various intents.&lt;/p&gt;
&lt;p&gt;The script allows you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create Azure AD groups (install uninstall purpose)
&lt;ul&gt;
&lt;li&gt;Pick existing groups based on displayName&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Assign Intune mobile apps (tested for Win32 and MSI LOB apps)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;http://tech.nicolonsky.ch/content/images/2020/08/intune-mobile-app-assignment-bulk.gif&#34;&gt;&lt;img alt=&#34;Script in Action&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/2020/08/intune-mobile-app-assignment-bulk.gif&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add PowerShell modules to Azure functions</title>
      <link>http://tech.nicolonsky.ch/azure-functions-powershell-modules/</link>
      <pubDate>Mon, 17 Aug 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/azure-functions-powershell-modules/</guid>
      <description>&lt;p&gt;Azure functions for PowerShell natively ship without additional cmdlets or PowerShell modules. In this post, I will show you how to add both public modules from the PowerShell gallery with automatic dependency management and custom modules.&lt;/p&gt;
&lt;p&gt;For both options, we use the Kudu tools to adjust the configuration of our function app. You can launch them from the &lt;em&gt;&amp;ldquo;Advanced Tools&amp;rdquo;&lt;/em&gt; section of your function app:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://tech.nicolonsky.ch/content/images/2020/08/add-powershell-modules-to-azure-functions-kudu.png&#34;&gt;&lt;img alt=&#34;Kudu tools&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/2020/08/add-powershell-modules-to-azure-functions-kudu.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Afterwards, launch the PowerShell debug console and navigate to the &lt;code&gt;wwwroot&lt;/code&gt; folder of your app:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Playing around with the Office 365 Service Communications API</title>
      <link>http://tech.nicolonsky.ch/microsoft365-service-status/</link>
      <pubDate>Mon, 10 Aug 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/microsoft365-service-status/</guid>
      <description>&lt;p&gt;The Office 365 Service Communications API provides information about Microsoft 365 service status for your tenant including service messages. I built a little PowerShell module to access the API with PowerShell cmdlets. In this post I want to show you some examples which help you to use the API.&lt;/p&gt;
&lt;h2 id=&#34;powershell-module&#34;&gt;PowerShell Module&lt;/h2&gt;
&lt;p&gt;I built a PowerShell module to access Microsoft 365 service status details natively with PowerShell. The PowerShell module and documentation is available on the &lt;a href=&#34;https://www.powershellgallery.com/packages/Microsoft365ServiceStatus&#34;&gt;PowerShell Gallery&lt;/a&gt; and on &lt;a href=&#34;https://github.com/nicolonsky/Microsoft365ServiceStatus&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intune scope tags and role-based access control explained</title>
      <link>http://tech.nicolonsky.ch/intune-scope-tags-rbac-explained/</link>
      <pubDate>Mon, 03 Aug 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/intune-scope-tags-rbac-explained/</guid>
      <description>&lt;p&gt;For larger Intune environments a solid role-based access implementation becomes crucial to ensure a secure administration. But how does Intune role-based access control (RBAC) work in combination with scope tags and how to get started? This post gets you covered with explanations and practical examples.&lt;/p&gt;
&lt;h2 id=&#34;role-based-access-control-within-the-microsoft-365-ecosystem&#34;&gt;Role-based access control within the Microsoft 365 ecosystem&lt;/h2&gt;
&lt;p&gt;Within the Microsoft 365 ecosystem, Microsoft provides Azure AD administrative roles to administrate services like Exchange (Exchange administrator), SharePoint (SharePoint administrator), Intune (Intune administrator) and so on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure AD guest user review solution</title>
      <link>http://tech.nicolonsky.ch/azure-ad-guest-user-review-solution/</link>
      <pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/azure-ad-guest-user-review-solution/</guid>
      <description>Azure AD access review like solution to automatically approve and manage the lifecycle of your guest accounts based on Azure Logic App, Azure Functions and Key Vault.</description>
    </item>
    <item>
      <title>Who invited this Azure AD guest user?</title>
      <link>http://tech.nicolonsky.ch/who-invited-azure-ad-guest/</link>
      <pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/who-invited-azure-ad-guest/</guid>
      <description>&lt;p&gt;Who invited this Azure AD guest user? Examining who invited a specific a guest account can be quite a challenging question if you don&amp;rsquo;t have a log analytics workspace in place with Azure AD Audit log forwarding configured.&lt;/p&gt;
&lt;h2 id=&#34;kusto-queries-for-your-log-analytics-workspace&#34;&gt;Kusto queries for your log analytics workspace&lt;/h2&gt;
&lt;p&gt;The following queries help you to identify who invited a guest. If you haven&amp;rsquo;t set-up Azure AD audit log forwarding it&amp;rsquo;s the right time to do it now &lt;a href=&#34;http://tech.nicolonsky.ch/conditional-access-and-azure-log-analytics-in-harmony/#forward-aad-logs-to-log-analytics&#34;&gt;as described in one of my previous blogs&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>10 suggestions to improve your next PowerShell script</title>
      <link>http://tech.nicolonsky.ch/10-suggestions-to-improve-your-next-powershell-script/</link>
      <pubDate>Wed, 08 Jul 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/10-suggestions-to-improve-your-next-powershell-script/</guid>
      <description>&lt;p&gt;Most of the time PowerShell is my favourite choice to automate processes and tasks. In order to improve the maintainability of my scripts I usually try to focus on some standards combined with a clean scripting style. In this post I want to show you 10 suggestions to improve your next PowerShell script. I&amp;rsquo;ve tried to order the suggestions according to an actual PowerShell starting from the very first line till the last line.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Remove Azure AD direct License Assignments with PowerShell</title>
      <link>http://tech.nicolonsky.ch/remove-azure-ad-direct-license-assignments-with-powershell/</link>
      <pubDate>Wed, 08 Jul 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/remove-azure-ad-direct-license-assignments-with-powershell/</guid>
      <description>Remove all direct assigned licenses from your Azure AD and Office 365 users with a PowerShell script to leverage on full group based licensing capabilities</description>
    </item>
    <item>
      <title>How I migrated my Ghost blog to Jekyll</title>
      <link>http://tech.nicolonsky.ch/migrate-ghost-blog-to-jekyll/</link>
      <pubDate>Sat, 27 Jun 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/migrate-ghost-blog-to-jekyll/</guid>
      <description>Sharing my experiences of migrating my techblog from Ghost on Azure to Jekyll static sites hosted on GitHub pages and with a workflow based on WSL and Visual Studio Code remoting.</description>
    </item>
    <item>
      <title>Exploring the new Microsoft Graph PowerShell Module(s)</title>
      <link>http://tech.nicolonsky.ch/exploring-the-new-microsoft-graph-powershell-modules/</link>
      <pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/exploring-the-new-microsoft-graph-powershell-modules/</guid>
      <description>&lt;p&gt;Microsoft is working on a new set of PowerShell modules grouped under the umbrella of &lt;a href=&#34;https://github.com/microsoftgraph/msgraph-sdk-powershell&#34;&gt;Microsoft.Graph&lt;/a&gt; that will (hopefully) cover all the Microsoft Graph resources available. I&amp;rsquo;ve already used some of them for my &lt;a href=&#34;https://github.com/nicolonsky/ConditionalAccessDocumentation&#34;&gt;Conditional Access Documentation Script&lt;/a&gt; and thought they have some notable features worth sharing.&lt;/p&gt;
&lt;h3 id=&#34;advantages-and-changes&#34;&gt;Advantages and changes&lt;/h3&gt;
&lt;p&gt;The Microsoft Graph modules use the new Microsoft Authentication Library (MSAL) instead of the old Azure AD Authentication Library (ADAL). The MSAL library in the modules implements a token cache which persists the access and refresh tokens.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Validating a GUID with PowerShell</title>
      <link>http://tech.nicolonsky.ch/validating-a-guid-with-powershell/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/validating-a-guid-with-powershell/</guid>
      <description>&lt;p&gt;For some recent Microsoft Graph scripts I wanted to translate some Azure AD Object ID / GUID entries to their respective display name. The array with the GUID&amp;rsquo;s contained already some readable text. Of course I only wanted to translate the GUID entries with according Graph API requests. Otherwise the Graph requests would fail. Google offered only some fancy regex functions and helpers but I had that .NET function in my mind which looks much nicer compared to whatever regex pattern that I don&amp;rsquo;t understand.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Document Conditional Access Configuration with my Modern Workplace Concierge</title>
      <link>http://tech.nicolonsky.ch/document-conditional-access-configuration/</link>
      <pubDate>Mon, 20 Apr 2020 19:22:33 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/document-conditional-access-configuration/</guid>
      <description>&lt;p&gt;Documenting things sucks. If it involves a lot of klick(edi klack klack) in portals and copying information around even more. But there&amp;rsquo;s hope. And it&amp;rsquo;s called automation. For the Intune part Thomas Kurt did already an awesome job with his &lt;a href=&#34;https://github.com/ThomasKur/IntuneDocumentation&#34;&gt;IntuneDocumentation&lt;/a&gt;.  Now the &lt;a href=&#34;https://mwconcierge.azurewebsites.net/&#34;&gt;Modern Workplace Concierge&lt;/a&gt; is ready to help you with documenting your Conditional Access configuration. I promise you: we will get through this within under 15 minutes! Afterwards you can make an impression on your fellow Enterprise Mobility teammates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I said Connect-AzureAD and not sign-out and re-sign-in!</title>
      <link>http://tech.nicolonsky.ch/i-said-connect-azuread-and-not-sign-out-and-re-sign-in/</link>
      <pubDate>Wed, 25 Mar 2020 17:21:25 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/i-said-connect-azuread-and-not-sign-out-and-re-sign-in/</guid>
      <description>&lt;p&gt;If you are using the &amp;ldquo;AzureAD&amp;rdquo; PowerShell module (also applies to the AzureADPreview) you have probably noticed that the &lt;em&gt;Connect-AzureAD&lt;/em&gt; Cmdlet ignores existing access tokens and initiates a new sign in to Azure AD even if you are already signed in.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&#34;http://tech.nicolonsky.ch/content/images/2020/03/image.png&#34;&gt;&lt;figcaption&gt;Prompt you get when calling the &#34;Connect-AzureAD&#34; cmdlet&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Long story short, I got annoyed every time when I accidentally recalled &lt;em&gt;Connect-AzureAD&lt;/em&gt; (mostly when working with Scripts)  until I found this amazing hint on &lt;a href=&#34;https://social.msdn.microsoft.com/Forums/sqlserver/en-US/386223c4-8821-415e-acea-68b47586131c/powershell-azuread-check-if-connection-is-established-with-connectazuread?forum=WindowsAzureAD&#34;&gt;technet&lt;/a&gt; and now I want to (re-)share it with you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generate a report about assigned Azure Active Directory roles</title>
      <link>http://tech.nicolonsky.ch/report-assigned-azure-ad-roles/</link>
      <pubDate>Thu, 19 Mar 2020 20:42:07 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/report-assigned-azure-ad-roles/</guid>
      <description>&lt;p&gt;The Azure AD portal does not really provide an overview about all directory role assignments in your tenant. If you want to review existing Azure AD Directory roles a csv report will probably better server your needs. Therefore I created a PowerShell script to export the role assignments.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&#34;http://tech.nicolonsky.ch/content/images/2020/03/DirectoryRoles.png&#34; class=&#34;kg-image&#34;&gt;&lt;figcaption&gt;The Azure AD Portal only displays limited information about the assignments&lt;/figcaption&gt;&lt;/figure&gt;
### PowerShell Script
&lt;p&gt;Find the PowerShell script in my &lt;a href=&#34;https://github.com/nicolonsky/Techblog/blob/master/New-AzureADDirectoryRoleReport/New-AzureADDirectoryRoleReport.ps1&#34;&gt;techblog GitHub Repository&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Detect Deleted User Accounts in Azure Active Directory</title>
      <link>http://tech.nicolonsky.ch/detect-deleted-user-accounts-in-azure-active-directory/</link>
      <pubDate>Thu, 13 Feb 2020 08:30:46 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/detect-deleted-user-accounts-in-azure-active-directory/</guid>
      <description>&lt;p&gt;An account in your Azure Active Directory got deleted and you want to examine who initiated the delete action? Sounds very simple but if you do not want to search your logs manually things become a little bit trickier.&lt;/p&gt;
&lt;h3 id=&#34;the-challenge&#34;&gt;The challenge&lt;/h3&gt;
&lt;p&gt;When a user gets deleted and you only remember it&amp;rsquo;s userPrincipalName you wont be able to to search for a match. And I doubt that you memorized the Azure AD object id of that user.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing the new Microsoft Edge Browser with Intune</title>
      <link>http://tech.nicolonsky.ch/managing-the-new-microsoft-edge-browser-with-intune/</link>
      <pubDate>Mon, 03 Feb 2020 15:40:58 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/managing-the-new-microsoft-edge-browser-with-intune/</guid>
      <description>&lt;p&gt;With the availability of the new Edge browser based on chromium I gained the first experiences about configuring the browser in an enterprise environment. Of course I want to share those with you. This post hopefully helps you to roll-out and configure the new Edge Browser with Microsoft Intune.&lt;/p&gt;
&lt;h3 id=&#34;install-the-new-edge-chromium-with-intune&#34;&gt;Install the new Edge Chromium with Intune&lt;/h3&gt;
&lt;p&gt;The installation of Edge is not the main topic of this post. The Edge browser is available in Intune as built-in app type like the Office 365 suite. More information about the installation process is available &lt;a href=&#34;https://docs.microsoft.com/en-us/intune/apps/apps-windows-edge&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prevent Intune devices from getting the Microsoft search (Bing) plugin</title>
      <link>http://tech.nicolonsky.ch/prevent-intune-devices-from-getting-the-microsoft-search-bing-plugin/</link>
      <pubDate>Fri, 24 Jan 2020 11:19:24 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/prevent-intune-devices-from-getting-the-microsoft-search-bing-plugin/</guid>
      <description>&lt;p&gt;Microsoft recently announced to install a Bing extension on new and existing Office 365 ProPlus installations which will set Bing as the default search engine starting with the first Office 365 ProPlus release in 2020 - not appreciated Microsoft and definitely not what customers want! The extension will be shipped for new Office installations and existing clients with Office 365 ProPlus installed when they update.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 11.02.2020: &amp;ldquo;&lt;/strong&gt; The Microsoft Search in Bing browser extension will not be automatically deployed with Office 365 ProPlus.&amp;rdquo; - I will keep this post for the archives.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy fonts to Intune managed Windows 10 devices</title>
      <link>http://tech.nicolonsky.ch/deploy-fonts-with-intune/</link>
      <pubDate>Sun, 19 Jan 2020 16:25:21 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/deploy-fonts-with-intune/</guid>
      <description>&lt;p&gt;Recently a customer using Microsoft Intune requested to deploy a TrueType font required by one of their line of business apps. Because Intune does not offer a native solution to deploy fonts it was quite clear that a PowerShell script or Intune Win32 app should do the trick. Note that the mentioned PowerShell scripts can also be used for app deployments with Configuration Manager (MEMCM).&lt;/p&gt;
&lt;h3 id=&#34;how-to-install-a-font-programmatically&#34;&gt;How to install a font programmatically?&lt;/h3&gt;
&lt;p&gt;There seem to be &lt;a href=&#34;https://eddiejackson.net/wp/?p=16137&#34;&gt;multiple options&lt;/a&gt; depending on the operating system version. I&amp;rsquo;ve tested this with Windows 10 1909. And broke it down to the following steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connecting to foreign Intune tenants with Microsoft Graph and PowerShell</title>
      <link>http://tech.nicolonsky.ch/connecting-to-foreign-intune-tenants-with-microsoft-graph-and-powershell/</link>
      <pubDate>Thu, 09 Jan 2020 13:25:02 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/connecting-to-foreign-intune-tenants-with-microsoft-graph-and-powershell/</guid>
      <description>&lt;p&gt;If you manage multiple Intune tenants with your Azure AD account (invited as guest in the foreign tenant) we need a way to specify the tenant id we want to connect. Otherwise you will land in your home-tenant every time. This posts shows you how to accomplish that with the &lt;a href=&#34;https://github.com/microsoft/Intune-PowerShell-SDK&#34;&gt;Intune PowerShell SDK&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If we have a look at the default Graph settings in a PowerShell session with the Intune PowerShell SDK you will notice that all authentication requests will land on the /common endpoint.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Monitor Apple token expiration in Intune</title>
      <link>http://tech.nicolonsky.ch/monitor-apple-token-expiration-in-intune/</link>
      <pubDate>Sat, 04 Jan 2020 14:55:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/monitor-apple-token-expiration-in-intune/</guid>
      <description>&lt;p&gt;Apple tokens for Mobile Device Management like APNS certificates, DEP and VPP tokens need a renewal every 365 days. When an APNS certificate has expired you are forced to re-enroll all of your MDM managed apple devices. To avoid any headaches I put together a few lines of PowerShell which monitor the expiration with Azure automation and send a notification to Microsoft teams or email.&lt;/p&gt;
&lt;h3 id=&#34;script&#34;&gt;Script&lt;/h3&gt;
&lt;p&gt;The script is intended to run recurring on Azure automation. And I recommend to setup a schedule which runs the script once a week. The script checks the following apple tokens and triggers the teams notification if it expires in less than the configured number of days:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blogging year 2019 in numbers</title>
      <link>http://tech.nicolonsky.ch/a-few-numbers-from-the-last-decade/</link>
      <pubDate>Sat, 04 Jan 2020 14:53:14 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/a-few-numbers-from-the-last-decade/</guid>
      <description>&lt;p&gt;Most of the people out there blogging have recently published numbers and figures about 2019. Starting the new decade I also want to publish some figures about 2019 and wish you a happy and successful start into 2020.&lt;/p&gt;
&lt;h3 id=&#34;blog&#34;&gt;Blog&lt;/h3&gt;
&lt;p&gt;On my blog I tried to focus mainly on Enterprise Mobility + Security topics and shared some experiences and how-to&amp;rsquo;s about the modern workplace.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;28 blog posts published&lt;/li&gt;
&lt;li&gt;101&#39;074 page visits&lt;/li&gt;
&lt;li&gt;04:08 (mm:ss) is the average time users spent on my site&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;tools&#34;&gt;Tools&lt;/h3&gt;
&lt;p&gt;I published two open source tools in 2019, both are available on GitHub and both of them support your Microsoft 365 based workplace:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Have you already started with Intune automation and Microsoft Graph?</title>
      <link>http://tech.nicolonsky.ch/getting-started-with-workplace-automation/</link>
      <pubDate>Thu, 19 Dec 2019 21:16:47 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/getting-started-with-workplace-automation/</guid>
      <description>&lt;p&gt;This post has the intention to give you an overview and starting point to automate things with the Microsoft Graph API and PowerShell. While having the focus on Intune and EM+S but the basics are also valid for other Microsoft services.&lt;/p&gt;
&lt;h3 id=&#34;the-world-is-changing-and-so-are-you&#34;&gt;The world is changing and so are you?&lt;/h3&gt;
&lt;p&gt;When talking about automation most people only think about some PowerShell code and scheduled tasks running on whatever box in an environment. But technology regarding Microsoft services and it&amp;rsquo;s automation possibilities have definitely evolved quickly. Automation can now be done with basically any scripting or programming language because Microsoft offers us the Microsoft Graph API. Although API (application program interface) sounds more like a developer term engineers should better get used to consuming API&amp;rsquo;s. As more and more services can be consumed as SaaS API&amp;rsquo;s are mostly offered for further data processing and automation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Application based authentication with the Intune PowerShell SDK using a certificate</title>
      <link>http://tech.nicolonsky.ch/azure-ad-application-based-authentication-with-intune-using-certificate/</link>
      <pubDate>Tue, 10 Dec 2019 15:43:58 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/azure-ad-application-based-authentication-with-intune-using-certificate/</guid>
      <description>&lt;p&gt;As you might have noticed I have been doing quite a lot of automation stuff with Microsoft Graph for Intune and Azure AD. My preferred way to run PowerShell scripts which need to run on a regular basis is to use Azure automation. Unfortunately the official &amp;ldquo;Intune-PowerShell-SDK&amp;rdquo; does not support authentication with a client certificate. Therefore I updated the module and will show you how to use it with Azure automation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Manage Azure AD group based licensing with PowerShell</title>
      <link>http://tech.nicolonsky.ch/manage-azure-ad-group-based-licensing-with-powershell/</link>
      <pubDate>Wed, 04 Dec 2019 14:39:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/manage-azure-ad-group-based-licensing-with-powershell/</guid>
      <description>&lt;p&gt;Recently I needed to assign a lot of Microsoft licenses to different Azure AD groups. Unfortunately Microsoft does currently not offer a solution to do this (yet). Instead of giving up on this I decided to analyze what actually happens when you assign a license to a group in the Azure portal and found some actions going on within the hidden portal API. As an outcome I built a PowerShell module to manage Azure AD group based licensing assignments.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Export and import Intune and Conditional Access configuration</title>
      <link>http://tech.nicolonsky.ch/export-and-import-intune-and-conditional-access-configuration/</link>
      <pubDate>Tue, 03 Dec 2019 07:28:18 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/export-and-import-intune-and-conditional-access-configuration/</guid>
      <description>&lt;p&gt;With Microsoft Graph we have powerful automation and configuration management capabilities. To further simplify this process I built the &amp;ldquo;&lt;a href=&#34;https://mwconcierge.azurewebsites.net/&#34;&gt;Modern Workplace Concierge&amp;rdquo;&lt;/a&gt;.  It is an ASP.NET application which uses an Azure AD multi tenant app to access the Microsoft Graph API on behalf to perform export and import tasks. The project uses the Microsoft Graph Beta API to access your tenant&amp;rsquo;s data.&lt;/p&gt;
&lt;h2 id=&#34;modern-workplace-concierge&#34;&gt;Modern Workplace Concierge&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;https://mwconcierge.azurewebsites.net/&#34;&gt;Modern Workplace Concierge&lt;/a&gt; allows you to:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bulk update Windows Autopilot groupTags</title>
      <link>http://tech.nicolonsky.ch/bulk-update-windows-autopilot/</link>
      <pubDate>Sun, 01 Dec 2019 11:21:58 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/bulk-update-windows-autopilot/</guid>
      <description>&lt;p&gt;Recently I needed to change a couple of groupTags on existing Windows Autopilot devices. Because Windows Autopilot profiles have been assigned based on the groupTag. Of course I could have done this with the portal (check out the &lt;a href=&#34;https://devicemanagement.microsoft.com&#34;&gt;devicemanagement.microsoft.com&lt;/a&gt; portal if not done yet!) but I am definitely an automation fan when I need to do repetitive work.&lt;/p&gt;
&lt;h3 id=&#34;portal-view-and-property-mapping&#34;&gt;Portal view and property mapping&lt;/h3&gt;
&lt;p&gt;In the Intune portal the Group Tag field on an Autopilot device maps to the Azure AD device property &amp;ldquo;OrderID&amp;rdquo;.&lt;br&gt;
Dynamic Azure AD Groups to assign Autopilot profiles to devices can be built with the following membership rule:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Conditional Access and Azure Log Analytics in Harmony</title>
      <link>http://tech.nicolonsky.ch/conditional-access-and-azure-log-analytics-in-harmony/</link>
      <pubDate>Fri, 18 Oct 2019 22:06:04 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/conditional-access-and-azure-log-analytics-in-harmony/</guid>
      <description>&lt;p&gt;Auditing Conditional Access events and changes is crucial regarding your hygiene in Azure AD for your modern workplace. With the goal that we receive appropriate notifications and alerts if special events occur. Thanks to Azure Log Analytics (also referred to as Azure Monitor) we can easily filter and create alerts based on events. This post starts where most of the others end - giving you practical examples of KUSTO queries to search your Azure AD Audit logs with Log Analytics.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unable to reset Windows Hello for Business PIN</title>
      <link>http://tech.nicolonsky.ch/unable-to-reset-windows-hello-for-business-pin/</link>
      <pubDate>Fri, 11 Oct 2019 16:12:14 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/unable-to-reset-windows-hello-for-business-pin/</guid>
      <description>&lt;p&gt;Recently I have been troubleshooting a nasty Windows Hello for Business problem which prevented all users in a tenant from resetting their Windows Hello for Business PIN&amp;rsquo;s on Azure AD joined devices while getting the error &lt;em&gt;CAA20004&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id=&#34;issue&#34;&gt;Issue&lt;/h2&gt;
&lt;p&gt;When clicking on &amp;ldquo;I forgot my PIN&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;WHFB PIN RESET&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/2019/10/Windows-Hello-forBusiness-ForgotPin.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;After completing the account sign-in and MFA challenge the Error CAA20004 came up:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Windows Hello for Business Error CAA20004&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/2019/10/Windows-Hello-forBusiness-PIN-Reset-Error.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;The Azure AD Portal shows us &amp;ldquo;Failure reason: other&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intune export uploaded PowerShell scripts</title>
      <link>http://tech.nicolonsky.ch/view-and-export-uploaded-intune-powershell-scripts/</link>
      <pubDate>Wed, 09 Oct 2019 16:36:57 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/view-and-export-uploaded-intune-powershell-scripts/</guid>
      <description>&lt;p&gt;After you have uploaded a PowerShell script to the Intune portal you won&amp;rsquo;t be able to view the script or its content. Therefore things become complicated when an Intune tenant is managed by multiple admins and someone wants to update or review a script. In addition to the unknown script content things can go from bad to worse if you can&amp;rsquo;t find the script anymore. Fortunately we can recollect our PowerShell scripts directly from the Microsoft Graph API.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Enrollment Status Page (ESP) and shared devices</title>
      <link>http://tech.nicolonsky.ch/the-enrollment-status-page-and-shared-devices/</link>
      <pubDate>Fri, 04 Oct 2019 14:44:10 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/the-enrollment-status-page-and-shared-devices/</guid>
      <description>&lt;p&gt;If you use the Enrollment Status Page (ESP) on your (Autopilot) devices in blocking mode (Block device use until all apps and profiles are installed) things can get ugly and complicated if you sign-in with another user account on that machine. So it might be better to disable the Enrollment Status Page for all users who sign-in after the initial device enrollment.&lt;/p&gt;
&lt;h2 id=&#34;esp-behaviour&#34;&gt;ESP behaviour&lt;/h2&gt;
&lt;p&gt;I was not aware of the fact that only one ESP gets applied to a device and the first one applied will also remain on that device nevertheless if you configure additional ESP settings for different groups of users. In addition the ESP gets displayed for every account even if the account has no Intune license assigned and causing the ESP therefore to fail.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows Autopilot failed to delete device records</title>
      <link>http://tech.nicolonsky.ch/windows-autopilot-failed-to-delete-device-records/</link>
      <pubDate>Sun, 29 Sep 2019 20:16:03 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/windows-autopilot-failed-to-delete-device-records/</guid>
      <description>&lt;p&gt;Recently I needed to delete a desktop machine from the Windows Autopilot service in order to use the machine in another tenant.  But the problem was that the Intune and Azure AD device objects were already deleted. All attempts taken within the Microsoft 365 Device Management and Intune Portal were unsuccessful.&lt;/p&gt;
&lt;h2 id=&#34;issue&#34;&gt;Issue&lt;/h2&gt;
&lt;p&gt;Usually the autopilot device shows the associated Azure AD and Intune objects but here they were shown as N/A (not available) because they were already deleted.&lt;/p&gt;</description>
    </item>
    <item>
      <title>5 Ways to Screw Up Conditional Access</title>
      <link>http://tech.nicolonsky.ch/5-ways-to-screw-up-conditional-access/</link>
      <pubDate>Wed, 28 Aug 2019 08:34:02 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/5-ways-to-screw-up-conditional-access/</guid>
      <description>&lt;p&gt;Nowadays where cloud services are available from all over the world we cannot (only) rely on trusted networks and on identities protected by usernames and passwords. Conditional access allows you to define granular controls whether an identity can access cloud applications. Based on the positive feedback for my &amp;ldquo;&lt;a href=&#34;http://tech.nicolonsky.ch/5-ways-to-screw-up-your-intune-tenant/&#34;&gt;5 Ways to Screw up your Intune Tenant&lt;/a&gt;&amp;rdquo; post I felt empowered to get conditional access covered as well.&lt;/p&gt;
&lt;h2 id=&#34;chose-your-platform-wisely&#34;&gt;Chose your platform wisely&lt;/h2&gt;
&lt;p&gt;If you intend to use the device platform filter make sure that you cover all platforms including unknown platforms. Otherwise your might have a lack in your battleship. &lt;a href=&#34;http://tech.nicolonsky.ch/bypassing-conditional-access-device-platform-policies/&#34;&gt;Also note that platform detection is based on best effort and can be exploited&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows Autopilot White Glove Field Notes</title>
      <link>http://tech.nicolonsky.ch/windows-autopilot-white-glove-field-notes/</link>
      <pubDate>Wed, 14 Aug 2019 16:38:31 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/windows-autopilot-white-glove-field-notes/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m happy to share some field notes and experiences with the Windows Autopilot White Glove feature which is available with the Windows 10 1903 release. I&amp;rsquo;ve done a lot of testing and engineering for a recent project which also included this brand new feature.&lt;/p&gt;
&lt;h2 id=&#34;first-things-first-requirements&#34;&gt;First things first (requirements)&lt;/h2&gt;
&lt;p&gt;This is probably the most important information of this post. Really make sure to verify the following prerequisites for Autopilot White Glove. Because there are additional requirements compared to Autopilot enrollments.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows Autopilot White Glove Error 0x81036501</title>
      <link>http://tech.nicolonsky.ch/windows-autopilot-white-glove-error-0x81036501/</link>
      <pubDate>Thu, 08 Aug 2019 16:58:05 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/windows-autopilot-white-glove-error-0x81036501/</guid>
      <description>&lt;p&gt;While testing Autopilot White glove for a customer project my test machines always got stuck within the &amp;ldquo;Registering your device for mobile management&amp;rdquo; step and timed out after 12 minutes and returned the error &amp;ldquo;0x81036501&amp;rdquo; just before showing the White Glove Failed screen. I was doing my tests with Windows 10 1903 DE (German) with the most recent cumulative update installed, meaning OS build: 18362.267.&lt;/p&gt;
&lt;h2 id=&#34;the-issue&#34;&gt;The Issue&lt;/h2&gt;
&lt;p&gt;As normal Autopilot enrollments were working like a charm this one had to be related to the White Glove scenario. Here&amp;rsquo;s a screen capture showing the actual behavior (unfortunately with German display language):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intune Win32 app requirements deep dive</title>
      <link>http://tech.nicolonsky.ch/intune-win32-app-requirements-deep-dive/</link>
      <pubDate>Mon, 05 Aug 2019 17:09:02 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/intune-win32-app-requirements-deep-dive/</guid>
      <description>&lt;p&gt;The Intune Win32 app requirements feature is quite underrated and often overseen in my experience. The ability to specify a custom PowerShell scripts allow us to check for specific hardware or device properties in order to determine if an app or firmware update should be installed or not. So there&amp;rsquo;s no need to build multiple and complex dynamic Azure AD groups for the assignment of your apps.&lt;/p&gt;
&lt;h3 id=&#34;use-cases-from-the-field&#34;&gt;Use cases from the field&lt;/h3&gt;
&lt;p&gt;From recent projects I&amp;rsquo;ve discovered the following use cases to deploy Win32 apps only to specific hardware types:&lt;/p&gt;</description>
    </item>
    <item>
      <title>5 Ways to Screw up your Intune Tenant</title>
      <link>http://tech.nicolonsky.ch/5-ways-to-screw-up-your-intune-tenant/</link>
      <pubDate>Wed, 31 Jul 2019 06:40:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/5-ways-to-screw-up-your-intune-tenant/</guid>
      <description>&lt;p&gt;Here are 5 common recommendations based on misconfigurations I&amp;rsquo;ve came across in the field which will give your Intune tenant and devices a hard time to work smoothly. So better read this post that you not screw up your Intune tenant and maybe take advantage of the experiences others already gained.&lt;/p&gt;
&lt;h2 id=&#34;housekeeping&#34;&gt;Housekeeping&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s important to know which devices are actually being used and usually a nice addition to understand compliance data. Stale device entries in may give you a wrong impression of your Intune tenant and it&amp;rsquo;s health. So enable the automatic device cleanup rule to remove the enrolled device from Intune. Additionally you may also remove the device entries stored in Azure Active Directory (&lt;a href=&#34;https://tech.nicolonsky.ch/clean-up-azure-ad-devices/&#34;&gt;I created a little on-demand script for this which can also run in azure automation&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automating network drive mapping configuration with Intune</title>
      <link>http://tech.nicolonsky.ch/next-level-network-drive-mapping-with-intune/</link>
      <pubDate>Fri, 19 Jul 2019 07:32:46 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/next-level-network-drive-mapping-with-intune/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m thrilled to introduce the &lt;a href=&#34;https://intunedrivemapping.azurewebsites.net/DriveMapping&#34;&gt;intune-drive-mapping-generator&lt;/a&gt; which creates PowerShell scripts to map network drives with Intune. The tool is open source and built on ASP.NET Core MVC.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://intunedrivemapping.azurewebsites.net/DriveMapping&#34;&gt;&lt;img alt=&#34;intune-drivemapping-generator&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/2019/07/intune-drivemapping-generator.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The intune-drive-mapping-generator is your tool of choice to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generate an Intune PowerShell script to map network drives on Azure AD joined devices&lt;/li&gt;
&lt;li&gt;Seamlessly migrate existing network drive mapping group policies&lt;/li&gt;
&lt;li&gt;Generate a network drive mapping configuration from scratch&lt;/li&gt;
&lt;li&gt;Use an existing Active Directory group as a filter to deploy all your drive mapping configurations within one script&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;This all happens without scripting effort. You receive a fully functional PowerShell script for the deployment with Intune.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating desktop shortcuts with Intune</title>
      <link>http://tech.nicolonsky.ch/intune-create-desktop-shortcut/</link>
      <pubDate>Tue, 09 Jul 2019 23:22:24 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/intune-create-desktop-shortcut/</guid>
      <description>&lt;p&gt;Why want you to create desktop shortcuts with Intune? Business specific apps may require special shortcuts in order to launch the application with the right parameters. Or you need to create a shortcut for an application which is stored on your on premises fileserver. For this purpose I created a little solution which closes the gap between the modern cloud and on premises world. In comparison with other solutions this one works if you have redirected the users desktop with OneDrive Known Folder Move and automatically remediates missing shortcuts if they got deleted.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bypassing Conditional Access Device Platform Policies</title>
      <link>http://tech.nicolonsky.ch/bypassing-conditional-access-device-platform-policies/</link>
      <pubDate>Tue, 02 Jul 2019 17:12:06 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/bypassing-conditional-access-device-platform-policies/</guid>
      <description>&lt;p&gt;Recently I read &lt;a href=&#34;https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Azure-AD-Mailbag-Conditional-Access-Q-amp-A/ba-p/566492&#34;&gt;a great article from the Microsoft IAM Director Sue Bohn&lt;/a&gt; concerning a Conditional Access Q&amp;amp;A. One question was about the device platform feature - which let&amp;rsquo;s you apply a policy only to a specific device platform like iOS, Android or Windows 10.&lt;/p&gt;
&lt;p&gt;The detection of the device platform relies on the user agent string sent by the application or web browser. Because this one can be spoofed easily better configure your Conditional Access policies wisely.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Calling the Microsoft Graph API via PowerShell without a user</title>
      <link>http://tech.nicolonsky.ch/calling-the-microsoft-graph-api/</link>
      <pubDate>Mon, 17 Jun 2019 18:47:47 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/calling-the-microsoft-graph-api/</guid>
      <description>&lt;p&gt;A colleague recently asked me how to access the Microsoft Graph API using PowerShell without specifying his user account or credentials. So here&amp;rsquo;s a little post about the required configuration to authenticate against the OAuth 2.0 endpoint of Azure AD with an app registration. This is especially useful for automation services like Azure automation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://tech.nicolonsky.ch/calling-the-microsoft-graph-api/#powershell-template&#34;&gt;At the end of this post you&amp;rsquo;ll find a PowerShell template.&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;gather-application-information&#34;&gt;Gather application information&lt;/h2&gt;
&lt;p&gt;Create a new client secret for your app and note down the following values:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mastering Windows Hello for Business with your hybrid Identity</title>
      <link>http://tech.nicolonsky.ch/mastering-windows-hello-for-business-with-your-hybrid-identity/</link>
      <pubDate>Sun, 09 Jun 2019 18:07:32 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/mastering-windows-hello-for-business-with-your-hybrid-identity/</guid>
      <description>&lt;p&gt;I had the honor to deploy Windows Hello for Business several times for customers transitioning to a modern workplace using Azure AD and Microsoft Intune to manage their Windows 10 devices - combined with hybrid user identities. Now I want to share the most common hurdles and my experiences with you.&lt;/p&gt;
&lt;p&gt;Just to make sure that you have the modern mindset - here&amp;rsquo;s a little quote to reconsider your hybrid strategy (if not already done):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Onboard macOS to Microsoft Defender ATP with Microsoft Intune</title>
      <link>http://tech.nicolonsky.ch/onboard-macos-to-windows-defender-atp-with-microsoft-intune/</link>
      <pubDate>Thu, 23 May 2019 14:23:57 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/onboard-macos-to-windows-defender-atp-with-microsoft-intune/</guid>
      <description>&lt;p&gt;Microsoft Defender ATP (MDATP)  for macOS hit finally the public preview status. We can now protect our macOS endpoints with cloud based power. I created a little guide about the onboarding process with Microsoft Intune and the user experience.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;From a macOS endpoint perspective:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;macOS version 10.12 (Sierra) or newer&lt;/li&gt;
&lt;li&gt;No third party endpoint protection installed&lt;/li&gt;
&lt;li&gt;At least 1GB of free disk space&lt;/li&gt;
&lt;li&gt;macOS client enrolled in your Intune tenant&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to enable macOS enrollment for your Intune tenant - &lt;a href=&#34;https://tech.nicolonsky.ch/enroll-macos-to-microsoft-intune/&#34;&gt;I&amp;rsquo;ve written a post about the enrollment process&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enroll macOS devices to Microsoft Intune</title>
      <link>http://tech.nicolonsky.ch/enroll-macos-to-microsoft-intune/</link>
      <pubDate>Thu, 23 May 2019 14:22:05 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/enroll-macos-to-microsoft-intune/</guid>
      <description>&lt;p&gt;As Microsoft starts to empower the integration for non Windows devices and also the available apps for macOS devices you might want to profit from your existing MDM solution of choice (Microsoft Intune) and enable features like conditional access or Windows Defender ATP on your  macOS devices. This post covers the enrollment with the company portal app. If you want to enroll your devices with DEP (device enrollment program) you can find a great guide &lt;a href=&#34;https://www.robinhobo.com/how-to-configure-apple-dep-within-microsoft-intune-and-migrate-existing-dep-devices-from-another-mdm-solution-to-microsoft-intune/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intune configure lid close action</title>
      <link>http://tech.nicolonsky.ch/intune-lid-close-action/</link>
      <pubDate>Sun, 19 May 2019 19:08:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/intune-lid-close-action/</guid>
      <description>&lt;p&gt;When using your notebooks and portable devices together with a docking station your users might like to close the lid. The Windows 10 1903 release &lt;a href=&#34;https://docs.microsoft.com/en-us/windows/client-management/mdm/new-in-windows-mdm-enrollment-management#whats-new-in-mdm-for-windows-10-version-1903&#34;&gt;introduces additional power CSP settings&lt;/a&gt;. One of them allows you to configure the lid close action while on ac power - so the device doesn&amp;rsquo;t switch to hibernate mode as by default.&lt;/p&gt;
&lt;h1 id=&#34;policy-csp-configuration&#34;&gt;Policy CSP configuration&lt;/h1&gt;
&lt;p&gt;To configure this policy with Microsoft Intune use the following OMA-URI configuration within a new custom device configuration:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing the OneDrive AutoMountTeamSites setting</title>
      <link>http://tech.nicolonsky.ch/onedrive-automountteamsites/</link>
      <pubDate>Sun, 17 Mar 2019 16:03:09 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/onedrive-automountteamsites/</guid>
      <description>&lt;p&gt;Reviewing the latest OneDrive features I wanted to try the new &lt;em&gt;AutoMountTeamSites&lt;/em&gt; setting which lets you preconfigure SharePoint online sites to sync automatically for defined users and devices.&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;&lt;strong&gt;Updated on 12.07.2019&lt;/strong&gt;: &lt;a href=&#34;#intune-administrative-template-configuration&#34;&gt;Included the Intune administrative template configuration&lt;/a&gt;&lt;/mark&gt;&lt;/p&gt;
&lt;p&gt;The setting is officially described as follow:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This setting lets you specify SharePoint team site libraries to sync automatically the next time users sign in to the OneDrive sync client. (Microsoft)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;If you enable this setting, the OneDrive sync client will automatically download the contents of the libraries you specified as online-only files the next time the user signs in. The user won&amp;rsquo;t be able to stop syncing the libraries. (Microsoft)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intune map network drives and execute PowerShell script on each user logon</title>
      <link>http://tech.nicolonsky.ch/intune-execute-powershell-script-on-each-user-logon/</link>
      <pubDate>Fri, 11 Jan 2019 20:51:36 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/intune-execute-powershell-script-on-each-user-logon/</guid>
      <description>&lt;p&gt;Recently a customer needed a drive mapping solution to access his on premise file shares during his transition phase to a cloud-only workplace. I wanted to share the solution with you because it&amp;rsquo;s  a frequently asked question around a modern workplace migration. The following solution can also be extended or modified for a printer mapping or other PowerShell scripts which need to run on each user logon.&lt;/p&gt;
&lt;!--kg-card-begin: markdown--&gt;
&lt;p&gt;&lt;mark&gt;&lt;strong&gt;Updated 04.08.2019&lt;/strong&gt;: I&amp;rsquo;ve developed an automated solution to generate network drive mapping configurations with an online tool which also migrates group policy network drive mappings. See: &lt;a href=&#34;https://tech.nicolonsky.ch/next-level-network-drive-mapping-with-intune&#34;&gt;next-level-network-drive-mapping-with-intune&lt;/a&gt;.&lt;/mark&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clean up stale Azure AD devices</title>
      <link>http://tech.nicolonsky.ch/clean-up-azure-ad-devices/</link>
      <pubDate>Thu, 10 Jan 2019 22:25:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/clean-up-azure-ad-devices/</guid>
      <description>&lt;p&gt;If you are using Azure AD and the time passes you&amp;rsquo;ll have a lot of old device entries. If you enable the automatic device cleanup rule in Microsoft Intune the device is only removed within MDM and the Azure AD entry still exists.&lt;/p&gt;
&lt;figure class=&#34;kg-card kg-image-card kg-card-hascaption&#34;&gt;&lt;img src=&#34;http://tech.nicolonsky.ch/content/images/2019/01/image-1.png&#34; class=&#34;kg-image&#34;&gt;&lt;figcaption&gt;Intune device cleanup rule&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;For this reason I created a tiny PowerShell snippet to create a report with all devices which didn&amp;rsquo;t contact your Azure AD tenant since the treshold date specified. If you confirm the operation you can also delete all affected devices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Set Office 365 UsageLocation property with Azure automation</title>
      <link>http://tech.nicolonsky.ch/office-usage-location-azure-automation/</link>
      <pubDate>Wed, 09 Jan 2019 15:23:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/office-usage-location-azure-automation/</guid>
      <description>&lt;p&gt;If you want to assign Microsoft licenses to your Azure AD users e.g. Microsoft 365 E3 licenses you can do this with group based licensing as described &lt;a href=&#34;https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-licensing-whatis-azure-portal&#34;&gt;here&lt;/a&gt;. &lt;del&gt;The problem is that even with group based licensing the UsageLocation property for each user must be set individually.&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;mark&gt;Update: 13.01.2019: Since group based licensing is GA the tenant location is used if no UsageLocation is set on a user object. Use this guide if you want to manually assign licenses or override the tenant settings if you need to configure different UsageLocations.&lt;/mark&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SwissSkills some thoughts about this years competition</title>
      <link>http://tech.nicolonsky.ch/swissskills-experience/</link>
      <pubDate>Sat, 15 Sep 2018 18:19:38 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/swissskills-experience/</guid>
      <description>&lt;p&gt;That&amp;rsquo;s it. Saturday morning, the day after my SwissSkills 2018 competition in Bern. Waiting for a call to answer even though I know that my performance was not good enough to deserve a podium spot.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Update, 16.09.2018&lt;/strong&gt;: the rankings are now available and I made it to the fourth place. Missing third by 0.05 points (!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://www.swiss-skills.ch/2018/berufe/resultate/&#34;&gt;&lt;img alt=&#34;SwissSkills2018 result&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/2018/09/SwissSkills2018_result.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;my-journey&#34;&gt;My journey&lt;/h2&gt;
&lt;p&gt;Last year I had the privilege to compete at the national ICT skills after qualifying through the regional championships. I went there with no expectations I just wanted to know where I stand amongst others. In the end I was overwhelmed with the 3rd place.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy OneDrive KFM with Microsoft Intune OMA-URI</title>
      <link>http://tech.nicolonsky.ch/onedrive-known-folder-move-ms-intune/</link>
      <pubDate>Thu, 06 Sep 2018 18:37:21 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/onedrive-known-folder-move-ms-intune/</guid>
      <description>&lt;p&gt;OneDrive KFM (Known Folder Move) allows you to redirect common Windows folders (Desktop, Documents and Pictures) to the users personal OneDrive. OneDrive Known Folder Move is the modern replacement for the well known folder redirection group policy. The deployment with Microsoft Intune allows you to trigger or automate the OneDrive KFM configuration for your end users.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Updated on 04.08.2019&lt;/strong&gt;: Added administrative template configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This post is based on a great article from Oliver Kieselbach about &lt;a href=&#34;https://oliverkieselbach.com/2017/11/07/deep-dive-admx-ingestion-to-configure-silentaccountconfig-with-onedrive/&#34;&gt;Deep dive ADMX ingestion to configure SilentAccountConfig with OneDrive&lt;/a&gt;. I used his blog to play around with the admx ingestion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows 10 1803 New MDM Policy CSP Settings</title>
      <link>http://tech.nicolonsky.ch/windows-10-1803-new-mdm-policy-csp-settings/</link>
      <pubDate>Sat, 21 Apr 2018 22:11:30 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/windows-10-1803-new-mdm-policy-csp-settings/</guid>
      <description>&lt;p&gt;Hello. Long time no see. Finally I&amp;rsquo;m back with a new post. This time I created a nice little list with Windows 10 1803 New MDM Policy CSP Settings for the next Windows 10 release. If you&amp;rsquo;re not familiar with Policy CSP Settings - that are GPO Settings configureable over an Intune OMA-Uri Policy. Here&amp;rsquo;s &lt;a href=&#34;https://docs.microsoft.com/en-us/windows/configuration/provisioning-packages/how-it-pros-can-use-configuration-service-providers&#34;&gt;a great introducation to Policy CSP Settings.&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;my-favorite-policy-cpss-available-with-windows-10-1803&#34;&gt;My favorite policy CPS&amp;rsquo;s available with Windows 10 1803&lt;/h3&gt;
&lt;!--kg-card-begin: markdown--&gt;
&lt;p&gt;The following CSP&amp;rsquo;s are available on Windows 10 1803 and later:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Surface Hub Miracast Connection Error</title>
      <link>http://tech.nicolonsky.ch/surface-hub-miracast-connection-error/</link>
      <pubDate>Fri, 05 Jan 2018 10:48:59 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/surface-hub-miracast-connection-error/</guid>
      <description>&lt;p&gt;Recently I had to troubleshoot a sticky Surface Hub Miracast Connection error for a customer. They were unable to connect to the surface hub from domain joined devices but a newly installed device from a blank Windows image was working as expected. I started Troubleshooting the Surface Hub Miracast Connection Error and checked all the points mentioned in the official &lt;a href=&#34;https://docs.microsoft.com/en-us/surface-hub/miracast-troubleshooting&#34;&gt;Troubleshoot Miracast on Surface Hub&lt;/a&gt; post from Microsoft.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;SurfaceHub&#34; loading=&#34;lazy&#34; src=&#34;https://nicolonskytech.azurewebsites.net/content/images//2018/01/SurfaceHub-300x141.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;default-configuration&#34;&gt;Default Configuration&lt;/h2&gt;
&lt;p&gt;On a Windows 10 1709 device exists a default firewall rule to allow Miracast connections to wireless displays:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows 10 1709 Cannot Access SMB2 Share Guest Access</title>
      <link>http://tech.nicolonsky.ch/windows-10-1709-cannot-access-smb2-share-guest-access/</link>
      <pubDate>Thu, 19 Oct 2017 17:51:57 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/windows-10-1709-cannot-access-smb2-share-guest-access/</guid>
      <description>&lt;p&gt;After Upgrading to Windows 10 1709 (Fall Creators Update) I couldn&amp;rsquo;t access my Synology NAS anymore. Therefore I started troubleshooting the Windows 10 1709 Cannot Access SMB2 Share Guest Access error:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Windows 10 1709 Cannot Access SMB2 Share Guest Access&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/2017/10/2017-10-19_1725-300x171.png&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An error occurred while reconnecting X: to &lt;code&gt;\\nas\data&lt;/code&gt;
Microsoft Windows Network: You can&amp;rsquo;t access this shared folder because your organization&amp;rsquo;s security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PowerShell Script Test Open TCP Ports</title>
      <link>http://tech.nicolonsky.ch/power-shell-script-test-open-tcp-ports/</link>
      <pubDate>Wed, 18 Oct 2017 13:28:12 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/power-shell-script-test-open-tcp-ports/</guid>
      <description>&lt;p&gt;Recently I was troubleshooting ADFS connection issues when I discovered a nice little Cmdlet called &amp;ldquo;Test-NetConnection&amp;rdquo;. With this Cmdelet you can verify TCP connectivity, in my case from a client to the ADFS server.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The &lt;strong&gt;Test-NetConnection&lt;/strong&gt; cmdlet displays diagnostic information for a connection. It supports ping test, TCP test, route tracing, and route selection diagnostics. Depending on the input parameters, the output can include the DNS lookup results, a list of IP interfaces, IPsec rules, route/source address selection results, and/or confirmation of connection establishment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Manage Local Administrator Rights Using Group Policy</title>
      <link>http://tech.nicolonsky.ch/manage-local-administrator-rights-using-group-policy/</link>
      <pubDate>Sat, 14 Oct 2017 13:37:49 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/manage-local-administrator-rights-using-group-policy/</guid>
      <description>&lt;p&gt;If you imagine that your users or administrators have uncontrolled local administrator rights it&amp;rsquo;s a nightmare. They have (certainly) full control over their computer, and could do a lot of harm. So managing local administrator rights is definitely a must.&lt;/p&gt;
&lt;h1 id=&#34;manage-local-administrator-rights&#34;&gt;Manage Local Administrator Rights&lt;/h1&gt;
&lt;p&gt;The Active Directory Group Policies offer a great possibility to manage local groups on clients or servers. All the magic happens with &amp;ldquo;Restricted Groups&amp;rdquo;.&lt;/p&gt;
&lt;h3 id=&#34;adding-a-group-or-users-to-a-local-group&#34;&gt;Adding a group or users to a local group&lt;/h3&gt;
&lt;p&gt;If you want to add a certain group to a built-in group add the group to the restricted groups under the &amp;ldquo;This group is a member of&amp;rdquo; sections:&lt;img alt=&#34;Group Policy Restricted Groups&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images//2017/10/2017-10-13_2326.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>PowerShell Function Validate Object Properties Using ValidateScript</title>
      <link>http://tech.nicolonsky.ch/power-shell-function-validate-object-properties/</link>
      <pubDate>Thu, 12 Oct 2017 10:25:09 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/power-shell-function-validate-object-properties/</guid>
      <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Recently I was working on a PowerShell script with many custom functions. When I started to use PowerShell custom objects I wanted to be able to pass them to a function. So I faced the challenge of validating my object for all required properties and came up with this solution, using the ValidateScript block to test the object:&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/nicolonsky/9c09096dd91ceb7a8fa43ab5cf4c3740.js&#34;&gt;&lt;/script&gt;
&lt;h4 id=&#34;customizing-the-validatescript&#34;&gt;Customizing the ValidateScript&lt;/h4&gt;
&lt;p&gt;As you can see I use a ValidateScript for the parameter validation to test the object for the required properties. The properties can be specified in an array:
&lt;code&gt;$requiredProperties=@(&amp;quot;Property1&amp;quot;,&amp;quot;Property2&amp;quot;,&amp;quot;Property3&amp;quot;, &amp;quot;Property4&amp;quot;)&lt;/code&gt;
When we call the Function with an appropriate object:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing printers with PowerShell</title>
      <link>http://tech.nicolonsky.ch/managing-printers-power-shell/</link>
      <pubDate>Tue, 10 Oct 2017 17:54:54 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/managing-printers-power-shell/</guid>
      <description>&lt;p&gt;Managing printers with PowerShell instead of VBScript? Sometimes it&amp;rsquo;s necessary to add and remove specific printers to a computer. For example during a client deployment or when a user logs on. This post covers how to manage printers with PowerShell.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The following PowerShell commands are supported with PowerShell version 4 and newer.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;installing-a-local-network-printer&#34;&gt;Installing a local network printer&lt;/h2&gt;
&lt;p&gt;Installing a local printer (without a printserver) consists of the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Add the printer driver to your system&amp;rsquo;s driverstore&lt;/li&gt;
&lt;li&gt;Install the printer driver from the driverstore&lt;/li&gt;
&lt;li&gt;Add a printer port to communicate with the printer&lt;/li&gt;
&lt;li&gt;Last but not least add the printer&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;add-the-printer-driver-to-the-driverstore&#34;&gt;Add the printer driver to the driverstore&lt;/h4&gt;
&lt;p&gt;Before you can install the printer driver you need to import the printer driver to your system&amp;rsquo;s driverstore.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disable Java Auto Update During Installation</title>
      <link>http://tech.nicolonsky.ch/disable-java-auto-update/</link>
      <pubDate>Tue, 10 Oct 2017 17:00:01 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/disable-java-auto-update/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disable Java Auto Update without registry modification?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Recently i had to install Oracle Java on a Terminal server and was curious, if it&amp;rsquo;s possible to configure the package that the auto update feature is disabled without any registry configuration?&lt;/p&gt;
&lt;h2 id=&#34;custom-configuration&#34;&gt;Custom configuration&lt;/h2&gt;
&lt;p&gt;On the Oracle website i found a great article about the possibility to pass a configuration file to the installer:&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the syntax to install Java silently with a custom configuration:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talks</title>
      <link>http://tech.nicolonsky.ch/talks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://tech.nicolonsky.ch/talks/</guid>
      <description>&lt;p&gt;I am looking forward speaking on the events listed below. Do not hesitate to contact me for your next event. Slides from past events can be downloaded as PDF.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Speaking&#34; loading=&#34;lazy&#34; src=&#34;http://tech.nicolonsky.ch/content/images/talks.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;upcoming&#34;&gt;Upcoming&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Date&lt;/th&gt;
          &lt;th&gt;Event&lt;/th&gt;
          &lt;th&gt;Session&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;x&lt;/td&gt;
          &lt;td&gt;Your event?&lt;/td&gt;
          &lt;td&gt;For any speaking related inquiries just drop me an &lt;a href=&#34;mailto:hi@nicolasuter.ch&#34;&gt;e-mail&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;past&#34;&gt;Past&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Date&lt;/th&gt;
          &lt;th&gt;Event&lt;/th&gt;
          &lt;th&gt;Session&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;08.10.2025&lt;/td&gt;
          &lt;td&gt;Workplace Ninja User Group Switzerland&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.meetup.com/wpninjasugswitzerland/events/310458561&#34;&gt;Intune misconfigurations in the wild, what we see and what you should fix!&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;24.09.2025&lt;/td&gt;
          &lt;td&gt;Workplace Ninja Summit 2025&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://wpninjas25.sched.com/speaker/nicola134&#34;&gt;Various sessions&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;10.06.2025&lt;/td&gt;
          &lt;td&gt;Switch NetSec WG 2025&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.switch.ch/en/events&#34;&gt;KQL Threat Hunting hands on lab&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;16.09.2024&lt;/td&gt;
          &lt;td&gt;Workplace Ninja Summit 2024&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://wpninjas24.sched.com/speaker/nicola134&#34;&gt;Various sessions&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;28.05.2024&lt;/td&gt;
          &lt;td&gt;KQL Café&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://kqlcafe.github.io/website/&#34;&gt;Preventive side of ITDR with KQL&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;05.05.2024&lt;/td&gt;
          &lt;td&gt;MMS 2024 at MOA&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://mms2024atmoa.sched.com/speaker/nicola.suter&#34;&gt;Various sessions&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;30.10.2023&lt;/td&gt;
          &lt;td&gt;MMS 2023 Miami Beach Edition&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://mms2023miami.sched.com/speaker/nicola.suter&#34;&gt;Various sessions&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;27.09.2023&lt;/td&gt;
          &lt;td&gt;Workplace Ninja Summit 2023&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://sched.co/1PXEK&#34;&gt;Demystifying Defender for Endpoint Security Settings Management&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;19.03.2021&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.meetup.com/wpninjasugswitzerland/events/274918216/&#34;&gt;WPNinjaUG_CH 2103 Virtual&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;http://tech.nicolonsky.ch/content/slides/automating-intune-tasks-with-the-microsoft-graph-api.pdf&#34;&gt;Automating Intune Tasks with the Microsoft Graph API&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;30.09.2020&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.expertslive.ch/&#34;&gt;Experts Live Switzerland&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;http://tech.nicolonsky.ch/content/slides/A-safari-through-the-Intune-device-management-scenario-jungle.pdf&#34;&gt;A safari through the Intune device management scenario jungle&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;29.11.2019&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://geekmania.ch/2019/&#34;&gt;Geekmania&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;http://tech.nicolonsky.ch/content/slides/Geekmania-2019-WHFB.pdf&#34;&gt;Hybrid Azure AD Join and Windows Hello for Business&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;04.10.2019&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://configmgr.ch/cmce-1910/&#34;&gt;Configmgr Community Event (CMCE)&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;http://tech.nicolonsky.ch/content/slides/CMCE-1910-Classic%20On-Prem%20Services%20in%20the%20Cloud.pdf&#34;&gt;Classic On-Prem Services in the Cloud&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
    </item>
  </channel>
</rss>
