Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierMarc D Anderson's Blog

Goals for your IT Team When They Free Up Time Through Automation

Back in October, I was lucky enough to visit my friends at ShareGate, along with fellow MVPs Jasper Oosterveld (@jappie1981) and Maarten Eekels (@maarteneekels) We had several conversations with ShareGate’s Laurent St. Pierre (@laurent_sp), and those were recorded and released as a series of videos: The evolution of IT: Improving digital employee experience to boost productivity. The conversations have also led to ongoing asynchronous discussions about the things we said, for more elaboration and to expand on our thoughts.

Recently, ShareGate’s Rafael Spuldar did a new blog post: 5 IT Goals for Your Team When They Free up Time – ShareGate.

Emily Mancini (@eemancini) and I had kicked around the topic and came up with the following list of ideas. Some made it into Rafael’s post, and others didn’t, so I figured I’d post our full list here.

Let us know what you think in the comments!

  1. Clean up AD/AAD data – In most cases, targeting content to the right people is based on AAD data. This data determines which people belong in particular Microsoft 365 Group, especially if they are dynamic groups. If the organization can actually rely on that data being correct, they can build out much more personalized experiences. In most organizations, not only is the data wrong, but everyone knows it’s wrong and they can’t rely on it. No one even tries to get it fixed because they think it’s pointless. Spending time improving this data provides many benefits.
  2. Focus on consultative customer service – If you’re like many IT departments, people don’t come to you for advice and assistance because they can’t get your time. Set up an informal (or formal) consulting capability for the organization. Let anyone in the organization get in touch during office hours to help them think through technical issues and starting solutions for themselves. This consultative focus can also become “market sensing”, in that it tells you what the organization is doing and what they need that you aren’t providing. Unless you have an amazing help desk, they probably don’t fulfill this role. Help desks tend to focus on solving immediate problems (which everyone wants them to do), and not longer-term efforts. If nothing else, it’s a different mindset.
  3. Think about places you could solve problems – Imagine going out into the organization and saying something like “We know you struggle with people filling out so many of these forms. We’d like to help you automate and improve the process.” You’d be heroes! In other words, do external outreach in the organization: offering the very services you have capacity for – for free! You’ll be amazed at the goodwill this engenders.
  4. Search analysis – Take a look at the searches people are doing and what happens. How many searches lead to useful results, and how many fail? A failed search is a content opportunity, and a successful search means that content matters and may need a review. That doesn’t mean that you in IT need to do that review, but you’d be providing great information to the content owners to make their content more valuable. You have the tools to do this in Microsoft 365, but many organizations simply don’t.
  5. Run the assessment tool – The Microsoft 365 Assessment tool was created to help people move from classic to modern and from on prem to the cloud originally. It’s been expanded to help people understand how Microsoft Syntex might be a valuable toolset. But as part of the output, it gives you information about how to improve your information architecture. You need to be at least a SharePoint Admin to run the scanner, so running it for your Site Owners is a way to give them a gift to improve their content and its structure.

An Unfortunate `API access` UI in the SharePoint Admin Center

Orchestry is a partner of ours at Sympraxis. (Ask us about them anytime!) We love their toolset and recommend them frequently to our clients to improve their governance and provisioning activities. The stuff they build is incredibly powerful – and reliable.

That’s why I was really surprised when I added the Orchestry People List Web Part to a site home page and I didn’t see the actual people, just what looked like placeholders for them. The counts were right, but no details. (This Web Part is better than the out of the box People Web Part because you can set it to show Site Owners and/or Site Members automagically.)

As I am wont to do, I asked my friends at Orchestry what the scoop was. Turns out, it wasn’t an Orchestry problem. The issue was rooted in a really bad user interface in the SharePoint Admin Center.

Here’s what happened. Way back in March, I installed the PnP Modern Search Web Parts. They are just about my favorite tools to use with SharePoint, and I install them as soon as I start working in a tenant. In many cases, I don’t bother the Global Admin to approve the Microsoft Graph permissions for PnP Modern Search, because we can accomplish what we need just using SharePoint Search.

In the screenshot below, you can see the pending request for PnP Modern Search (red box) as well as the Approved requests which Orchestry needed (green box).

The unfortunate part of his UI is because PnP Modern Search “asked” for User.Read.All first, it still “owns” that request.

What we should have seen in the UI was four requests for Orchestry, like so:

Because PnP Modern Search had already asked for User.Read.All, there were only three. The Global Admin approved the three and we called it a day.

Note what happens in that UI after the requests are approved. We lose all the info about which app needed the permissions and when they were granted. No bueno.

Leaving the security implications of all this aside (but keeping in mind this UI exists only for security purposes!), there’s no way for us to see what solution requested the API access, when it was requested, or who approved it after the fact.

Believe it or not, the solution to fix the Orchestry Web Part issues was to approve the User.Read.All permission for PnP Moden Search. That makes sense, right? (No, no it doesn’t at all.)

Final Score:

  • Orchestry 1
  • Microsoft 0

Cleaning Up Redirect Sites in SharePoint Online

As our tenants evolve, we end up renaming sites and/or changing their URLs. When we change the URL of a site in the SharePoint Admin Center, the URL changes, just like we asked. SharePoint also leaves the old site in place, but converts it into a Redirect Site. So if we had a site at /sites/Procurement and we decide to change it to /sites/Purchasing (maybe due to a reorganization), people who have bookmarked the Procurement site will be redirected to the Purchasing site.

The Redirect Sites we end up with aren’t shown in the Active Sites listing. The only way we can figure out they are even there is to use PowerShell.

In most cases, we want that redirection to occur. But what about the cases where we mistakenly set up a site at the wrong URL? For example, maybe we create a site at /sites/HS by mistake, so we change it to /sites/HR. Later, we may have a new department called Highly Socialized. (Roll with it.) That /sites/HS URL is already “used up” by the Redirect Site. If we try to create a site with the /sites/HS URL, we’ll end up with /sites/HS2. SharePoint helpfully avoids a naming collision by adding the 2, and then a 3, then 4 – see if you can spot the pattern!

This becomes especially important if you’re creating sites with their URLs matching some sort of coding scheme. For example, for a property management company we work with, each Property has its own site with a URL using the Property Code. The property with a Property Code of 211 lives at /sites/211. By using that rigid connection to a property of the Property, we can guarantee unique URLs and keep them simple. Something like /sites/TheHilton-PhoenixEast just aren’t that fun to type!

If we mistakenly create the site for Property Code 211 at /sites/212 and then rename the URL to the correct /sites/211, we can get ourselves into trouble. What happens when we need to create a site for property 212? SharePoint will create the URL /sites/2122, which just isn’t right!

Therefore, we often want to clean out some of the Redirect Sites. Here’s the simple PowerShell to do this. Redirect Sites use the Site Template RedirectSite#0.

# Import modules
Import-Module PnP.PowerShell

$adminSiteUrl = "https://tenantName-admin.sharepoint.com"

Connect-PnPOnline -Url $adminSiteUrl -Interactive

$redirectSites = Get-PnPTenantSite -Template "RedirectSite#0"

########################################################################
# STOP HERE - Validate the redirect sites you actually want to remove. #
########################################################################

foreach ($site in $redirectSites) {
    Remove-PnPTenantSite -Url $site.Url -Force    
}

Note the big warning at line 10. Most likely, you won’t want to delete ALL the Redirect Sites. Once you’ve found them all, figure out what filter you might want to apply to $redirectSites before you run the foreach loop. Maybe you’ll do something like:

$redirectSites = Get-PnPTenantSite -Template "RedirectSite#0" | Where-Object { $_.Url -eq "https://tenantName.sharepoint.com/sites/212"

or

$redirectSites = Get-PnPTenantSite -Template "RedirectSite#0" | Where-Object { $_.Url -gt "https://tenantName.sharepoint.com/sites/211"

Good site hygiene is important, if only to protect your sanity. And use the URL renaming function thoughtfully. Don’t think of it as an easy way to clean up your mistakes, or your tenant may end up littered with Redirect Sites you don’t even know you have.

Resources

Manage site redirects – SharePoint in Microsoft 365 | Microsoft Docs

❌
❌