Free M365 tenant – it’s time to learn something new!

It seems like every week I meet someone that didn’t know about the M365 Developer Program. Here’s the deal, you sign up and Microsoft will give you a tenant that you can use for development. No commitments. No credit card. No hard questions.

Not only does Microsoft hook you up with a tenant, but they also provide sample packs and training resources to help you get started!

It’s free and only takes a couple minutes. Let’s do this!

  • Click Instant Sandbox to quick get started with sample data. If you like configuring a tenant, select configurable tenant.
  • Select your data center and set a username/password. You can set an alternative password for your fictitious users.
  • Next step, verify your account with a phone number.
  • You’re all set!!! If you currently log into another tenant for work, go ahead and Create a new profile in Edge. Keep this window open, and scroll down to find a ton of resources to help you get started!

See, easy peasy. Now what?? You’re a global admin with your own tenant – do what you want to do! Test some stuff. Break some stuff. Try some new. Not sure where to start? Check out Microsoft Learn and learn how to do everything 🙂

Never offer a solution you don’t want to support.

MacGyver may have been an engineering and physics wizard, but let’s note he never put a solution in place that he had to support past the next commercial break.

When there is a business problem that needs to be solved, it’s important to consider all of the options, and the pros and cons of each. There is usually at least one solution that is a terrible idea but it’s an option that should work, in theory. But whether you’re dealing with technology or a DIY Project, you should never suggest a solution that you don’t want to support.

Reasons to leave an idea on the cutting room floor:

  • Overly complex
  • Excessive points of failure
  • Requires regular manual intervention by IT
  • Will generate a lot of support
  • A house of cards waiting to fall down

You’ve heard the saying “good, fast, or cheap – pick any two”. The option you don’t want to support probably falls in the fast/cheap category. That makes it even more likely it will get picked because it is faster to implement and/or less expensive than another solution. From the business perspective, it solves their problem, and it must be ok since you presented it to them, right?

You may even get assurances of funding to provide a better solution in the next budget. However, once you put in a solution in place, the business driver for resources and funding is significantly reduced, which will definitely impact decisions when it’s time for budget planning.

The time to think about this is before you find yourself in tricky situation. Define things you do well, and the things that are out of bounds. Identify areas where there is opportunity for growth. Make your own list of reasons ideas land on the cutting room floor.

Wondering if you should send that email?

If you are wondering about whether or not to send a hastily replied to an email, don’t! Pick up the phone and call. Or better yet, talk to them in person – virtual, or down the hall!

It’s perfectly normal to get frustrated with people and situations at work.

Work rage is a little like road road, with two or more drivers going back and forth escalating over something that was hopefully a mistake or misunderstanding. On the road, there are limited ways to communicate your frustration and none of them are good. You have lots of options at work!

People treat you the way that you let them. Don’t participate in the drama.

If there is action required, pick up the phone and call:

  • You’ll usually resolve the issue much faster.
  • Repeat offenders will learn that if they send you a snippy email, you’ll either call them.
  • It’s easier to maintain healthy working relationships if you don’t let those issues escalate.

If there is no action required, let it go:

  • You do have better ways to spend your time!
  • You don’t have to get the last word in.
  • Sometimes people want you do be as mad as they are- don’t join the drama.
  • Even if you delete emails, companies archive them for years sometimes. Is this no-value email your about to send something you want in the archives?
  • If you’re still frustrated later, take it out on the treadmill or some other exercise – frustration can make your workouts next level

Challenge Accepted

Lastly, and perhaps the very best reason to call… people get uncomfortable when they send you a nasty gram and then their phone rings. Consider this a challenge accepted! Be professional. Be direct. Resolve your issue. Tell them to have a nice day. And the nice time you see them in person or end up in an unexpected collaboration, it won’t be awkward to say hi.

Disruption ahead: Expect Delays

Nobody says it like Jocko Willock, right?

Solution Development for new and improved processes causes disruption, so setting expectations is important.

Keep it simple.

  • Do plan to handle 80% of the expected process with your solution
  • Do build in a workaround for admins to bypass steps and support any unexpected exceptions
  • Don’t develop for exceptions and one-offs. It can take longer, and may be more difficult to document, maintain and upgrade. Wait until the process has been vetted.   

Once the process in implemented, the tough part begins.  This can include glitches, failed communications, negative feedback, and general frustration. 

Embrace the process – you set the tone everything that happens next.  Having a plan to deal with issues that arise will reduce chaos and tension:

  • Do set user expectations to expect delays for xxx days/weeks/months.   
  • Do allot enough resources and time available for fixes  
  • Do communicate a plan for feedback – who do users contact and how do share issues or feedback 
  • Do communicate regularly with stakeholders regularly
  • Do have change requests should be reviewed, prioritized, and implemented if they make sense.
  • Do distinguish between fixes and features: weigh the business value against the level of effort and cost (time and added complexity)
  • Don’t blame the users – document FAQ, update training, improve communications.  
  • Don’t take it personal – You’re all on the same team.  Other people behaving badly is on them, not you. 

These delays are temporary! Be patient and embrace the benefits of the new process.

Setting up multiple profiles in Edge

Do you log into multiple O365 instances? Juggling multiple projects and looking for a way to keep those browser sessions separated? No more InPrivate browsing or Incognito sessions.


Update to the latest version of Edge. Then you can set up multiple browser profiles to support different sets of O365 instances, sets of passwords, browser history and more.  These can be synced for use on multiple devices or stored locally.

After updating, the Edge icon will change.

After installing the open, open Edge and click on the Profile image, then Add a Profile.

Click Add.

Click Done to set the profile up for local access only.

You will be automatically logged in.  Click on the Profile icon, then Manage Profile settings.  (Note: The option to sign in is always available to set up later.)

Give it a meaningful name and select an icon.   Different icons serve as a constant visual indicator to the Active Profile.

Visual Indicator is displayed in the browser and on your toolbar. Click on the icon in the browser to switch between sessions. If you have multiple profiles open, they will be displayed on your toolbar.

Happy browsing!

Disable Power Platform Self Service Purchasing in Office 365 – Error “HandleError : Failed to retrieve product policy with PolicyId ‘AllowSelfServicePurchase’

It’s not pretty but this will disable all.

#disable Self-service license purchases

#set protocol to use - no more error!
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12

#install and import module
Install-Module -Name MSCommerce
Import-Module -Name MsCommerce

#connect, you'll be prompted for credentials
Connect-MSCommerce

#display the current status
$results= Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase
Write-Host $results

#set everything to disable
$Products = Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase
 foreach ($Product in $Products){
    Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId $Product.ProductID -Enabled $false
}

#display updated results
$results= Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase
Write-Host $results

Hope this saves someone some hunting…

Find the details and options for enabling or disabling Power apps here: https://vladtalkstech.com/2019/12/step-by-step-how-to-disable-power-platform-self-service-purchasing-in-office-365.html

I found the security protocol fix on Reddit, which pointed me back to Jason Robertson notes in the comments section. https://office365itpros.com/2019/11/20/microsoft-releases-control-self-service-purchases/

Basic SharePoint On-Prem Troubleshooting Guide for Service Desk

Getting help resolving issues from the Service Desk can be difficult if they aren’t familiar with SharePoint or potential issues. I’ve put together this guide to get you started.  What did I miss?


Troubleshooting SharePoint issues

Check for user issues

  1. The user can log on successfully and open Intranet/Internet home page
    • Prompted for password, refresh group policy and check url. The user’s account is locked or the browser isn’t passing credentials.
    • Access denied messages (successful), route ticket to SharePoint Team or Site Owner, if identifiable.
    • With any other result, continue to 2.
  2. If SharePoint is not externally accessible, the user is connected to network or VPN.
    • User is not connected to our network and needs access. They need to be approved and setup for VPN.
    • User is connected – results are unexpected, go to 3.
      • Service Desk is connected and can reach the site, continue troubleshooting.
      • Service Desk is connected and cannot reach the site, route ticket and CALL SHAREPOINT TEAM.  This indicates SharePoint is probably down for many users.
  3. The user has tried more than one browser. Depending on the version of SharePoint/browser, and the action being attempted, a change in browser can resolve many issues. 
    • Changing browsers (notes below)– results unexpected, continue
      • IE may no longer be supported depending on the version.
      • Recommend trying the latest version of Edge or Chrome.
  4. Check the SharePoint documentation, if any, for frequently asked questions and known issues.

Other troubleshooting:

  • Install updates Office/Windows updates and restart. Pending updates can cause issues.
  • Integration issues with Office, File Explorer or other applications, shut down pc for 30 seconds and restart.
  • Issues with Office files in SharePoint
    • Verify they work with client application
    • Identify desired configuration
  • Repeated login prompts:
    • Add SharePoint
    • log into Office with the correct account if hybrid.

SharePoint messages that don’t need troubleshooting:

Access Denied – route this to the site owner, or the SharePoint team if there isn’t a site owner.

Anytime an error appears with a Correlation Id – that indicates a server issue and is likely impact many users.

Information to include in any SharePoint ticket:

  • A link to the site
  • Notes on any troubleshooting listed above

What did I miss? Share your thoughts below.

Reddit Reality: Developing in Production

Low-code fact: Sometime we develop in production, especially when projects are small and simple.

Most low-code tools and platforms support a development environment, and most companies make that investment. But not all.

  • Backup: Back it up, and occasionally test a restore to make sure it works.
  • Plan: Have a plan for what needs to be done, and work when there is the least impact.
  • Communicate: Notify key contacts and the Service Desk.
  • Test: Undocumented projects can result in unexpected consequences. You don’t know what you don’t know. Enage users to assist in testing.

Finally, if it matters and isn’t intuitive, document the change. Examples:

  • Changing static text doesn’t require detailed documentation.
  • Adding a new choice to a drop down isn’t usually a problem, but can be if it is a status field that impacts a process.
  • Adding an exception to an approval routing should be sufficiently documented so the next developer will know that is part of the process and how it should work.

Learn more about what to document and when.