<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Office365 Archives - the Sysadmin Channel</title>
	<atom:link href="https://thesysadminchannel.com/office365/feed/" rel="self" type="application/rss+xml" />
	<link>https://thesysadminchannel.com/office365/</link>
	<description>Documenting My Life as a System Administrator</description>
	<lastBuildDate>Sat, 11 Nov 2023 02:46:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
<site xmlns="com-wordpress:feed-additions:1">144174110</site>	<item>
		<title>Get Microsoft 365 License Usage Count Using PowerShell</title>
		<link>https://thesysadminchannel.com/get-microsoft-365-license-usage-count-using-powershell/</link>
					<comments>https://thesysadminchannel.com/get-microsoft-365-license-usage-count-using-powershell/#respond</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Sat, 11 Nov 2023 02:46:27 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Graph API]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[azure license count]]></category>
		<category><![CDATA[check my Office 365 license count]]></category>
		<category><![CDATA[get license count graph api]]></category>
		<category><![CDATA[Get Microsoft 365 License Usage Count Using PowerShell]]></category>
		<category><![CDATA[get-mguserlicensedetail]]></category>
		<category><![CDATA[How do I see all my Office Licenses]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=4920</guid>

					<description><![CDATA[<p>Keeping an eye on the available licenses in your Microsoft tenant is essential to ensuring you and your users have what is needed to keep the business running. Whether you assign licenses directly or you use Group Based Licensing, if&#8230; <a href="https://thesysadminchannel.com/get-microsoft-365-license-usage-count-using-powershell/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/get-microsoft-365-license-usage-count-using-powershell/">Get Microsoft 365 License Usage Count Using PowerShell</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Keeping an eye on the available licenses in your Microsoft tenant is essential to ensuring you and your users have what is needed to keep the business running. Whether you assign licenses directly or you use <a href="https://thesysadminchannel.com/assign-group-based-licensing-in-azure-ad/" rel="noopener" target="_blank">Group Based Licensing</a>, if a user needs a specific license, there shouldn&#8217;t be any hiccups when assigning.  Today I am going to share a PowerShell script to get Microsoft 365 license usage count using PowerShell and Graph API.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#powershell">Get Microsoft 365 License Usage Count Using PowerShell</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<div id="requirements" style="scroll-margin-top: 10px;"></div>
<h2>Requirements</h2>
<p>In order to query license information for your tenant, you will need the following API Scopes permitted.</p>
<ul>
<li>Microsoft.Graph or Microsoft.Graph.Beta PowerShell modules</li>
<li>Directory.Read.All or Organization.Read.All</li>
</ul>
<p>&nbsp;</p>
<div id="powershell" style="scroll-margin-top: 10px;"></div>
<h2>Get Microsoft 365 License Usage Count Using PowerShell</h2>
<p>Before we get into the PowerShell script, I wanted to point out that the Microsoft API&#8217;s don&#8217;t show the friendly display names for these licenses.  Instead, they use a SkuPartNumber to give you an idea of what the licenses is regarding.  The problem here is that you also won&#8217;t find the SkuPartNumber anywhere in the portal so it&#8217;s kind of a pain to make sure the license you&#8217;re targeting in the API is in fact the license in the Azure portal.<br />
&nbsp;</p>
<p>Luckily, there is a Microsoft Doc that has this information but it&#8217;s not always up to date.  The link to that doc is <a href="https://learn.microsoft.com/en-us/entra/identity/users/licensing-service-plan-reference" rel="noopener" target="_blank">https://learn.microsoft.com/en-us/entra/identity/users/licensing-service-plan-reference</a>.  There&#8217;s about 400+ Sku&#8217;s that are shown so it&#8217;s also nice that they have provided a csv file that we can use PowerShell to be able to pull these names into our Script.  </p>
<pre class="brush: powershell; title: ; notranslate">
$LicenseFile = 'C:\temp\m365license.csv'
$CutoffDate = (Get-Date).AddDays(-7)

if (Test-Path $LicenseFile) {
    $LastWriteTime = Get-ChildItem -Path $LicenseFile | select -ExpandProperty LastWriteTime

    if ($CutoffDate -gt $LastWriteTime) {
        #csv file is older than a week old.  Let us get a newer version
        Invoke-WebRequest -Uri 'https://download.microsoft.com/download/e/3/e/e3e9faf2-f28b-490a-9ada-c6089a1fc5b0/Product%20names%20and%20service%20plan%20identifiers%20for%20licensing.csv' -OutFile C:\temp\m365license.csv
    }
} else {
    #csv file was not found so let us download it now
    Invoke-WebRequest -Uri 'https://download.microsoft.com/download/e/3/e/e3e9faf2-f28b-490a-9ada-c6089a1fc5b0/Product%20names%20and%20service%20plan%20identifiers%20for%20licensing.csv' -OutFile C:\temp\m365license.csv
}

$csvList = Import-Csv C:\temp\m365license.csv
$LicenseHash = @{}

$csvList | ForEach-Object {
    if (-not $LicenseHash[$_.Guid]) {
        $LicenseHash.Add($_.GUID, $_.Product_Display_Name)
    }
}

$LicenseList = Get-MgSubscribedSku

#Uncomment if you only want to display licenses that are maxed out
foreach ($License in $LicenseList) {
    if ($License.PrepaidUnits.Enabled -ge 1) {
        #if ($License.ConsumedUnits -ge $License.PrepaidUnits.Enabled) {
            [PSCustomObject]@{
                LicenseName   = $LicenseHash[$License.SkuId]
                SkuPartNumber = $License.SkuPartNumber
                SkuId         = $License.SkuId
                Remaining     = $License.PrepaidUnits.Enabled - $License.ConsumedUnits
                Enabled       = $License.PrepaidUnits.Enabled
                Used          = $License.ConsumedUnits
            }
        #}
    }
}
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/11/License-Count-Usage-PowerShell-Graph-API.png" target="_blank" rel="noopener"><img fetchpriority="high" decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/11/License-Count-Usage-PowerShell-Graph-API.png" alt="Microsoft 365 License Usage Count PowerShell Graph API" width="1019" height="416" class="aligncenter size-full wp-image-4929" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/11/License-Count-Usage-PowerShell-Graph-API.png?v=1699669161 1019w, https://thesysadminchannel.com/wp-content/uploads/2023/11/License-Count-Usage-PowerShell-Graph-API-768x314.png?v=1699669161 768w" sizes="(max-width: 1019px) 100vw, 1019px" /></a><br />
&nbsp;</p>
<p>As you can see from above, the Identity Governance P2 Step Up license has not been updated in the downloadable csv file so the license name shows up blank.</p>
<div id="conclusion" style="scroll-margin-top: 10px;"></div>
<h2>Conclusion</h2>
<p>Hopefully this article was able to help you get Microsoft 365 License usage count using PowerShell and Graph API.  Sometimes we&#8217;re too busy to manually keep an eye on it so having this script along with an email alert would be helpful for preventing your licenses being maxed out.</p>
<p>The post <a href="https://thesysadminchannel.com/get-microsoft-365-license-usage-count-using-powershell/">Get Microsoft 365 License Usage Count Using PowerShell</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/get-microsoft-365-license-usage-count-using-powershell/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4920</post-id>	</item>
		<item>
		<title>Block Unmanaged Devices Using Conditional Access</title>
		<link>https://thesysadminchannel.com/block-unmanaged-devices-using-conditional-access/</link>
					<comments>https://thesysadminchannel.com/block-unmanaged-devices-using-conditional-access/#respond</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Mon, 25 Sep 2023 02:21:20 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[block unmanaged devices conditional access]]></category>
		<category><![CDATA[conditional access block sharepoint but not teams]]></category>
		<category><![CDATA[restrict m365 apps in browser]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=4839</guid>

					<description><![CDATA[<p>For most, the days of working off an entire on-premises environment where you have to connect to VPN in order to access email or your files is long gone. The world has shifted to hybrid or cloud only environments and&#8230; <a href="https://thesysadminchannel.com/block-unmanaged-devices-using-conditional-access/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/block-unmanaged-devices-using-conditional-access/">Block Unmanaged Devices Using Conditional Access</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>For most, the days of working off an entire on-premises environment where you have to connect to VPN in order to access email or your files is long gone.  The world has shifted to hybrid or cloud only environments and with that, it&#8217;s important to ensure your data is only accessible to devices that only you authorize. Today we are going to go over the methods on how to limit access when using a browser as well as the methods to <strong>block unmanaged devices using conditional access</strong>.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#unmanageddevice">What Classifies an Unmanaged Device</a></li>
<li><a href="#limitaccess">Limit Browser Access on Unmanaged Devices for M365 Apps</a></li>
<ul>
<li><a href="#limitspo">Limited Browser Access for SharePoint Online</a></li>
<ul>
<li><a href="#limitspopersite">Apply on a Per-Site Basis</a></li>
<li><a href="#limitspotenant">Apply at the Tenant Level</a></li>
</ul>
<li><a href="#limitexo">Limited Browser Access for Exchange Online</a></li>
<ul>
<li><a href="#limitexopermailbox">Apply on a Per-Mailbox Basis</a></li>
<li><a href="#limitexotenant">Apply at the Tenant Level</a></li>
</ul>
</ul>
<li><a href="#blockaccess">Block Unmanaged Devices Using Conditional Access</a></li>
<li><a href="#restrictaccess">Restrict Browser Access on Unmanaged Devices Using Conditional Access</a></li>
<li><a href="#extensions">Incognito Mode and Browser Extensions</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<p>&nbsp;</p>
<div id="requirements" style="scroll-margin-top: 10px;"></div>
<h2>Requirements</h2>
<p>Before we go into the details on how to set this up, we first need to ensure that we have everything in place so everything works as expected. Here&#8217;s what is needed.</p>
<ul>
<li>Azure AD P1 or P2 license for conditional access</li>
<li>Security Administrator, Conditional Access Administrator or Global Administrator</li>
<li>SharePoint Administrator or Global Administrator</li>
<li>Exchange Administrator or Global Administrator</li>
<li>Microsoft.Online.SharePoint.PowerShell PowerShell Module</li>
<li>ExchangeOnlineManagement PowerShell Module</li>
</ul>
<p>&nbsp;</p>
<p>To touch a bit on these requirements, we need to ensure we have an Azure AD P1 or P2 license so we can have access to use conditional access policies.  This is going to be the foundation of what we&#8217;re going to use to either limit or block unmanaged devices from accessing anything in the cloud.  Also as of today, Security Administrator, Conditional Access Administrator or Global Administrator are the only roles that are able to modify CA policies. So we will need at least one of those.<br />
&nbsp;</p>
<p>Exchange Administrator and SharePoint Administrators are needed to be able to set the respective platform policies to limited access.  A bit more on that later.</p>
<div id="unmanageddevice" style="scroll-margin-top: 10px;"></div>
<h2>What Classifies as an Unmanaged Device</h2>
<p>An unmanaged device is typically a device that is not issued by your organization.  It is often synonymous with BYOD (Bring Your Own Device) and can be anything from a personal computer or phone to a machine that you use to access emails while at grandma&#8217;s house.  The point here is that it doesn&#8217;t have any policies and it is not properly governed by the IT department.<br />
&nbsp;</p>
<div id="limitaccess" style="scroll-margin-top: 10px;"></div>
<h2>Limit Browser Access on Unmanaged Devices for M365 Apps</h2>
<p>If you don&#8217;t want to put a full stop on users accessing M365 resources, you do have the ability to limit what they can do while signed in from an unmanaged device.  Simply put, we can enforce policies so users can still sign in using the web only methods, however, they will be blocked from downloading anything to the local machine.<br />
&nbsp;</p>
<p>For most, this is a great happy medium because it still keeps your data secure to a certain extent and users can access their documents if they don&#8217;t have their company issued device around.<br />
&nbsp;</p>
<p>This is in fact a two-step process so we&#8217;ll target SharePoint/OneDrive and Exchange Online now.  Then we will finish it off with the CA Policies.</p>
<div id="limitspo" style="scroll-margin-top: 10px;"></div>
<h2>Limited Browser Access for SharePoint Online</h2>
<p>If you want to take this in incremental steps you definitely can.  Being able to set limited access on specific sites is supported so it&#8217;s definitely recommended you take that approach first. In my opinion it will be a good test to set limited access on a few SharePoint sites as well as a few OneDrive sites.<br />
&nbsp;</p>
<p>Let&#8217;s connect to SharePoint Online using the <a href="https://www.powershellgallery.com/packages/Microsoft.Online.SharePoint.PowerShell/" rel="noopener" target="_blank">Microsoft.Online.SharePoint.PowerShell</a> PowerShell Module.</p>
<pre class="brush: powershell; title: ; notranslate">
Import-Module Microsoft.Online.SharePoint.PowerShell -WarningAction SilentlyContinue
$adminURL = 'https://&lt;tenantname&gt;-admin.sharepoint.com'
Connect-SPOService -Url $adminURL -WarningAction SilentlyContinue
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Connect-SharePoint-Online.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Connect-SharePoint-Online.png" alt="Connect-SharePoint Online" width="861" height="215" class="aligncenter size-full wp-image-4848" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Connect-SharePoint-Online.png?v=1695425407 861w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Connect-SharePoint-Online-768x192.png?v=1695425407 768w" sizes="(max-width: 861px) 100vw, 861px" /></a><br />
&nbsp;</p>
<div id="limitspopersite" style="scroll-margin-top: 10px;"></div>
<h4>Apply on a Per-Site Basis</h4>
<p>Next, let&#8217;s take a look at the conditional access property within the <strong><em>Get-SPOSite</em></strong> cmdlet.  This is what we&#8217;ll use to be able to limit access on specific SharePoint (or OneDrive) sites before we deploy this on the tenant level. By default, this should be set to allow full access.  Meaning anyone can access this SharePoint site from anywhere and there wouldn&#8217;t be any restrictions in place.</p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-SPO-Site-PowerShell.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-SPO-Site-PowerShell.png" alt="Get SPOSite PowerShell" width="860" height="265" class="aligncenter size-full wp-image-4851" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-SPO-Site-PowerShell.png?v=1695486802 860w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-SPO-Site-PowerShell-768x237.png?v=1695486802 768w" sizes="(max-width: 860px) 100vw, 860px" /></a><br />
&nbsp;</p>
<p>With that out of the way, let&#8217;s change the access to allow limited, web only access for this site as well as a OneDrive site. To accomplish this we&#8217;re going to use the <strong><em>Set-SPOSite</em></strong> cmdlet along with the <strong><em>-ConditionalAccessPolicy</em></strong> Parameter.<br />
&nbsp;</p>
<p>This parameter supports the following inputs:</p>
<ul>
<li>AllowFullAccess: Allows full access from desktop apps, mobile apps, and the web</li>
<li>AllowLimitedAccess: Allows limited, web-only access</li>
<li>BlockAccess: Blocks Access</li>
<li>AuthenticationContext: Assign an Azure AD authentication context. Must add the AuthenticationContextName</li>
</ul>
<pre class="brush: powershell; title: ; notranslate">
$SiteURL = 'https://thesysadminchannel.sharepoint.com/sites/someproject'
$OneDriveURL = 'https://thesysadminchannel-my.sharepoint.com/personal/buzz_thesysadminchannel_com'

Set-SPOSite -Identity $SiteURL -ConditionalAccessPolicy AllowLimitedAccess
Set-SPOSite -Identity $OneDriveURL -ConditionalAccessPolicy AllowLimitedAccess

$SiteURL, $OneDriveURL | ForEach-Object {Get-SPOSite -Identity $_ | select Title, ConditionalAccessPolicy}

Title          ConditionalAccessPolicy
-----          -----------------------
SomeProject         AllowLimitedAccess
Buzz Lightyear      AllowLimitedAccess
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-SPOSite-Conditional-Access-Block.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-SPOSite-Conditional-Access-Block.png" alt="Set SPOSite Conditional Access Block" width="1040" height="387" class="aligncenter size-full wp-image-4855" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-SPOSite-Conditional-Access-Block.png?v=1695488188 1040w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-SPOSite-Conditional-Access-Block-1024x381.png?v=1695488188 1024w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-SPOSite-Conditional-Access-Block-768x286.png?v=1695488188 768w" sizes="(max-width: 1040px) 100vw, 1040px" /></a><br />
&nbsp;</p>
<p>Before you start checking the sites you set the limited access on, note that nothing is limited until we configure the CA policies.  It is strongly recommended that you do thorough testing before enabling this at the tenant level. Once you&#8217;ve done that and you&#8217;re ready to set it as the default, you can do that with another cmdlet.  That cmdlet is <strong><em>Set-SPOTenant</em></strong><br />
&nbsp;</p>
<div id="limitspotenant" style="scroll-margin-top: 10px;"></div>
<h4>Apply at the Tenant Level</h4>
<p>Now that you&#8217;re ready to enable this as the default on the tenant level, there is one thing we need to decide on.  That one thing is whether we want to enforce these restrictions on adhoc recipients. What exactly does that mean you say?<br />
&nbsp;</p>
<p>When the feature is enabled, all external users are going to be in scope of the restrictions and users who are accessing SharePoint Online files with a pass code are going to be blocked.<br />
&nbsp;</p>
<div id="blockquote1">
IMPORTANT:  By default when you set this at the tenant level, a conditional access policy is automatically created and scoped to ALL USERS. If you&#8217;re going to roll this out in stages (e.g. by department) I would suggest you immediately disable that policy and create a new CA policy that is finetuned to your liking.
</div>
<pre class="brush: powershell; title: ; notranslate">
Set-SPOTenant -ConditionalAccessPolicy AllowLimitedAccess -ApplyAppEnforcedRestrictionsToAdHocRecipients: $false
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/SharePoint-Limited-Access-PowerShell.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/SharePoint-Limited-Access-PowerShell.png" alt="SharePoint Limited Access PowerShell" width="860" height="214" class="aligncenter size-full wp-image-4863" /></a><br />
&nbsp;</p>
<p>When completed, we can also check the SharePoint Admin center to see the same thing.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/SharePoint-Limited-Access-gui.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/SharePoint-Limited-Access-gui.png" alt="SharePoint Limited Access gui" width="1356" height="604" class="aligncenter size-full wp-image-4866" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/SharePoint-Limited-Access-gui.png?v=1695492603 1356w, https://thesysadminchannel.com/wp-content/uploads/2023/09/SharePoint-Limited-Access-gui-1024x456.png?v=1695492603 1024w, https://thesysadminchannel.com/wp-content/uploads/2023/09/SharePoint-Limited-Access-gui-768x342.png?v=1695492603 768w" sizes="(max-width: 1356px) 100vw, 1356px" /></a><br />
&nbsp;</p>
<p>Finally, since doing this will automatically create a conditional access policy on our behalf, I would recommend disabling that and crafting one by hand so we can fine tune it to our liking.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Block-Unmanaged-Device-Conditional-Access-Policy.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Block-Unmanaged-Device-Conditional-Access-Policy.png" alt="Block Unmanaged Device Conditional Access Policy" width="1053" height="194" class="aligncenter size-full wp-image-4873" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Block-Unmanaged-Device-Conditional-Access-Policy.png?v=1695493643 1053w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Block-Unmanaged-Device-Conditional-Access-Policy-1024x189.png?v=1695493643 1024w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Block-Unmanaged-Device-Conditional-Access-Policy-768x141.png?v=1695493643 768w" sizes="(max-width: 1053px) 100vw, 1053px" /></a></p>
<div id="limitexo" style="scroll-margin-top: 10px;"></div>
<h2>Limited Browser Access for Exchange Online</h2>
<p>Much like the SharePoint Online scenario, we can also limit browser access for users who are trying to access their email when on an unmanaged device. This setting is done using the OwaMailboxPolicy and is configurable for specific mailboxes or at the tenant level.  Before we take a look at each one, we need to connect to Exchange Online via PowerShell.</p>
<pre class="brush: powershell; title: ; notranslate">
Connect-ExchangeOnline -UserPrincipalName user@domain.com -ShowBanner: $false
</pre>
<p>&nbsp;</p>
<div id="limitexopermailbox" style="scroll-margin-top: 10px;"></div>
<h4>Apply on a Per-Mailbox Basis</h4>
<p>Again, it&#8217;s always a great idea to test on a few people to ensure you&#8217;re able to get the results you want.  There&#8217;s nothing worse than enabling a policy and having to revert back because of incidents that could have very well been avoided if it was properly tested.<br />
&nbsp;</p>
<p>To set the limited access on a few mailboxes we&#8217;re going to need to create a new OwaMailboxPolicy and then set the same conditional access parameter to readonly.<br />
&nbsp;<br />
In case you&#8217;re interested, here is what the supported inputs are for that parameter:</p>
<ul>
<li>Off: No conditional access policy is applied to Outlook on the web. This is the default value</li>
<li>ReadOnly: Users can&#8217;t download attachments to their local computer, and can&#8217;t enable Offline Mode on non-compliant computers. They can still view attachments in the browser</li>
<li>ReadOnlyPlusAttachmentsBlocked: All restrictions from ReadOnly apply, but users can&#8217;t view attachments in the browser</li>
</ul>
<p>&nbsp;</p>
<pre class="brush: powershell; title: ; notranslate">
$OwaPolicy = New-OwaMailboxPolicy -Name LimitAccess
Set-OwaMailboxPolicy -Identity LimitAccess -ConditionalAccessPolicy ReadOnly
Get-OwaMailboxPolicy | select Name, IsDefault, ConditionalAccessPolicy

Name                     IsDefault ConditionalAccessPolicy
----                     --------- -----------------------
OwaMailboxPolicy-Default      True Off
LimitAccess                  False ReadOnly
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy.png" alt="Set OwaMailboxPolicy" width="860" height="249" class="aligncenter size-full wp-image-4876" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy.png?v=1695495316 860w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-768x222.png?v=1695495316 768w" sizes="(max-width: 860px) 100vw, 860px" /></a><br />
&nbsp;</p>
<p>With the OwaMailboxPolicy now created, let&#8217;s apply that policy to a few users so we can do our testing.  To apply we will use the <strong><em>Set-CASMailbox</em></strong> cmdlet.</p>
<pre class="brush: powershell; title: ; notranslate">
Set-CASMailbox darth -OwaMailboxPolicy LimitAccess
Get-CASMailbox darth | select DisplayName, OwaMailboxPolicy

DisplayName OwaMailboxPolicy
----------- ----------------
Darth Vader LimitAccess
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-mailbox.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-mailbox.png" alt="Set OwaMailboxPolicy on mailbox" width="853" height="264" class="aligncenter size-full wp-image-4878" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-mailbox.png?v=1695496064 853w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-mailbox-768x238.png?v=1695496064 768w" sizes="(max-width: 853px) 100vw, 853px" /></a><br />
&nbsp;</p>
<div id="limitexotenant" style="scroll-margin-top: 10px;"></div>
<h4>Apply at the Tenant Level</h4>
<p>After we&#8217;ve tested for a bit, we can now apply this as the default setting at the tenant level.  To accomplish this, we will use the <strong><em>Set-OwaMailboxPolicy</em></strong> and and modify the &#8220;OwaMailboxPolicy-Default&#8221; to use the readonly conditional access policy.<br />
&nbsp;</p>
<pre class="brush: powershell; title: ; notranslate">
Set-OwaMailboxPolicy -Identity OwaMailboxPolicy-Default -ConditionalAccessPolicy ReadOnly
Get-OwaMailboxPolicy | select Name, IsDefault, ConditionalAccessPolicy

Name                     IsDefault ConditionalAccessPolicy
----                     --------- -----------------------
OwaMailboxPolicy-Default      True ReadOnly
LimitAccess                  False ReadOnly
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-Tenant.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-Tenant.png" alt="Set OwaMailboxPolicy on Tenant" width="899" height="231" class="aligncenter size-full wp-image-4880" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-Tenant.png?v=1695578800 899w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Set-OwaMailboxPolicy-on-Tenant-768x197.png?v=1695578800 768w" sizes="(max-width: 899px) 100vw, 899px" /></a><br />
&nbsp;</p>
<div id="blockaccess" style="scroll-margin-top: 10px;"></div>
<h2>Block Unmanaged Devices Using Conditional Access</h2>
<p>If you&#8217;re wondering why nothing has changed after setting the SharePoint or Exchange settings, it&#8217;s because your conditional access policies are the tools that are going to be enforcing these restrictions.  The platform settings are the underlying scoping policies, however the conditional access policies are the overlying restriction setting.  Since we ended up setting both platform restrictions at the tenant level, the users we add (and ONLY those users) in the conditional access policy should have this setting enforced.  Hopefully that clears up any confusion.<br />
&nbsp;</p>
<p>Similar to the default SharePoint policies that were automatically created, there are 2 policies we need to create so we can block unmanaged devices as well as restrict browser access if they&#8217;re not on an IT issued device.  We can use those as rough templates to get us started.<br />
&nbsp;</p>
<p>Within Azure AD:</p>
<ul>
<li>Navigate to Security → Conditional Access → Policies → New Policy</li>
<ul>
<li>Direct Link: <a href="https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies" rel="noopener" target="_blank">Conditional Access Blade</a>
    </ul>
<li><strong>Name</strong>: CA015: Block Unmanaged Devices for All Users</li>
<li>Under Users:</li>
<ul>
<li><strong>Include</strong>: All Users (or smaller groups for testing)</li>
<li><strong>Exclude</strong>: Break glass account, MFA exclude group and all Guest users</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment.png" alt="CA Policy User Assignment" width="959" height="648" class="aligncenter size-full wp-image-4883" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment.png?v=1695584729 959w, https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment-768x519.png?v=1695584729 768w" sizes="(max-width: 959px) 100vw, 959px" /></a></p>
<li>Under Target Resources:</li>
<ul>
<li><strong>Include</strong>: All Cloud Apps (or M365 Apps for testing)</li>
<li><strong>Exclude</strong>: None</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-App-Assignment.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-App-Assignment.png" alt="CA Policy App Assignment" width="959" height="648" class="aligncenter size-full wp-image-4884" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-App-Assignment.png?v=1695584755 959w, https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-App-Assignment-768x519.png?v=1695584755 768w" sizes="(max-width: 959px) 100vw, 959px" /></a></p>
<li>Under Conditions: No Changes needed (or exclude iOS and Android Devices for testing)</li>
<li>Under Grant:</li>
<ul>
<li><strong>Require device to be marked as compliant</strong>: Checked</li>
<li><strong>Require Hybrid Microsoft Entra joined device</strong>: Checked</li>
<li><strong>Require one of the selected controls</strong>: Is selected</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Grant-Control.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Grant-Control.png" alt="CA Policy Grant Control" width="959" height="648" class="aligncenter size-full wp-image-4885" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Grant-Control.png?v=1695584779 959w, https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Grant-Control-768x519.png?v=1695584779 768w" sizes="(max-width: 959px) 100vw, 959px" /></a></p>
<li>Under Sessions: No Changes needed</li>
</ul>
<p>&nbsp;</p>
<div id="restrictaccess" style="scroll-margin-top: 10px;"></div>
<h2>Restrict Browser Access on Unmanaged Devices Using Conditional Access</h2>
<p>Earlier we setup the policies on Exchange Online and SharePoint to be able to limit browser access while using an unmanaged device.  The policy on that platform is set, however, as mentioned earlier, we need to be able to enforce this using conditional access policies.  Let&#8217;s do that now.<br />
&nbsp;</p>
<p>Within Azure AD:</p>
<ul>
<li>Navigate to Security → Conditional Access → Policies → New Policy</li>
<ul>
<li>Direct Link: <a href="https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies" rel="noopener" target="_blank">Conditional Access Blade</a>
    </ul>
<li><strong>Name</strong>: CA016: Restrict Browser Access to Unmanaged Devices for All Users</li>
<li>Under Users:</li>
<ul>
<li><strong>Include</strong>: All Users (or smaller groups for testing)</li>
<li><strong>Exclude</strong>: Break glass account, MFA exclude group and all Guest users</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment-Restriction.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment-Restriction.png" alt="CA Policy User Assignment Restriction" width="959" height="648" class="aligncenter size-full wp-image-4890" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment-Restriction.png?v=1695601587 959w, https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-User-Assignment-Restriction-768x519.png?v=1695601587 768w" sizes="(max-width: 959px) 100vw, 959px" /></a></p>
<li>Under Target Resources:</li>
<ul>
<li><strong>Include</strong>: Office 365</li>
<li><strong>Exclude</strong>: None</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Target-Resource-Restriction.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Target-Resource-Restriction.png" alt="CA Policy Target Resource Restriction" width="959" height="648" class="aligncenter size-full wp-image-4899" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Target-Resource-Restriction.png?v=1695604471 959w, https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Target-Resource-Restriction-768x519.png?v=1695604471 768w" sizes="(max-width: 959px) 100vw, 959px" /></a></p>
<li>Under Conditions: </li>
<ul>
<li><strong>Client Apps → Browser</strong>: Checked</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Conditions-Client-App-Restriction.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Conditions-Client-App-Restriction.png" alt="CA Policy Conditions Client App Restriction" width="959" height="648" class="aligncenter size-full wp-image-4900" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Conditions-Client-App-Restriction.png?v=1695604502 959w, https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Conditions-Client-App-Restriction-768x519.png?v=1695604502 768w" sizes="(max-width: 959px) 100vw, 959px" /></a></p>
<li>Under Grant: No changes needed</li>
<li>Under Sessions:</li>
<ul>
<li><strong>Use app enforced restrictions</strong>: Checked</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Session-App-Enforced-Restriction.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Session-App-Enforced-Restriction.png" alt="CA Policy Session App Enforced Restriction" width="959" height="648" class="aligncenter size-full wp-image-4901" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Session-App-Enforced-Restriction.png?v=1695604537 959w, https://thesysadminchannel.com/wp-content/uploads/2023/09/CA-Policy-Session-App-Enforced-Restriction-768x519.png?v=1695604537 768w" sizes="(max-width: 959px) 100vw, 959px" /></a>
</ul>
<p>&nbsp;</p>
<div id="extensions" style="scroll-margin-top: 10px;"></div>
<h2>Incognito Mode and Browser Extensions</h2>
<p>One important item to call out is that your users can continue to have issues even though their device is compliant or Hybrid Azure AD Joined.  This is because certain browsers don&#8217;t have the functionality built-in to send the device payload so the CA policy can properly evaluate it.<br />
&nbsp;</p>
<ul>
<li>Edge: Functionality is built-in so testing with Edge is always recommended</li>
<li>Chrome: <a href="https://chrome.google.com/webstore/detail/windows-accounts/ppnbnpeolgkicgegkbkbjmhlideopiji" rel="noopener" target="_blank">Windows 10 accounts extension</a> is required for Chrome v111+</li>
<li>FireFox: <a href="https://support.mozilla.org/en-US/kb/windows-sso" rel="noopener" target="_blank">FireFox Windows SSO</a> is required</li>
<li>Incognito Mode: extensions should be abled for incognito mode as well</li>
</ul>
<p>If you&#8217;re STILL having issues after ensure your device is in the proper state and you have the proper extensions installed, one thing that I&#8217;ve learned is clear the cache and cookies and that resolves most of the issues.<br />
&nbsp;</p>
<div id="conclusion" style="scroll-margin-top: 10px;"></div>
<h2>Conclusion</h2>
<p>Hopefully this article on how to limit or restrict browser access to Microsoft 365 apps as well as block unmanaged devices using conditional access was insightful.  This should help add a bit more strength to your overall security posture so that&#8217;s always a good thing.<br />
&nbsp;</p>
<p>This policy is very powerful so you need to make sure you do some thorough testing before enabling the policy globally.  Another policy I would highly recommend is to <a href="https://thesysadminchannel.com/how-to-enable-authentication-strengths-using-azure-ad-conditional-access-policy/" rel="noopener" target="_blank">Enable Authentication Strengths Using Conditional Access</a> so you can set higher profile apps to use phishing resistant MFA.</p>
<p>The post <a href="https://thesysadminchannel.com/block-unmanaged-devices-using-conditional-access/">Block Unmanaged Devices Using Conditional Access</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/block-unmanaged-devices-using-conditional-access/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4839</post-id>	</item>
		<item>
		<title>Find Account That Sent Emails From Shared Mailbox using PowerShell</title>
		<link>https://thesysadminchannel.com/find-account-that-sent-emails-from-shared-mailbox-using-powershell/</link>
					<comments>https://thesysadminchannel.com/find-account-that-sent-emails-from-shared-mailbox-using-powershell/#respond</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Fri, 15 Sep 2023 00:50:54 +0000</pubDate>
				<category><![CDATA[Exchange Online]]></category>
		<category><![CDATA[check who sent email from shared mailbox]]></category>
		<category><![CDATA[Find User Who Sent Email From Shared Mailbox]]></category>
		<category><![CDATA[how to see who sent an email from a shared mailbox]]></category>
		<category><![CDATA[shared mailbox sendas permission audit]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=4678</guid>

					<description><![CDATA[<p>In a world where email is one of our main methods of communication for business use, having the ability to send emails as a &#8220;generic user&#8221; or shared mailbox helps us hide behind a proxy when needed. While this is&#8230; <a href="https://thesysadminchannel.com/find-account-that-sent-emails-from-shared-mailbox-using-powershell/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/find-account-that-sent-emails-from-shared-mailbox-using-powershell/">Find Account That Sent Emails From Shared Mailbox using PowerShell</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In a world where email is one of our main methods of communication for business use, having the ability to send emails as a &#8220;generic user&#8221; or shared mailbox helps us hide behind a proxy when needed.  While this is great in most cases, sometimes we need to know who is the actual person that is sending emails as the shared mailbox.  Today we&#8217;re going to go over the method on how to find the account that sent emails from shared mailbox.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#permissions">Get Recipient Permissions to See Who Has Access</a></li>
<li><a href="#findaccount">Find Account That Sent Emails From Shared Mailbox</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<div id="requirements" style="scroll-margin-top: 15px;"></div>
<h2>Requirements</h2>
<p>In order to have successful results, you will need the following.</p>
<ul>
<li>Exchange Administrator Permissions -or Global Administrator Permissions</li>
<li>Audit Logs Enabled.  Specifically Mailbox Audit logs</li>
<li>Exchange Online Management PowerShell Module</li>
</ul>
<p>&nbsp;</p>
<div id="permissions" style="scroll-margin-top: 15px;"></div>
<h2>Get Recipient Permissions to See Who Has Access</h2>
<p>Before we dive deep into the logs, I always like to narrow down my search by simply seeing who has access to send as that specific account.  If there are only 1-2 users who have access, this narrows things down pretty well.  If there are a dozen or more, then things might get a little tricky and we&#8217;ll need to go into logs.<br />
&nbsp;</p>
<p>Let&#8217;s check to see who has permissions and see if we get lucky.  To find this, we&#8217;re going to use the <a href="https://learn.microsoft.com/en-us/powershell/module/exchange/get-recipientpermission?view=exchange-ps" rel="noopener" target="_blank">Get-RecipientPermission</a> cmdlet from the ExchageOnlineManagement module. </p>
<pre class="brush: powershell; title: ; notranslate">
Get-RecipientPermission testmailbox -AccessRights SendAs | Where-Object {$_.Trustee -ne 'NT AUTHORITY\SELF'}

Identity     Trustee                     AccessControlType AccessRights Inherited
--------     -------                     ----------------- ------------ ---------
Test Mailbox paul@thesysadminchannel.com Allow             {SendAs}     False
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-Recipient-Permissions.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-Recipient-Permissions.png" alt="Get Recipient Permissions" width="1097" height="229" class="aligncenter size-full wp-image-4824" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-Recipient-Permissions.png?v=1694735770 1097w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-Recipient-Permissions-1024x214.png?v=1694735770 1024w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Get-Recipient-Permissions-768x160.png?v=1694735770 768w" sizes="(max-width: 1097px) 100vw, 1097px" /></a><br />
&nbsp;</p>
<p>In some scenarios it very well may be possible that the account itself sent the email, but for the sake of this article we&#8217;re going to assume someone sent an email with the sendas permissions.  Therefore we added the where clause to not include SELF.</p>
<div id="findaccount" style="scroll-margin-top: 15px;"></div>
<h2>Find Account That Sent Emails From Shared Mailbox</h2>
<p>In the example above, we can see that only one account has access to send as the shared mailbox so it&#8217;s pretty much a no brainer in this scenario.  However, as I mentioned before, some shared mailboxes (or regular mailboxes for that matter) can have multiple people with this access right.<br />
&nbsp;</p>
<p>In order to find the exact user, let&#8217;s look to the logs and see what they say.  Logs never lie!</p>
<pre class="brush: powershell; title: ; notranslate">
$SendAs = Search-MailboxAuditLog -Identity testmailbox -Operations SendAs -ShowDetails
$Sendas | select LogonUserDisplayName, ClientProcessName, ItemSubject, OperationResult, LastAccessed


LogonUserDisplayName : Paul Contreras
ClientProcessName    :
ItemSubject          : The Force
OperationResult      : Succeeded
LastAccessed         : 9/14/2023 8:37:38 PM
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2023/09/Search-Mailbox-Audit-Log.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2023/09/Search-Mailbox-Audit-Log.png" alt="Search Mailbox Audit Log - Sent Emails From Shared Mailbox" width="988" height="249" class="aligncenter size-full wp-image-4827" srcset="https://thesysadminchannel.com/wp-content/uploads/2023/09/Search-Mailbox-Audit-Log.png?v=1694736549 988w, https://thesysadminchannel.com/wp-content/uploads/2023/09/Search-Mailbox-Audit-Log-768x194.png?v=1694736549 768w" sizes="(max-width: 988px) 100vw, 988px" /></a><br />
&nbsp;</p>
<div id="conclusion" style="scroll-margin-top: 15px;"></div>
<h2>Conclusion</h2>
<p>In this case the recipient permissions pretty much gave it away as I was the only one with permissions.  However, being able to search in the mailbox audit logs will show us EXACTLY which was the account that sent this email.  Hopefully this was informative for you and you&#8217;re able to find out who sent emails from shared mailbox.</p>
<p>The post <a href="https://thesysadminchannel.com/find-account-that-sent-emails-from-shared-mailbox-using-powershell/">Find Account That Sent Emails From Shared Mailbox using PowerShell</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/find-account-that-sent-emails-from-shared-mailbox-using-powershell/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4678</post-id>	</item>
		<item>
		<title>Exchange Online Certificate Based Authentication</title>
		<link>https://thesysadminchannel.com/exchange-online-certificate-based-authentication/</link>
					<comments>https://thesysadminchannel.com/exchange-online-certificate-based-authentication/#comments</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Sun, 06 Nov 2022 19:38:40 +0000</pubDate>
				<category><![CDATA[Exchange Online]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[app-only authentication exchange online]]></category>
		<category><![CDATA[azure app registration certificate authentication]]></category>
		<category><![CDATA[certificate-based authentication for exchange online remote powershell]]></category>
		<category><![CDATA[Connect to Exchange Online Certificate Based Authentication]]></category>
		<category><![CDATA[connect-exchange online certificate thumbprint]]></category>
		<category><![CDATA[exchange certificate based authentication]]></category>
		<category><![CDATA[Exchange Online certificate-based authentication]]></category>
		<category><![CDATA[office 365 certificate-based authentication]]></category>
		<category><![CDATA[remote powershell using certificate-based authentication]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=4477</guid>

					<description><![CDATA[<p>As a Systems Engineer I am constantly looking for ways to improve processes as well as look for ways to automate everything I possibly can. As a general rule of thumb, I try to automate myself out of a job&#8230; <a href="https://thesysadminchannel.com/exchange-online-certificate-based-authentication/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/exchange-online-certificate-based-authentication/">Exchange Online Certificate Based Authentication</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As a Systems Engineer I am constantly looking for ways to improve processes as well as look for ways to automate everything I possibly can.  As a general rule of thumb, I try to automate myself out of a job so everything can run silky smooth should I ever get hit by a bus.  Since I work primary in Microsoft 365 and Azure AD, I thought it would be great to share what I&#8217;ve learned in order to use that automation for Exchange Online. With that said, this article is going to be geared around <strong>Exchange Online Certificate Based Authentication</strong> and the steps to go 100% Passwordless.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#createcertificate">Create a Self-Signed Certificate</a></li>
<li><a href="#appregistration">Create an Azure App Registration and Service Principal</a></li>
<li><a href="#addexchangerole">Add Exchange Administrator Role</a></li>
<li><a href="#connecttoapp">Connect to Exchange Online using the Azure Application</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<div id="requirements" style="scroll-margin-top: 15px;"></div>
<h2>Requirements</h2>
<p>In order to set this up without failure, there are a few things needed to get you on your way to using Exchange Online certificate based authentication.  Let&#8217;s cover what&#8217;s needed right now.<br />
&nbsp;</p>
<ul>
<li>A certificate, either self signed or one issued by PKI</li>
<li>Azure Application Administrator or Global Administrator</li>
<li>Privilege Role Administrator or Global Administrator</li>
<li>Exchange Online Management PowerShell module</li>
</ul>
<p>&nbsp;</p>
<p>Above are the requirements to allow you to connect to Exchange Online using certificates.  I manage Exchange Online using PowerShell so I added that as well.  If you&#8217;re looking for instructions on how to get that installed, check out this article to <a href="https://thesysadminchannel.com/how-to-install-exchange-online-powershell-module/" rel="noopener" target="_blank">install the Exchange Online Management module for PowerShell</a>.</p>
<div id="createcertificate" style="scroll-margin-top: 15px;"></div>
<h2>Create a Self-Signed Certificate</h2>
<p>First things first, I thought it would be best to start off by creating the self-signed certificate to get the ball rolling.  If possible, I would recommend using a certificate issued by a public key infrastructure (PKI). The reason for that is because we know we can trust it, it is inherently more secure, and we can also revoke the cert should the situation call for it. The problem is not every environment has a PKI setup (my lab included).<br />
&nbsp;</p>
<p>As mentioned, we don&#8217;t have a PKI in our environment so we&#8217;ll make due with a self signed certificate. Luckily, Azure does support self signed certs so let&#8217;s get that created within PowerShell.<br />
With PowerShell open, enter in the following:<br />
&nbsp;</p>
<pre class="brush: powershell; title: ; notranslate">
#splatting for human readability
$CertParam = @{
    'KeyAlgorithm'      = 'RSA'
    'KeyLength'         = 2048
    'KeyExportPolicy'   = 'NonExportable'
    'DnsName'           = 'server.thesysadminchannel.com'
    'FriendlyName'      = 'Exchange Online Automation App'
    'CertStoreLocation' = 'Cert:\CurrentUser\My\'
    'NotAfter'          = (Get-Date).AddYears(1)
}
 
#Creating self signed cert with parameters from above.
$Cert = New-SelfSignedCertificate @CertParam
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Self-Signed-Certificate.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Self-Signed-Certificate.png" alt="Self Signed Certificate" width="960" height="468" class="aligncenter size-full wp-image-4481" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Self-Signed-Certificate.png?v=1667715233 960w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Self-Signed-Certificate-768x374.png?v=1667715233 768w" sizes="(max-width: 960px) 100vw, 960px" /></a><br />
&nbsp;</p>
<p>The above parameters do not allow you to export the certificate to another machine.  I should also note that this is saving the certificate under the user context.  If you want to store the certificate under the local machine context, you will need to run PowerShell as an administrator anytime you to connect.  Allowing it under the local machine certificate store means other administrators on the machine would also be able to connect.  So just be aware.<br />
&nbsp;</p>
<p>Now that we have the cert created, let&#8217;s export it so we can upload it to Azure when we create our application.</p>
<pre class="brush: powershell; title: ; notranslate">
#Since we captured the output to the $Cert variable in our previous step.
#We will use that to specify the cert parameter. 
#The .cer file will exported to the user's desktop.
 
Export-Certificate -Cert $Cert -FilePath $Home\Desktop\ExchangeOnlineAutomation.cer
</pre>
<div id="appregistration" style="scroll-margin-top: 15px;"></div>
<h2>Create an Azure App Registration and Service Principal</h2>
<p>To get started, we need to make sure we have the proper rights to get the application created.  This is where you will need an Azure AD Application administrator (or Global administrator).<br />
&nbsp;</p>
<p>Within Azure AD:</p>
<ul>
<li>Navigate to <strong>App registrations</strong> → <strong>New registration</strong></li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/New-App-Registration.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/New-App-Registration.png" alt="New App Registration" width="876" height="395" class="aligncenter size-full wp-image-4478" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/New-App-Registration.png?v=1667705064 876w, https://thesysadminchannel.com/wp-content/uploads/2022/11/New-App-Registration-768x346.png?v=1667705064 768w" sizes="(max-width: 876px) 100vw, 876px" /></a><br />
&nbsp;</p>
<ul>
<li>Name your application accordingly.  I&#8217;ve named mine <strong>Exchange Online Automation</strong></li>
<li>Select Accounts in this organizational directory only (Single tenant)</li>
<li>Leave the Redirect URI empty</li>
<li>Click Register to create the app</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Register-new-app.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Register-new-app.png" alt="Register new app" width="1238" height="808" class="aligncenter size-full wp-image-4480" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Register-new-app.png?v=1667705806 1238w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Register-new-app-1024x668.png?v=1667705806 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Register-new-app-768x501.png?v=1667705806 768w" sizes="(max-width: 1238px) 100vw, 1238px" /></a><br />
&nbsp;</p>
<p>With your app now created:</p>
<ul>
<li>Navigate to Certificates &#038; secrets</li>
<li>Click the certificates tab</li>
<li>Click Upload certificate</li>
<li>Click the folder icon and browse to your desktop to select the exported cert</li>
<li>Click Add</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Upload-Certificate-to-Azure-App.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Upload-Certificate-to-Azure-App.png" alt="Upload Certificate to Azure App" width="1475" height="833" class="aligncenter size-full wp-image-4484" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Upload-Certificate-to-Azure-App.png?v=1667717494 1475w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Upload-Certificate-to-Azure-App-1024x578.png?v=1667717494 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Upload-Certificate-to-Azure-App-768x434.png?v=1667717494 768w" sizes="(max-width: 1475px) 100vw, 1475px" /></a></p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Certificate-Setting-for-Azure-App.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Certificate-Setting-for-Azure-App.png" alt="Certificate Setting for Azure App" width="854" height="238" class="aligncenter size-full wp-image-4485" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Certificate-Setting-for-Azure-App.png?v=1667717853 854w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Certificate-Setting-for-Azure-App-768x214.png?v=1667717853 768w" sizes="(max-width: 854px) 100vw, 854px" /></a><br />
&nbsp;</p>
<p>Next we need to add the <code>Exchange.ManageAsApp</code> API permissions within the app so the application object can access the resource.  To do this we need to add it through the manifest because we won&#8217;t be able to find it via the typical API permissions blade.<br />
&nbsp;</p>
<p>Within the app, navigate to the manifest blade and replace the <code>requiredResourceAccess</code> block with this code. Be sure to click save when it&#8217;s added.</p>
<pre class="brush: powershell; title: ; notranslate">
&quot;requiredResourceAccess&quot;: [
   {
      &quot;resourceAppId&quot;: &quot;00000002-0000-0ff1-ce00-000000000000&quot;,
      &quot;resourceAccess&quot;: [
         {
            &quot;id&quot;: &quot;dc50a0fb-09a3-484d-be87-e023b12c6440&quot;,
            &quot;type&quot;: &quot;Role&quot;
         }
      ]
   }
],
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/App-role-via-App-manifest.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/App-role-via-App-manifest.png" alt="App role via App manifest" width="1473" height="822" class="aligncenter size-full wp-image-4489" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/App-role-via-App-manifest.png?v=1667753748 1473w, https://thesysadminchannel.com/wp-content/uploads/2022/11/App-role-via-App-manifest-1024x571.png?v=1667753748 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/App-role-via-App-manifest-768x429.png?v=1667753748 768w" sizes="(max-width: 1473px) 100vw, 1473px" /></a><br />
&nbsp;</p>
<p>Once that is saved, we can verify it was added correctly by going back to API permissions.  We will now see that Exchange.ManageAsApp is the only entry there.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Admin-consent-to-Exchange-ManageasApp.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Admin-consent-to-Exchange-ManageasApp.png" alt="Admin consent to Exchange ManageasApp" width="1469" height="650" class="aligncenter size-full wp-image-4492" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Admin-consent-to-Exchange-ManageasApp.png?v=1667754688 1469w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Admin-consent-to-Exchange-ManageasApp-1024x453.png?v=1667754688 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Admin-consent-to-Exchange-ManageasApp-768x340.png?v=1667754688 768w" sizes="(max-width: 1469px) 100vw, 1469px" /></a><br />
&nbsp;</p>
<p>However, we will notice that the app requires admin consent in order for it to be effective.  Go ahead and consent to it now.  Once complete, it should look like the image below.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/admin-consent-has-been-granted.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/admin-consent-has-been-granted.png" alt="admin consent has been granted" width="1081" height="195" class="aligncenter size-full wp-image-4493" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/admin-consent-has-been-granted.png?v=1667754902 1081w, https://thesysadminchannel.com/wp-content/uploads/2022/11/admin-consent-has-been-granted-1024x185.png?v=1667754902 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/admin-consent-has-been-granted-768x139.png?v=1667754902 768w" sizes="(max-width: 1081px) 100vw, 1081px" /></a></p>
<div id="addexchangerole" style="scroll-margin-top: 15px;"></div>
<h2>Add Exchange Administrator Role</h2>
<p>With our app now created and configured properly, we&#8217;ll need to grant the Exchange Administrator role to that app.<br />
&nbsp;</p>
<p>Within Azure AD:</p>
<ul>
<li>Navigate to Roles and administrators</li>
<li>Search for Exchange and click on Exchange administrator</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-Admin-role.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-Admin-role.png" alt="Exchange Admin role" width="1459" height="664" class="aligncenter size-full wp-image-4494" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-Admin-role.png?v=1667755387 1459w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-Admin-role-1024x466.png?v=1667755387 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-Admin-role-768x350.png?v=1667755387 768w" sizes="(max-width: 1459px) 100vw, 1459px" /></a><br />
&nbsp;</p>
<ul>
<li>You should be taken to the <strong>active assignments</strong> for the Exchange admin role</li>
<li>Click on <strong>Add assignments</strong></li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/add-assignments.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/add-assignments.png" alt="add assignments Azure AD role" width="860" height="284" class="aligncenter size-full wp-image-4495" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/add-assignments.png?v=1667755615 860w, https://thesysadminchannel.com/wp-content/uploads/2022/11/add-assignments-768x254.png?v=1667755615 768w" sizes="(max-width: 860px) 100vw, 860px" /></a><br />
&nbsp;</p>
<ul>
<li>Click <strong>no members selected</strong> link</li>
<li>Search for the app name (Our is <strong>Exchange Online Automation</strong>)</li>
<li>Click on the app to add it to the selection</li>
<li>Click select</li>
<li>Complete the prompts to add the role</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Add-Exchange-Role-to-Azure-App-1.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Add-Exchange-Role-to-Azure-App-1.png" alt="Add Exchange Role to Azure App-1" width="1457" height="803" class="aligncenter size-full wp-image-4500" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Add-Exchange-Role-to-Azure-App-1.png?v=1667759998 1457w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Add-Exchange-Role-to-Azure-App-1-1024x564.png?v=1667759998 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Add-Exchange-Role-to-Azure-App-1-768x423.png?v=1667759998 768w" sizes="(max-width: 1457px) 100vw, 1457px" /></a><br />
&nbsp;</p>
<p>We should now see our Service Principal listed as an active assignment.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-App-added-as-an-active-assignment.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-App-added-as-an-active-assignment.png" alt="Exchange App added as an active assignment" width="959" height="326" class="aligncenter size-full wp-image-4497" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-App-added-as-an-active-assignment.png?v=1667756322 959w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Exchange-App-added-as-an-active-assignment-768x261.png?v=1667756322 768w" sizes="(max-width: 959px) 100vw, 959px" /></a></p>
<div id="blockquote1">
<strong>Note</strong>: I chose to add this as an active assignment with application permissions because this is intended to be used for unattended automation.
</div>
<div id="connecttoapp" style="scroll-margin-top: 15px;"></div>
<h2>Connect to Exchange Online using the Azure Application</h2>
<p>Finally, we&#8217;re in a spot where we can put all of the pieces together and connect to Exchange Online using our Azure AD application (Service Principal).  Again, since I use PowerShell to manage EXO, we&#8217;re going to connect using the Exchange Online Management module.  Be sure to use the latest version.<br />
&nbsp;</p>
<p>Before we connect, let&#8217;s get the AppId.  We&#8217;ll also need to know the tenant&#8217;s default onmicrosoft name.  To get the AppId, go back to the overview page of the Application we created earlier.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/Get-AppId-for-the-app.jpg" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/Get-AppId-for-the-app.jpg" alt="Get AppId for the app" width="844" height="396" class="aligncenter size-full wp-image-4498" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/Get-AppId-for-the-app.jpg?v=1667757870 844w, https://thesysadminchannel.com/wp-content/uploads/2022/11/Get-AppId-for-the-app-768x360.jpg?v=1667757870 768w" sizes="(max-width: 844px) 100vw, 844px" /></a><br />
&nbsp;</p>
<pre class="brush: powershell; title: ; notranslate">
$AppId = '9e46ef5x-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
$Certificate = Get-ChildItem Cert:\CurrentUser\My\A94FFE108DCxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$TenantName = 'thesysadminchannel.onmicrosoft.com'

Connect-ExchangeOnline -AppId $AppId -Certificate $Certificate -Organization $TenantName -ShowBanner: $false
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/11/exchange-online-certificate-based-authentication.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/11/exchange-online-certificate-based-authentication.png" alt="exchange online certificate based authentication" width="1146" height="457" class="aligncenter size-full wp-image-4499" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/11/exchange-online-certificate-based-authentication.png?v=1667759790 1146w, https://thesysadminchannel.com/wp-content/uploads/2022/11/exchange-online-certificate-based-authentication-1024x408.png?v=1667759790 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/11/exchange-online-certificate-based-authentication-768x306.png?v=1667759790 768w" sizes="(max-width: 1146px) 100vw, 1146px" /></a><br />
&nbsp;</p>
<p>As you can see, we were able to successfully connect to Exchange Online and run the Get-Mailbox command against my account.  As a side note, I&#8217;ve also chosen to not display the banner by using the <code>ShowBanner: $false</code> parameter in the command.</p>
<div id="conclusion" style="scroll-margin-top: 10px;"></div>
<h2>Conclusion</h2>
<p>Hopefully this article on how to use Exchange Online certificate based authentication was insightful and you were able to implement it in your own organization.  This is used pretty much daily to automate tasks in Exchange and it&#8217;s great that we don&#8217;t have to worry about usernames and passwords.<br />
&nbsp;</p>
<p>If you want more information on creating Azure apps and using Graph API, check out my in-depth article on <a href="https://thesysadminchannel.com/how-to-connect-to-microsoft-graph-api-using-powershell/" rel="noopener" target="_blank">how to Connect To Microsoft Graph API Using PowerShell</a>.</p>
<p>The post <a href="https://thesysadminchannel.com/exchange-online-certificate-based-authentication/">Exchange Online Certificate Based Authentication</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/exchange-online-certificate-based-authentication/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4477</post-id>	</item>
		<item>
		<title>Block Users From Sending to External Recipients in Office 365</title>
		<link>https://thesysadminchannel.com/block-users-from-sending-to-external-recipients-in-office-365/</link>
					<comments>https://thesysadminchannel.com/block-users-from-sending-to-external-recipients-in-office-365/#respond</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 22:33:05 +0000</pubDate>
				<category><![CDATA[Exchange Online]]></category>
		<category><![CDATA[Block Users From Sending to External Recipients]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=4267</guid>

					<description><![CDATA[<p>Have you ever wondered if it&#8217;s possible to block users from sending to external recipients in Office 365? If you have, just know that this can be done using Exchange Transport Rules, ETR for short. Today we&#8217;re going to cover&#8230; <a href="https://thesysadminchannel.com/block-users-from-sending-to-external-recipients-in-office-365/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/block-users-from-sending-to-external-recipients-in-office-365/">Block Users From Sending to External Recipients in Office 365</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Have you ever wondered if it&#8217;s possible to block users from sending to external recipients in Office 365?  If you have, just know that this can be done using Exchange Transport Rules, ETR for short.  Today we&#8217;re going to cover the steps on how restrict emails to internal users only for a specific set of users or groups.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#blockexternalrecipients">Block Users From Sending to External Recipients</a></li>
<li><a href="#testrule">Testing The Exchange Transport Rule</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<div id="requirements" style="scroll-margin-top: 15px;"></div>
<h2>Requirements</h2>
<p>If this is something we are considering than let&#8217;s take a look at the options we have available to us.  As mentioned, the best (and most practical) way to handle this task is to do so via a transport rule.  Furthermore, let&#8217;s list the requirements here.</p>
<ul>
<li>Exchange Administrator Role</li>
<li>Exchange Online with a valid mail license</li>
</ul>
<p>&nbsp;</p>
<div id="blockexternalrecipients" style="scroll-margin-top: 15px;"></div>
<h2>Block Users From Sending to External Recipients in Office 365</h2>
<p>Regarding use cases, I&#8217;m sure someone somewhere can justify a good reason why we would want to block mail to an external domain like Gmail, yahoo or anyone outside of your domain.  Perhaps they want to prevent someone from leaking information, whatever the reason may be,  we&#8217;ll show you how to get this done.<br />
&nbsp;</p>
<p>First we&#8217;ll want to open a browser of your choice.</p>
<ul>
<li>Navigate to Exchange Admin Center</li>
<li>Expand Mail Flow -> Rules</li>
<ul>
<li>Direct Link: <a href="https://admin.exchange.microsoft.com/#/transportrules" rel="noopener" target="_blank">https://admin.exchange.microsoft.com/#/transportrules</a></li>
</ul>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/06/Exchange-Transport-Rule.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/06/Exchange-Transport-Rule.png" alt="Exchange Transport Rule" width="966" height="383" class="aligncenter size-full wp-image-4288" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/06/Exchange-Transport-Rule.png?v=1656635890 966w, https://thesysadminchannel.com/wp-content/uploads/2022/06/Exchange-Transport-Rule-768x304.png?v=1656635890 768w" sizes="(max-width: 966px) 100vw, 966px" /></a><br />
&nbsp;</p>
<ul>
<li>Next Click on the &#8220;+&#8221; to create a new rule</li>
<li>Select Create a new rule</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/06/Create-new-transport-rule.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/06/Create-new-transport-rule.png" alt="Create new transport rule" width="855" height="465" class="aligncenter size-full wp-image-4290" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/06/Create-new-transport-rule.png?v=1656636125 855w, https://thesysadminchannel.com/wp-content/uploads/2022/06/Create-new-transport-rule-768x418.png?v=1656636125 768w" sizes="(max-width: 855px) 100vw, 855px" /></a><br />
&nbsp;</p>
<ul>
<li>Name the rule <strong>Block Sending to External Domains</strong></li>
<li>Scroll down a bit and click on the <strong>more options</strong> link</li>
<li>Under apply this rule if dropdown, select <strong>the recipient</strong>.. -> is <strong>external/internal</strong> -> select <strong>outside the organization</strong></li>
<li>Click Add Condition</li>
<li>Under the next and statement, select <strong>the sender</strong>.. -> is <strong>a member of this group</strong> -> select <strong>a mail-enabled security group</strong></li>
<ul>
<li>We have the option to choose individual users but it&#8217;s always best to use groups for easier administration</li>
</ul>
<li>Under <strong>do the following</strong> -> select <strong>block this message</strong> -> select <strong>delete the message without notifying anyone</strong></li>
<li>Apply exceptions as needeed</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/07/Transport-Rule.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/07/Transport-Rule.png" alt="Transport Rule" width="983" height="613" class="aligncenter size-full wp-image-4295" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/07/Transport-Rule.png?v=1656797306 983w, https://thesysadminchannel.com/wp-content/uploads/2022/07/Transport-Rule-768x479.png?v=1656797306 768w" sizes="(max-width: 983px) 100vw, 983px" /></a><br />
&nbsp;</p>
<div id="testrule" style="scroll-margin-top: 15px;"></div>
<h2>Testing The Exchange Transport Rule</h2>
<p>Now that we have the rule in place, we should be able to test that it&#8217;s actually working.  To do that, we&#8217;ll send an email to both an external domain and to someone in our tenant.<br />
&nbsp;</p>
<p>In this instance, we can run a simple message trace to see the status and the event type.</p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule.png" alt="Testing Transport Rule" width="968" height="280" class="aligncenter size-full wp-image-4298" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule.png?v=1656800334 968w, https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule-768x222.png?v=1656800334 768w" sizes="(max-width: 968px) 100vw, 968px" /></a></p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule-Detail.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule-Detail.png" alt="Testing Transport Rule Detail" width="995" height="365" class="aligncenter size-full wp-image-4299" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule-Detail.png?v=1656800361 995w, https://thesysadminchannel.com/wp-content/uploads/2022/07/Testing-Transport-Rule-Detail-768x282.png?v=1656800361 768w" sizes="(max-width: 995px) 100vw, 995px" /></a></p>
<div id="conclusion" style="scroll-margin-top: 15px;"></div>
<h2>Conclusion</h2>
<p>Hopefully this article was informative and we were able to show you how to block users from sending to external recipients.  We showed you how to create an Exchange Transport Rule as well as confirming that the actual email was being blocked at the Exchange level.<br />
&nbsp;</p>
<p>If you&#8217;re looking to implement something like this, just be sure that you have the right parameters in place.  If this is not configured correctly, you can imagine the mayhem you&#8217;d cause by blocking all outbound emails.<br />
&nbsp;</p>
<p>Finally, if you&#8217;re looking for more articles on Exchange, be sure to check out <a href="https://thesysadminchannel.com/use-conditional-access-to-block-legacy-authentication-in-office-365/" rel="noopener" target="_blank">how to block legacy authentication in Office 365</a></p>
<p>The post <a href="https://thesysadminchannel.com/block-users-from-sending-to-external-recipients-in-office-365/">Block Users From Sending to External Recipients in Office 365</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/block-users-from-sending-to-external-recipients-in-office-365/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4267</post-id>	</item>
		<item>
		<title>How To Turn Off Microsoft Viva Briefing and Digest Emails</title>
		<link>https://thesysadminchannel.com/how-to-turn-off-microsoft-viva-briefing-and-digest-emails/</link>
					<comments>https://thesysadminchannel.com/how-to-turn-off-microsoft-viva-briefing-and-digest-emails/#comments</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Sun, 15 May 2022 22:22:41 +0000</pubDate>
				<category><![CDATA[Office365]]></category>
		<category><![CDATA[Turn Off Microsoft Viva]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=4154</guid>

					<description><![CDATA[<p>I&#8217;m sure you&#8217;ve received an email out of nowhere regarding a digest or briefing from Microsoft Viva. If you find them annoying, like most people do, it&#8217;s alright because today we&#8217;re going to walk through the steps on how to&#8230; <a href="https://thesysadminchannel.com/how-to-turn-off-microsoft-viva-briefing-and-digest-emails/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/how-to-turn-off-microsoft-viva-briefing-and-digest-emails/">How To Turn Off Microsoft Viva Briefing and Digest Emails</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m sure you&#8217;ve received an email out of nowhere regarding a digest or briefing from Microsoft Viva.  If you find them annoying, like most people do, it&#8217;s alright because today we&#8217;re going to walk through the steps on <strong>how to turn off Microsoft Viva</strong> briefing email.</p>
<p>&nbsp;</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#whatisviva">What Is Viva</a></li>
<li><a href="#turnoffMicrosoftViva">How To Turn Off Microsoft Viva Briefing and Digest Emails</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<div id="requirements" style="scroll-margin-top: 15px;"></div>
<h2>Requirements</h2>
<p>As far as requirements go, you&#8217;ll need proper permissions to be able to disable this.  This means that a Global Administrator is best suited to do this since it will be impacting the entire tenant.<br />
&nbsp;</p>
<div id="whatisviva" style="scroll-margin-top: 15px;"></div>
<h2>What Is Microsoft Viva</h2>
<p>Microsoft describes Viva as an employee experience platform that brings together communications, knowledge, learning, resources, and insights in the flow of work. While that may be true, in my personal experience I&#8217;ve only ever received briefing and insight emails that tend to clutter my inbox without any real benefit.<br />
&nbsp;</p>
<p>Here&#8217;s an example of one I received not too long ago.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2022/05/Microsoft-Viva-Digest-Email.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/05/Microsoft-Viva-Digest-Email.png" alt="Microsoft Viva Digest Email" width="811" height="551" class="aligncenter size-full wp-image-4232" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/05/Microsoft-Viva-Digest-Email.png?v=1652569290 811w, https://thesysadminchannel.com/wp-content/uploads/2022/05/Microsoft-Viva-Digest-Email-768x522.png?v=1652569290 768w" sizes="(max-width: 811px) 100vw, 811px" /></a><br />
&nbsp;</p>
<div id="turnoffMicrosoftViva" style="scroll-margin-top: 15px;"></div>
<h2>How To Turn Off Microsoft Viva Briefing and Digest Emails</h2>
<p>Moving on, in order to disable Microsoft Viva briefing email, let&#8217;s head on to the Microsoft 365 Admin Center since that is where the work is going to take place.<br />
&nbsp;</p>
<p>In Microsoft Admin Center:</p>
<ul>
<li>Click <strong>Settings</strong> -> <strong>Org Settings</strong> -> <strong>Services</strong></li>
<li>Select <strong>Briefing email from Microsoft</strong></li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-To-Turn-Off-Microsoft-Viva-Briefing-and-Digest-Emails-01.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-To-Turn-Off-Microsoft-Viva-Briefing-and-Digest-Emails-01.png" alt="How To Disable Microsoft Viva Briefing and Digest Emails" width="1103" height="608" class="aligncenter size-full wp-image-4234" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-To-Turn-Off-Microsoft-Viva-Briefing-and-Digest-Emails-01.png?v=1652569999 1103w, https://thesysadminchannel.com/wp-content/uploads/2022/05/How-To-Turn-Off-Microsoft-Viva-Briefing-and-Digest-Emails-01-1024x564.png?v=1652569999 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/05/How-To-Turn-Off-Microsoft-Viva-Briefing-and-Digest-Emails-01-768x423.png?v=1652569999 768w" sizes="(max-width: 1103px) 100vw, 1103px" /></a><br />
&nbsp;</p>
<ul>
<li>Next, uncheck <strong>Let people in your organization receive Briefing email</strong></li>
<li>Click Save</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-To-Turn-Off-Microsoft-Viva-Briefing-and-Digest-Emails-02.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-To-Turn-Off-Microsoft-Viva-Briefing-and-Digest-Emails-02.png" alt="How To Turn Off Microsoft Viva Briefing and Digest Emails" width="825" height="505" class="aligncenter size-full wp-image-4235" /></a><br />
&nbsp;</p>
<p>Next up, we&#8217;ll want to disable those digest emails that you receive on a regular basis as well.  </p>
<p>Within the same Microsoft Admin portal:</p>
<ul>
<li>Click <strong>Settings</strong> -> <strong>Org Settings</strong> -> <strong>Services</strong></li>
<li>Select <strong>Microsoft Viva Insights</strong></li>
<li>Uncheck Digest email and insights Outlook add-in</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-to-turn-off-Microsoft-Viva-Insights.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-to-turn-off-Microsoft-Viva-Insights.png" alt="Disable Insights MyAnalytics" width="1187" height="658" class="aligncenter size-full wp-image-4247" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/05/How-to-turn-off-Microsoft-Viva-Insights.png?v=1652718787 1187w, https://thesysadminchannel.com/wp-content/uploads/2022/05/How-to-turn-off-Microsoft-Viva-Insights-1024x568.png?v=1652718787 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/05/How-to-turn-off-Microsoft-Viva-Insights-768x426.png?v=1652718787 768w" sizes="(max-width: 1187px) 100vw, 1187px" /></a></p>
<div id="conclusion" style="scroll-margin-top: 15px;"></div>
<h2>Conclusion</h2>
<p>Today we&#8217;ve walked through how to stop Microsoft Viva from sending you those briefing emails and we hope it was informative.  With Microsoft Viva disabled, you shouldn&#8217;t get those emails that are most unwanted for you and your organization.<br />
&nbsp;</p>
<p>If you liked this article, be sure to check out <a href="https://thesysadminchannel.com/enable-plus-addressing-in-office-365-exchange-online/" rel="noopener" target="_blank">Enable Plus Addressing in Office 365 Exchange Online</a>.  Finally, if you like to see more video content, don&#8217;t forget to check out our <a href="https://www.youtube.com/c/theSysadminChannel" rel="noopener" target="_blank">YouTube Channel</a> with awesome Sysadmin video content.</p>
<p>The post <a href="https://thesysadminchannel.com/how-to-turn-off-microsoft-viva-briefing-and-digest-emails/">How To Turn Off Microsoft Viva Briefing and Digest Emails</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/how-to-turn-off-microsoft-viva-briefing-and-digest-emails/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4154</post-id>	</item>
		<item>
		<title>Enable Plus Addressing in Office 365 Exchange Online</title>
		<link>https://thesysadminchannel.com/enable-plus-addressing-in-office-365-exchange-online/</link>
					<comments>https://thesysadminchannel.com/enable-plus-addressing-in-office-365-exchange-online/#respond</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Sun, 08 May 2022 17:20:25 +0000</pubDate>
				<category><![CDATA[Exchange Online]]></category>
		<category><![CDATA[Enable Plus Addressing]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=4146</guid>

					<description><![CDATA[<p>Not too long ago, Microsoft added the capability to enable plus addressing (also known as subaddressing) for Exchange Online environments. This provides several benefits to you and your organization because plus addressing allows you to create dynamic, disposable recipient addresses.&#8230; <a href="https://thesysadminchannel.com/enable-plus-addressing-in-office-365-exchange-online/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/enable-plus-addressing-in-office-365-exchange-online/">Enable Plus Addressing in Office 365 Exchange Online</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Not too long ago, Microsoft added the capability to enable plus addressing (also known as subaddressing) for Exchange Online environments. This provides several benefits to you and your organization because plus addressing allows you to create dynamic, disposable recipient addresses.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#whatisit">Plus Addresses &#8211; What is it and why should I use it</a></li>
<li><a href="#enablefromportal">Enable Plus Addressing in the Office 365 Portal</a></li>
<li><a href="#enablefrompowershell">Enable Plus Addressing using PowerShell</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<div id="requirements" style="scroll-margin-top: 15px;"></div>
<h2>Requirements</h2>
<p>As of today, there aren&#8217;t any major requirements other than having an Office 365 tenant and a mailbox in Exchange Online to be able to use this feature.<br />
&nbsp;</p>
<div id="whatisit" style="scroll-margin-top: 15px;"></div>
<h2>Plus Addresses &#8211; What is it and why should I use it</h2>
<p>Before we get into the details of how to enable plus addressing in Office 365 Exchange Online, let&#8217;s take a minute to explain what it is and why it would be beneficial for you to use it.<br />
&nbsp;</p>
<p>For starters, plus addressing is a standard approach for mailboxes to provide dynamic, disposable recipient email addresses.  Furthermore, it should be explicitly mentioned that this is intended for recipient addresses,  not sending addresses.<br />
&nbsp;</p>
<p>As we&#8217;re well aware, the basic format for an SMTP email address is username@domain.com. However, when using plus addressing, the basic format would be username+additionalcharacterstomakethisunique@domain.com.  When using plus addresses, you as sender can specify a any set of characters after the &#8220;+&#8221; and when enabled, Exchange will see that and route the mail to the mailbox that it corresponds to. This is assuming the underlying mailbox is active and functioning properly.<br />
&nbsp;</p>
<p>We&#8217;ve gone over the what, so now let&#8217;s go over the why.  Why would enabling this in your tenant be beneficial to you or your users?<br />
&nbsp;</p>
<p>Essentially, this would be useful to many organizations because it allows you to use &#8220;burner&#8221; addresses that route to your mailbox in the backend.  I&#8217;ve used it on a couple of occasions myself, mainly when testing something using a different address.  However, this can also be useful for users who would like sign up for subscription services and have the ability to identify those quickly.<br />
&nbsp;</p>
<div id="enablefromportal" style="scroll-margin-top: 15px;"></div>
<h2>Enable Plus Addressing in the Office 365 Portal</h2>
<p>We&#8217;ve identified what plus addresses are and how they can might be of service to you and your org.  Now let&#8217;s take a look how to enable plus addressing in the Office 365 Portal.<br />
&nbsp;</p>
<p>Within the Exchange Admin Center:</p>
<ul>
<li>Navigate to Settings -> Mail Flow</li>
<ul>
<li>Direct Link: <a href="https://admin.exchange.microsoft.com/#/settings" rel="noopener" target="_blank">https://admin.exchange.microsoft.com/#/settings</a></li>
</ul>
<li>Ensure <strong>Turn off plus addressing for your organization</strong> is <strong>unchecked</strong></li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-in-the-Office-365-Portal.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-in-the-Office-365-Portal.png" alt="Enable Plus Addressing in the Office 365 Portal" width="1258" height="725" class="aligncenter size-full wp-image-4210" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-in-the-Office-365-Portal.png 1258w, https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-in-the-Office-365-Portal-1024x590.png 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-in-the-Office-365-Portal-768x443.png 768w" sizes="(max-width: 1258px) 100vw, 1258px" /></a></p>
<div id="enablefrompowershell" style="scroll-margin-top: 15px;"></div>
<h2>Enable Plus Addressing using PowerShell</h2>
<p>An alternative to the Exchange Admin portal is being able to enable plus addressing using Powershell.  For starters, we&#8217;ll need to <a href="https://thesysadminchannel.com/how-to-install-exchange-online-powershell-module/" rel="noopener" target="_blank">install Exchange Online Powershell Module</a> and connect to it using the Connect-ExchangeOnline cmdlet.<br />
&nbsp;</p>
<p>Once connected, we can run a one-liner to enable this feature for your tenant.</p>
<pre class="brush: powershell; gutter: false; title: ; notranslate">
PS C:\&gt; Connect-ExchangeOnline -ShowBanner: $false
PS C:\&gt;
PS C:\&gt; Set-OrganizationConfig -DisablePlusAddressingInRecipients $false
PS C:\&gt;
</pre>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-using-PowerShell.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-using-PowerShell.png" alt="Enable Plus Addressing using PowerShell" width="830" height="200" class="aligncenter size-full wp-image-4212" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-using-PowerShell.png 830w, https://thesysadminchannel.com/wp-content/uploads/2022/05/Enable-Plus-Addressing-using-PowerShell-768x185.png 768w" sizes="(max-width: 830px) 100vw, 830px" /></a></p>
<p>&nbsp;</p>
<div id="blockquote1">
Beginning late April 2022, plus addressing is turned on by default in all organizations, so the AllowPlusAddressInRecipients parameter will no longer work. If you need to disable it, you can disable plus addressing by using the DisablePlusAddressInRecipients parameter and setting that to TRUE.
</div>
<p>&nbsp;</p>
<div id="conclusion" style="scroll-margin-top: 15px;"></div>
<h2>Conclusion</h2>
<p>Hopefully this article to show you how to enable plus addressing for Office 365 and Exchange Online was helpful.  Plus addressing is helpful for users who want to create dynamic, disposable recipient addresses.<br />
&nbsp;</p>
<p>If this was helpful, be sure to check out our other <a href="https://thesysadminchannel.com/office365/exchange-online/" rel="noopener" target="_blank">Exchange Online</a> posts.</p>
<p>The post <a href="https://thesysadminchannel.com/enable-plus-addressing-in-office-365-exchange-online/">Enable Plus Addressing in Office 365 Exchange Online</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/enable-plus-addressing-in-office-365-exchange-online/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4146</post-id>	</item>
		<item>
		<title>How To Enable Self-Service Password Reset (SSPR) In Azure AD</title>
		<link>https://thesysadminchannel.com/how-to-enable-self-service-password-reset-sspr-in-azure-ad/</link>
					<comments>https://thesysadminchannel.com/how-to-enable-self-service-password-reset-sspr-in-azure-ad/#respond</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Sun, 24 Apr 2022 06:59:36 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[aad connect password writeback]]></category>
		<category><![CDATA[azure ad sspr]]></category>
		<category><![CDATA[Enable Self-Service Password Reset]]></category>
		<category><![CDATA[sspr for hybrid aad]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=2151</guid>

					<description><![CDATA[<p>The ability for end users to be able to reset their own password is essential for eliminating administrative overhead and is something that should be enabled in just about every organization. With that said, we are going to go over&#8230; <a href="https://thesysadminchannel.com/how-to-enable-self-service-password-reset-sspr-in-azure-ad/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/how-to-enable-self-service-password-reset-sspr-in-azure-ad/">How To Enable Self-Service Password Reset (SSPR) In Azure AD</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The ability for end users to be able to reset their own password is essential for eliminating administrative overhead and is something that should be enabled in just about every organization.  With that said, we are going to go over how to <strong>enable self-service password reset (SSPR) In Azure AD</strong>.<br />
&nbsp;</p>
<p>Feel free navigate to any portion of the article using the table of contents below.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#enablessprcloudonly">Enable Self-Service Password Reset for Cloud Only Environments</a></li>
<li><a href="#enablessprhybrid">Enable SSPR for Hybrid Environments</a></li>
<ul>
<li><a href="#passwordwriteback">Set up Password Write Back in Azure AD Connect</a></li>
</ul>
<li><a href="#ssprauthmethod">Configure SSPR Authentication Methods</a></li>
<li><a href="#ssprregistration">Require Registration for Self-Service Password Reset</a></li>
<li><a href="#onpremintegration">Confirm On-premises Integration</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<p>&nbsp;</p>
<div id="requirements" style="scroll-margin-top: 15px;"></div>
<h2>Requirements</h2>
<p>As mentioned, this is definitely something that should be enabled for just about every organization out there, but there are a few things you should know if you want to implement this for your org.  Let&#8217;s list them out here and what you&#8217;ll need.</p>
<ul>
<li>A Global Administrator. This is needed to modify SSPR settings</li>
<li>Azure AD P1 or P2 license (for Hybrid environments only)</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2020/08/Azure-AD-SSPR-Licensing.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2020/08/Azure-AD-SSPR-Licensing.png" alt="Azure AD self-service password reset Licensing" width="822" height="431" class="aligncenter size-full wp-image-4095" srcset="https://thesysadminchannel.com/wp-content/uploads/2020/08/Azure-AD-SSPR-Licensing.png 822w, https://thesysadminchannel.com/wp-content/uploads/2020/08/Azure-AD-SSPR-Licensing-768x403.png 768w" sizes="(max-width: 822px) 100vw, 822px" /></a><br />
&nbsp;</p>
<div id="enablessprcloudonly" style="scroll-margin-top: 15px;"></div>
<h2>Enable Self-Service Password Reset for Cloud Only Environments</h2>
<p>If you&#8217;re a cloud only environment, meaning you don&#8217;t have any users syncing from on-premises Active Directory, it is pretty simple to enable self-service password reset. Let&#8217;s cover the steps now.</p>
<p>In Azure Active Directory:</p>
<ul>
<li>Navigate to <strong>Password Reset</strong></li>
<ul>
<li>Direct Link: <a href="https://portal.azure.com/#blade/Microsoft_AAD_IAM/PasswordResetMenuBlade/Properties" rel="noopener" target="_blank">https://portal.azure.com/#blade/Microsoft_AAD_IAM/PasswordResetMenuBlade/Properties</a></li>
</ul>
<li>Under <strong>Self-Service password reset enabled</strong>, select your choice of All or a specified group</li>
<ul>
<li>As a pilot, I&#8217;ve selected a group but it is generally recommended to enable it for all users</li>
</ul>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Group-Properties.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Group-Properties.png" alt="enable self-service password reset group properties" width="993" height="594" class="aligncenter size-full wp-image-4103" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Group-Properties.png?v=1650827582 993w, https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Group-Properties-125x75.png?v=1650827582 125w, https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Group-Properties-768x459.png?v=1650827582 768w" sizes="(max-width: 993px) 100vw, 993px" /></a><br />
&nbsp;</p>
<div id="enablessprhybrid" style="scroll-margin-top: 15px;"></div>
<h2>Enable Self-Service Password Reset for Hybrid Environments</h2>
<p>In order to enable self-service password reset for hybrid environments, you&#8217;ll need to complete the steps above because that is the baseline configuration needed in order to make this work.<br />
&nbsp;</p>
<p>Furthermore, if you&#8217;re syncing onprem Active Directory users to Azure AD there is still more to do in the AAD Connect wizard.  Let&#8217;s cover those steps now.</p>
<div id="passwordwriteback" style="scroll-margin-top: 15px;"></div>
<h2>Set up Password Write Back in Azure AD Connect</h2>
<p>Logon to your Azure AD Connect Server and <strong>launch the Azure AD Connect wizard</strong>.</p>
<li>Once launched, click <strong>configure</strong></li>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configure.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configure.png" alt="AAD Connect Configure" width="879" height="624" class="aligncenter size-full wp-image-4106" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configure.png?v=1650829166 879w, https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configure-768x545.png?v=1650829166 768w" sizes="(max-width: 879px) 100vw, 879px" /></a><br />
&nbsp;</p>
<li>Click on <strong>Customize synchronization options</strong>, and click <strong>Next</strong></li>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Customize-Sync-options.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Customize-Sync-options.png" alt="AAD Connect Customize Sync options" width="879" height="620" class="aligncenter size-full wp-image-4108" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Customize-Sync-options.png?v=1650830137 879w, https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Customize-Sync-options-768x542.png?v=1650830137 768w" sizes="(max-width: 879px) 100vw, 879px" /></a><br />
&nbsp;</p>
<li>Enter in a Global Administrator -or a <strong>Hybrid Identity Administrator</strong> (preferred) account to connect to Azure AD.</li>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-to-Azure-AD.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-to-Azure-AD.png" alt="AAD Connect to Azure AD" width="877" height="620" class="aligncenter size-full wp-image-4110" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-to-Azure-AD.png?v=1650830793 877w, https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-to-Azure-AD-768x543.png?v=1650830793 768w" sizes="(max-width: 877px) 100vw, 877px" /></a><br />
&nbsp;</p>
<li>Click next a few times until you get to <strong>Optional Features</strong>, once there, ensure <strong>Password writeback</strong> is checked.</li>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Optional-Features-for-password-writeback.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Optional-Features-for-password-writeback.png" alt="AAD Connect Optional Features for password writeback" width="879" height="620" class="aligncenter size-full wp-image-4111" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Optional-Features-for-password-writeback.png?v=1650831079 879w, https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Optional-Features-for-password-writeback-768x542.png?v=1650831079 768w" sizes="(max-width: 879px) 100vw, 879px" /></a><br />
&nbsp;</p>
<li>Click next until you reach the ready to configure screen.  Once there, ensure <strong>Start the synchronization process when configuration completes</strong> is checked and click <strong>Configure</strong></li>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Complete-Configuration-options.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Complete-Configuration-options.png" alt="AAD Connect Complete Configuration options" width="881" height="621" class="aligncenter size-full wp-image-4114" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Complete-Configuration-options.png?v=1650831460 881w, https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Complete-Configuration-options-768x541.png?v=1650831460 768w" sizes="(max-width: 881px) 100vw, 881px" /></a><br />
&nbsp;</p>
<li>Once complete, exit the AAD Connect wizard.</li>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configuration-Complete.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configuration-Complete.png" alt="AAD Connect Configuration Complete" width="879" height="619" class="aligncenter size-full wp-image-4117" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configuration-Complete.png?v=1650831870 879w, https://thesysadminchannel.com/wp-content/uploads/2022/04/AAD-Connect-Configuration-Complete-768x541.png?v=1650831870 768w" sizes="(max-width: 879px) 100vw, 879px" /></a><br />
&nbsp;</p>
<div id="ssprauthmethod" style="scroll-margin-top: 15px;"></div>
<h2>Configure SSPR Authentication Methods</h2>
<p>Once we&#8217;ve enabled SSPR for the environment we stop now but I thought it would be a good idea to take a few more minutes to look over some of the sub settings that are in the password reset blade.<br />
&nbsp;</p>
<p>In order for a user to reset their password, they&#8217;ll need to provide some form of identity verification.  This is essential from a security standpoint, and prevents joe user (or a potential hacker) to gain access to your account.  In any event, let&#8217;s take a look at the authentication methods that are required in order to reset a user&#8217;s password.</p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Authentication-Method-Properties.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Authentication-Method-Properties.png" alt="enable self-service password reset authentication method properties" width="994" height="607" class="aligncenter size-full wp-image-4120" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Authentication-Method-Properties.png?v=1650848152 994w, https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Authentication-Method-Properties-125x75.png?v=1650848152 125w, https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Authentication-Method-Properties-768x469.png?v=1650848152 768w" sizes="(max-width: 994px) 100vw, 994px" /></a><br />
&nbsp;</p>
<p>By default, email and phone are enabled because 2 methods are required but I also like to add <strong>mobile app code</strong> because it uses MFA as a verification method.  This helps reduce the attack surface for anyone changing their password.</p>
<div id="ssprregistration" style="scroll-margin-top: 15px;"></div>
<h2>Require Registration for Self-Service Password Reset</h2>
<p>In the previous years of SSPR, you were required to register for self-service password reset AND register for MFA.  This was kind of a pain point because users had to  register for 2 items.  Thankfully, the team at Microsoft integrated these and today we can use <a href="https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-registration-mfa-sspr-combined#combined-registration-modes" rel="noopener" target="_blank">combined registration mode</a> for SSPR and MFA.  This is great because as the name suggests, you will only need to register 1 time and that will be active for both items.<br />
&nbsp;</p>
<p>Furthermore, let&#8217;s head into the registration blade:</p>
<li>Ensure <strong>Require users to register when signing in</strong> is set to <strong>Yes</strong></li>
<li>Leave the <strong>Number of days before users are asked to re-confirm their authentication information</strong> to <strong>180</strong></li>
<li>Save the settings if anything was changed</li>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration.png" alt="enable self-service password reset registration" width="1006" height="590" class="aligncenter size-full wp-image-4123" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration.png?v=1650849869 1006w, https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration-768x450.png?v=1650849869 768w, https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration-300x175.png?v=1650849869 300w" sizes="(max-width: 1006px) 100vw, 1006px" /></a><br />
&nbsp;</p>
<div id="onpremintegration" style="scroll-margin-top: 15px;"></div>
<h2>Confirm On-premises Integration</h2>
<p>If you&#8217;re wondering if password writeback is enabled and don&#8217;t have access to view the configuration in the Azure AD Connect wizard? That&#8217;s not a problem because we can easily check this in the password reset blade.<br />
&nbsp;</p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration-1.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration-1.png" alt="SSPR Registration" width="904" height="514" class="aligncenter size-full wp-image-4125" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration-1.png?v=1650850554 904w, https://thesysadminchannel.com/wp-content/uploads/2022/04/SSPR-Registration-1-768x437.png?v=1650850554 768w" sizes="(max-width: 904px) 100vw, 904px" /></a></p>
<div id="conclusion" style="scroll-margin-top: 15px;"></div>
<h2>Conclusion</h2>
<p>Hopefully this article was able to provide in-depth detail on how to enable self-service password (SSPR) in Azure Active Directory.  As mentioned, this is something that should be enabled for your organization help eliminate administrative overhead.  Your users will happy, and you&#8217;ll be happy because you won&#8217;t be getting calls to reset a password.</p>
<p>The post <a href="https://thesysadminchannel.com/how-to-enable-self-service-password-reset-sspr-in-azure-ad/">How To Enable Self-Service Password Reset (SSPR) In Azure AD</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/how-to-enable-self-service-password-reset-sspr-in-azure-ad/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2151</post-id>	</item>
		<item>
		<title>How To Enable MFA for External Users Office 365</title>
		<link>https://thesysadminchannel.com/how-to-enable-mfa-for-external-users-office-365/</link>
					<comments>https://thesysadminchannel.com/how-to-enable-mfa-for-external-users-office-365/#comments</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Tue, 08 Mar 2022 00:53:19 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[azure ad b2b mfa]]></category>
		<category><![CDATA[enable multi-factor authentication for guest users]]></category>
		<category><![CDATA[mfa for external users office 365]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=3893</guid>

					<description><![CDATA[<p>Whether you&#8217;re focusing on internal or external users, having 2-factor enabled so people can access resources in your org is always a recommended practice to enhance your security footprint. Today, we&#8217;re going to focus our efforts using conditional access to&#8230; <a href="https://thesysadminchannel.com/how-to-enable-mfa-for-external-users-office-365/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/how-to-enable-mfa-for-external-users-office-365/">How To Enable MFA for External Users Office 365</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Whether you&#8217;re focusing on internal or external users, having 2-factor enabled so people can access resources in your org is always a recommended practice to enhance your security footprint.  Today, we&#8217;re going to focus our efforts using conditional access to <strong>enable MFA for external users Office 365</strong>.</p>
<div id="tableofcontents">
<h2>Table Of Contents</h2>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#userexperience">User Experience and What to Expect</a></li>
<ul>
<li><a href="#beforemfapolicy">What to Expect if MFA is not enabled for the User</a></li>
<li><a href="#usermfaenabled">What to Expect if the User has MFA Enabled</a></li>
</ul>
<li><a href="#enablemfaexternalusers">How To Enable MFA for External Users Office 365</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</div>
<div id="requirements" style="scroll-margin-top: 15px;"></div>
<h2>Requirements</h2>
<p>In order to move forward with enabling multi-factor authentication for guest users there are a couple of requirements that are needed.  Let&#8217;s list them out here so we have a clear understanding of what they are.</p>
<ul>
<li>Azure AD Premium license (P1 or P2)</li>
<li>A valid external email account that you can add as B2B guest user</li>
</ul>
<p>In my lab tenant, I have EMS-E5 licenses which is P2 so I&#8217;m good to use conditional access policies to get this all setup.</p>
<div id="userexperience" style="scroll-margin-top: 15px;"></div>
<h2>End User Experience and What to Expect</h2>
<p>To give you some context on how I&#8217;m testing this in my lab tenant, I&#8217;ve granted the external user who is named &#8220;Guest User&#8221; access to a SharePoint site that I&#8217;ve created for this purpose.<br />
&nbsp;</p>
<p>The SPO site, Project Gladiator, has an &#8220;ExternalUser&#8221; folder that I&#8217;ve setup to mimic a real-world scenario.  This folder is where people from other orgs will update their notes to use for collaboration.</p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/03/Project-Gladiator1.png" target="_blank" rel="noopener"><img decoding="async" loading="lazy" src="https://thesysadminchannel.com/wp-content/uploads/2022/03/Project-Gladiator1.png" alt="Project-Gladiator" width="1361" height="613" class="aligncenter size-full wp-image-3898" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/03/Project-Gladiator1.png?v=1646613581 1361w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Project-Gladiator1-1024x461.png?v=1646613581 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Project-Gladiator1-768x346.png?v=1646613581 768w" sizes="auto, (max-width: 1361px) 100vw, 1361px" /></a><br />
&nbsp;</p>
<p>At this point, I&#8217;ve sent an invitation to the guest user and they have accepted the invite.  Next, I copied the link to that folder and sent over to the external user so they can access the resources that are setup at their convenience.<br />
&nbsp;</p>
<p>For now, we&#8217;ll take a moment to check in on the user experience before and after the policy is enabled.</p>
<div id="usermfaenabled" style="scroll-margin-top: 15px;"></div>
<h2>What to Expect if the User has MFA Enabled</h2>
<p>Let&#8217;s take a moment to clear the air first. If a user has MFA enabled on their own <strong><em>home</em></strong> tenant, this doesn&#8217;t mean that they&#8217;ll be prompted to confirm their identity with an MFA prompt on your <strong><em>resource</em></strong> tenant.  There are now ways to trust the MFA claims from the home tenant using <a href="https://docs.microsoft.com/en-us/azure/active-directory/external-identities/cross-tenant-access-settings-b2b-collaboration" rel="noopener" target="_blank">Cross Tenant Access Policies (xtap)</a> but that&#8217;s a little outside the scope of the this article.<br />
&nbsp;</p>
<p>It will actually take some effort to enable MFA on a resource tenant if you&#8217;re not enforcing it so chances are they won&#8217;t do unless you make them.<br />
&nbsp;<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-Access-for-MFA.png" target="_blank" rel="noopener"><img decoding="async" loading="lazy" src="https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-Access-for-MFA.png" alt="MFA for External Users Office 365" width="1270" height="488" class="aligncenter size-full wp-image-3925" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-Access-for-MFA.png?v=1646634124 1270w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-Access-for-MFA-1024x393.png?v=1646634124 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-Access-for-MFA-768x295.png?v=1646634124 768w" sizes="auto, (max-width: 1270px) 100vw, 1270px" /></a></p>
<p>However, if a user has enrolled in MFA in the resource tenant, then they&#8217;ll continue to be prompted for MFA as they previously have.</p>
<div id="beforemfapolicy" style="scroll-margin-top: 15px;"></div>
<h2>What to Expect if MFA is not enabled for the User</h2>
<p>Since there aren&#8217;t any policies that are enforcing MFA for external (guest, B2B etc..) users, this user is able to get in with just a username and password.  If someone potentially compromised the remote credentials, they now have access to your tenant.  This is obviously a no-no and is the reason why enabling MFA is so vital to security.<br />
&nbsp;</p>
<p>We haven&#8217;t touched on how to enable the policy yet, however, what can we expect when we enable MFA for external users Office 365 / Azure AD?<br />
&nbsp;</p>
<p>Once you enable the policy, the user would be shown the typical prompt for when a user tries to enroll in MFA in the home tenant. </p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-User-MFA-Enrollment.png" target="_blank" rel="noopener"><img decoding="async" loading="lazy" src="https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-User-MFA-Enrollment.png" alt="Guest User MFA Enrollment" width="1263" height="622" class="aligncenter size-full wp-image-3921" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-User-MFA-Enrollment.png?v=1646632859 1263w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-User-MFA-Enrollment-1024x504.png?v=1646632859 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Guest-User-MFA-Enrollment-768x378.png?v=1646632859 768w" sizes="auto, (max-width: 1263px) 100vw, 1263px" /></a></p>
<div id="enablemfaexternalusers" style="scroll-margin-top: 15px;"></div>
<h2>How To Enable MFA for External Users Office 365</h2>
<p>Now that we know what it looks like, next up is to use a conditional access policy template in Azure AD to set it up.  As mentioned, this would require you have a premium license so hopefully you have that setup in you tenant so you can follow along.  Let&#8217;s review the steps needed to enable this policy.</p>
<p>In Azure AD:</p>
<ul>
<li>Navigate to <strong>Security</strong> -> <strong>Conditional access</strong> -> <strong>Policies</strong></li>
<ul>
<li>Direct Link: <a href="https://portal.azure.com/#blade/Microsoft_AAD_IAM/ConditionalAccessBlade/Policies" rel="noopener" target="_blank">https://portal.azure.com/#blade/Microsoft_AAD_IAM/ConditionalAccessBlade/Policies</a></li>
</ul>
<li>Click <strong>New Policy</strong> -> <strong>Create new policies from templates</strong></li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/03/Create-Conditional-Access-Policy-External-Users.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2022/03/Create-Conditional-Access-Policy-External-Users.png" alt="MFA for External Users Office 365 - Create Conditional Access Policy External Users" width="917" height="323" class="aligncenter size-full wp-image-3913" loading="lazy" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/03/Create-Conditional-Access-Policy-External-Users.png?v=1646620246 917w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Create-Conditional-Access-Policy-External-Users-768x271.png?v=1646620246 768w" sizes="auto, (max-width: 917px) 100vw, 917px" /></a><br />
&nbsp;</p>
<ul>
<li>Under Customize your build:  select <strong>Identities</strong> and click Next</li>
<li>select <strong>Require multi-factor authentication for guest access</strong> and click Next</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/03/Require-MFA-for-Guest-Access.png" target="_blank" rel="noopener"><img decoding="async" loading="lazy" src="https://thesysadminchannel.com/wp-content/uploads/2022/03/Require-MFA-for-Guest-Access.png" alt="Require MFA for Guest Access" width="1652" height="919" class="aligncenter size-full wp-image-3916" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/03/Require-MFA-for-Guest-Access.png?v=1646631291 1652w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Require-MFA-for-Guest-Access-1024x570.png?v=1646631291 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Require-MFA-for-Guest-Access-768x427.png?v=1646631291 768w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Require-MFA-for-Guest-Access-1536x854.png?v=1646631291 1536w" sizes="auto, (max-width: 1652px) 100vw, 1652px" /></a><br />
&nbsp;</p>
<ul>
<li>Review the policy and confirm it is in Report-only</li>
<li>Click Create Policy</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2022/03/MFA-for-External-Users-Office-365.png" target="_blank" rel="noopener"><img decoding="async" loading="lazy" src="https://thesysadminchannel.com/wp-content/uploads/2022/03/MFA-for-External-Users-Office-365.png" alt="MFA for External Users Office 365" width="1740" height="807" class="aligncenter size-full wp-image-3917" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/03/MFA-for-External-Users-Office-365.png?v=1646631360 1740w, https://thesysadminchannel.com/wp-content/uploads/2022/03/MFA-for-External-Users-Office-365-1024x475.png?v=1646631360 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/03/MFA-for-External-Users-Office-365-768x356.png?v=1646631360 768w, https://thesysadminchannel.com/wp-content/uploads/2022/03/MFA-for-External-Users-Office-365-1536x712.png?v=1646631360 1536w" sizes="auto, (max-width: 1740px) 100vw, 1740px" /></a><br />
&nbsp;</p>
<div id="blockquote1">
<strong>Important</strong>: Leave the policy in Report-only for now.  We&#8217;ll still need to make adjustments before enabling it.
</div>
<p>&nbsp;</p>
<p>Now let&#8217;s go back into the policy and under Assignments -> Exclude:  Enter the breakglass account and an MFA exclusions group in your own tenant.  Hopefully this won&#8217;t be needed, but if someone decides to modify the policy and applies it to people in your org, you&#8217;ll at least have some specific exclusions in place.<br />
&nbsp;</p>
<p>Finally, enable the policy and click save.  External users will now need to enable MFA to access resources in your home tenant.<br />
<a href="https://thesysadminchannel.com/wp-content/uploads/2022/03/Exclude-MFA-users.png" target="_blank" rel="noopener"><img decoding="async" loading="lazy" src="https://thesysadminchannel.com/wp-content/uploads/2022/03/Exclude-MFA-users.png" alt="Exclude MFA users" width="1617" height="894" class="aligncenter size-full wp-image-3919" srcset="https://thesysadminchannel.com/wp-content/uploads/2022/03/Exclude-MFA-users.png?v=1646632056 1617w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Exclude-MFA-users-1024x566.png?v=1646632056 1024w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Exclude-MFA-users-768x425.png?v=1646632056 768w, https://thesysadminchannel.com/wp-content/uploads/2022/03/Exclude-MFA-users-1536x849.png?v=1646632056 1536w" sizes="auto, (max-width: 1617px) 100vw, 1617px" /></a></p>
<div id="conclusion" style="scroll-margin-top: 15px;"></div>
<h2>Conclusion</h2>
<p>Hopefully this article showed you how to enable MFA for external users Office 365 and was easy to follow along.  If you haven&#8217;t done so already, be sure to <a href="https://thesysadminchannel.com/deploy-mfa-using-azure-ad-conditional-access/" rel="noopener" target="_blank">enable MFA for your regular users</a> to ensure you&#8217;re covered across the board.</p>
<p>The post <a href="https://thesysadminchannel.com/how-to-enable-mfa-for-external-users-office-365/">How To Enable MFA for External Users Office 365</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/how-to-enable-mfa-for-external-users-office-365/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3893</post-id>	</item>
		<item>
		<title>How To Upgrade To Azure AD Connect 2.0</title>
		<link>https://thesysadminchannel.com/how-to-upgrade-to-azure-ad-connect-2-0/</link>
					<comments>https://thesysadminchannel.com/how-to-upgrade-to-azure-ad-connect-2-0/#comments</comments>
		
		<dc:creator><![CDATA[Paul Contreras]]></dc:creator>
		<pubDate>Sat, 21 Aug 2021 08:56:07 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[AD Connect Version 2]]></category>
		<category><![CDATA[Azure AD Connect 2.0]]></category>
		<category><![CDATA[Enable TLS 1.2 For Azure AD Connect v2.0]]></category>
		<category><![CDATA[Hybrid Identity Administrator]]></category>
		<guid isPermaLink="false">https://thesysadminchannel.com/?p=1871</guid>

					<description><![CDATA[<p>Microsoft recently announced its release of Azure AD Connect 2.0 and today we&#8217;re going to upgrade our lab from 1.4.18.0 to 2.0.10.0. If you&#8217;ve never installed Azure AD Connect, check out our video to install it from scratch. In our&#8230; <a href="https://thesysadminchannel.com/how-to-upgrade-to-azure-ad-connect-2-0/" class="more-link">Continue Reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a href="https://thesysadminchannel.com/how-to-upgrade-to-azure-ad-connect-2-0/">How To Upgrade To Azure AD Connect 2.0</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Microsoft recently announced its release of <strong>Azure AD Connect 2.0</strong> and today we&#8217;re going to upgrade our lab from 1.4.18.0 to 2.0.10.0. If you&#8217;ve never <a href="https://thesysadminchannel.com/azure-ad-connect-best-practices-installation-guide/" rel="noopener" target="_blank">installed Azure AD Connect</a>, check out our video to install it from scratch.  In our case, since we&#8217;re using a local database, we&#8217;re going to upgrade.  Another option you could consider is doing a <a href="https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-upgrade-previous-version#swing-migration" rel="noopener" target="_blank">swing migration</a> so you don&#8217;t have to touch your original setup.</p>
<p>Per Microsoft, several of the older components that Azure AD Connect uses have been scheduled for deprecation.  To mitigate the issue, they bundled as many of these newer components into a single release so you only have to update once.</p>
<h2>So What Are the Major Changes in Azure AD Connect 2.0</h2>
<p>If you recall, the previous version of AAD Connect shipped with SQL Server 2012. Seeing as how SQL 2012 will be out of extended support in 2022, they&#8217;ve decided to bundle SQL Server 2019 when you install it.</p>
<p>&nbsp;<br />
Another major note to take in account is the new version of AAD Connect will now have Microsoft Authentication Library (MSAL), where as the previous version had Active Directory Authentication Library (ADAL) installed.  MSAL uses Microsoft Graph Endpoints on the backend to make sync processes much faster.</p>
<p>&nbsp;<br />
Next up is Server 2012 and Server 2012 R2 are no longer supported for AD Connect and with that is a requirement to have PowerShell 5.0 installed on the machine.  The good thing is that Server 2016 and Server 2019 have Powershell 5.0 installed by default.</p>
<p>&nbsp;<br />
Furthermore, if you have tried to install AAD Connect v2.0 and you&#8217;re not on Server 2019 you might have noticed that you&#8217;re immediately prompted with a warning of an incorrect TLS version.  If you&#8217;re doing your homework before installing the new version, just know that TLS 1.0 and TLS 1.1 are protocols that are being deprecated by Microsoft because they are now deemed unsafe. <strong>This release of Azure AD Connect will only support TLS 1.2</strong>. If your server does not support TLS 1.2 you will need to enable this before you can deploy Azure AD Connect v2.0.</p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Incorrect-version-of-TLS.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Incorrect-version-of-TLS.png" alt="Incorrect version of TLS" width="880" height="620" class="aligncenter size-full wp-image-3338" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Incorrect-version-of-TLS.png?v=1629523855 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Incorrect-version-of-TLS-768x541.png?v=1629523855 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<h2>Enable TLS 1.2 For Azure AD Connect v2.0</h2>
<p><a href="https://docs.microsoft.com/en-us/azure/active-directory/hybrid/reference-connect-tls-enforcement" rel="noopener" target="_blank">Straight out of their documentation</a>, Microsoft has already posted the Powershell script to enable TLS 1.2.  Here is the exact replica so you don&#8217;t have to go to another place. Make sure you Powershell as an Administrator because you will change the state of the machine.</p>
<pre class="brush: powershell; title: ; notranslate">

New-Item 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -name 'SystemDefaultTlsVersions' -value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null
New-Item 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -name 'SystemDefaultTlsVersions' -value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'Enabled' -value '1' -PropertyType 'DWord' -Force | Out-Null	
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'Enabled' -value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'DisabledByDefault' -value 0 -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.2 has been enabled.'

</pre>
<p>Once that is ran, go ahead and reboot the server to make sure you install AAD Connect on a fresh system.</p>
<h2>Upgrade To Azure AD Connect 2.0 Step by Step</h2>
<p>First things first, you&#8217;ll need to download the latest version on Microsoft&#8217;s website <a href="https://www.microsoft.com/en-us/download/details.aspx?id=47594" rel="noopener" target="_blank">here</a>.</p>
<ul>
<li>After the initial MSI is ran and the setup is completed, you&#8217;ll be prompted with the welcome screen</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Welcome-to-Azure-AD-Connect.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Welcome-to-Azure-AD-Connect.png" alt="Welcome to Azure AD Connect" width="880" height="620" class="aligncenter size-full wp-image-3342" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Welcome-to-Azure-AD-Connect.png?v=1629526606 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Welcome-to-Azure-AD-Connect-768x541.png?v=1629526606 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Select Upgrade when you reach this prompt</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect.png" alt="Upgrade to Azure Active Directory Connect" width="880" height="620" class="aligncenter size-full wp-image-3343" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect.png?v=1629526743 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect-768x541.png?v=1629526743 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Azure Active Directory Connect will now upgrade the Sync Engine</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect-Sync-Engine.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect-Sync-Engine.png" alt="Upgrade to Azure Active Directory Connect Sync Engine" width="880" height="620" class="aligncenter size-full wp-image-3345" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect-Sync-Engine.png?v=1629531379 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-to-Azure-Active-Directory-Connect-Sync-Engine-768x541.png?v=1629531379 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Once the Sync Engine is upgraded, you will be prompted to enter in credentials</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Connect-to-Azure-AD-Hybrid-Identity.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Connect-to-Azure-AD-Hybrid-Identity.png" alt="Connect to Azure AD Hybrid Identity" width="880" height="620" class="aligncenter size-full wp-image-3349" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Connect-to-Azure-AD-Hybrid-Identity.png?v=1629531947 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Connect-to-Azure-AD-Hybrid-Identity-768x541.png?v=1629531947 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>AAD Connect no longer needs a Global Administrator to upgrade, you can now use a <strong>Hybrid Identity Administrator</strong></li>
<li>Following the least privilege model, we&#8217;ll enter in a Hybrid Identity Administrator account that also needs to be activated with PIM</li>
<li>To continue the installation, enter a Global Administrator -or Hybrid Identity Administrator account (we&#8217;ll activate our hybrid identity role)</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Hybrid-Identity-Administrator-PIM-Role.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Hybrid-Identity-Administrator-PIM-Role.png" alt="Hybrid Identity Administrator PIM Role" width="1031" height="385" class="aligncenter size-full wp-image-3347" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Hybrid-Identity-Administrator-PIM-Role.png?v=1629531723 1031w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Hybrid-Identity-Administrator-PIM-Role-1024x382.png?v=1629531723 1024w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Hybrid-Identity-Administrator-PIM-Role-768x287.png?v=1629531723 768w" sizes="(max-width: 1031px) 100vw, 1031px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Once Azure has confirmed the credentials, select Upgrade to start the sync process.</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Ready-to-Config-AAD-Connect.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Ready-to-Config-AAD-Connect.png" alt="Ready to Config AAD Connect" width="880" height="620" class="aligncenter size-full wp-image-3352" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Ready-to-Config-AAD-Connect.png?v=1629532457 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Ready-to-Config-AAD-Connect-768x541.png?v=1629532457 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>The setup will now run several update processes</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuring-AAD-Connect-Setup.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuring-AAD-Connect-Setup.png" alt="Configuring AAD Connect Setup" width="880" height="620" class="aligncenter size-full wp-image-3353" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuring-AAD-Connect-Setup.png?v=1629532650 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuring-AAD-Connect-Setup-768x541.png?v=1629532650 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>If everything was successful, you should see Configuration Complete</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuration-Complete.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuration-Complete.png" alt="Configuration Complete" width="880" height="620" class="aligncenter size-full wp-image-3355" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuration-Complete.png?v=1629532837 880w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Configuration-Complete-768x541.png?v=1629532837 768w" sizes="(max-width: 880px) 100vw, 880px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Last but not least, open the <strong>Synchronization Service Manager -> Help -> About</strong></li>
<li>You should be able to confirm the version is now above. 2.0</li>
</ul>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-To-Azure-AD-Connect-2.0.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-To-Azure-AD-Connect-2.0.png" alt="Upgrade To Azure AD Connect 2.0" width="1064" height="530" class="aligncenter size-full wp-image-3361" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-To-Azure-AD-Connect-2.0.png 1064w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-To-Azure-AD-Connect-2.0-1024x510.png 1024w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Upgrade-To-Azure-AD-Connect-2.0-768x383.png 768w" sizes="(max-width: 1064px) 100vw, 1064px" /></a></p>
<p>&nbsp;</p>
<ul>
<li>You should also be able to confirm you&#8217;re using AD Connect v2 EndPoint API</li>
</ul>
<pre class="brush: powershell; title: ; notranslate">
PS C:\&gt; Import-Module 'C:\Program Files\Microsoft Azure AD Sync\Extensions\AADConnector.psm1'
PS C:\&gt;
PS C:\&gt; Get-Command *ApiVersion* -Module AADConnector

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Get-ADSyncAADConnectorExportApiVersion             0.0        AADConnector
Function        Get-ADSyncAADConnectorImportApiVersion             0.0        AADConnector
Function        Set-ADSyncAADConnectorExportApiVersion             0.0        AADConnector
Function        Set-ADSyncAADConnectorImportApiVersion             0.0        AADConnector


PS C:\&gt; Get-ADSyncAADConnectorExportApiVersion
2
PS C:\&gt; Get-ADSyncAADConnectorImportApiVersion
2
PS C:\&gt;

</pre>
<p>&nbsp;</p>
<p><a href="https://thesysadminchannel.com/wp-content/uploads/2021/08/Confirm-AAD-Connect-v2-EndPoints.png" target="_blank" rel="noopener"><img decoding="async" src="https://thesysadminchannel.com/wp-content/uploads/2021/08/Confirm-AAD-Connect-v2-EndPoints.png" alt="Confirm AAD Connect v2 EndPoints" width="894" height="408" class="aligncenter size-full wp-image-3365" srcset="https://thesysadminchannel.com/wp-content/uploads/2021/08/Confirm-AAD-Connect-v2-EndPoints.png?v=1629535992 894w, https://thesysadminchannel.com/wp-content/uploads/2021/08/Confirm-AAD-Connect-v2-EndPoints-768x350.png?v=1629535992 768w" sizes="(max-width: 894px) 100vw, 894px" /></a></p>
<h2>Conclusion</h2>
<p>Well hopefully this article was able to help you upgrade to Azure AD Connect 2.0.  It&#8217;s actually not that bad of an install and it&#8217;s not too involved so hopefully you won&#8217;t run into any issues if/when you decide to upgrade it in your environment.</p>
<p>&nbsp;</p>
<p>One thing I forgot to mention is that if you have specific rules on your AD Connect Server, those will need to confirmed so it doesn&#8217;t cause any impact.</p>
<p>The post <a href="https://thesysadminchannel.com/how-to-upgrade-to-azure-ad-connect-2-0/">How To Upgrade To Azure AD Connect 2.0</a> appeared first on <a href="https://thesysadminchannel.com">the Sysadmin Channel</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thesysadminchannel.com/how-to-upgrade-to-azure-ad-connect-2-0/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1871</post-id>	</item>
	</channel>
</rss>
