Cloud file productivity using Windows Quick Access

Here’s a productivity tip I use to make navigating cloud file location easier on Windows 10 desktops.

image

After have set up any synced locations, like my OneDrive, SharePoint, Teams, etc,  I then locate a frequent folder I need in a cloud location. Here that folder is Customers on my OneDrive for Business. I then right mouse click on that folder and select the option Pin to Quick access as shown above.

image

You should then see that folder in the Quick access area in the top left of Windows Explorer as shown above.

image

Now, if I want to attach an email from that location I can simply browse to a location (web or local doesn’t really matter), because whenever you get Windows Explorer, you also get your Quick access.

image

from which you navigate to the file you need via Quick access in the top left of Windows Explorer. Quick and easy.

image

Because Windows wants to be ‘helpful’ and add recent locations to Quick access by default, I want to disable that so this area doesn’t become cluttered. I want Quick access just to contain the stuff I put in there, nothing else.

To achieve this, I go into the properties of Windows Explorer and in the General tab, under Privacy, I uncheck both options (Show recently used files in Quick access and Show frequently used folder in Quick access) as shown above.

I like to keep my Quick access as small as possible and therefore remove anything that isn’t relevant to my day to day work (i.e. the shortcuts to stuff like Media and Movies).

I haven’t seen many people use Quick access on Windows desktops but I find that once you set it up it is invaluable as it pops up anytime you need to work with files. You can also add, remove and edit over time to customise to your exact needs. For example, if I’m working on a project, I add that location for the duration of time I’m working on that project. This make access very fast and easy.

Hopefully, this productivity approach may also help you when working with files from the cloud.

Microsoft Defender for Business post setup wizard recommendations

image

Let’s say that you have kicked off the Microsoft Defender for Business setup wizard as shown above. For the purposes of this article I’ll also assume that this is part of a Microsoft 365 Business Premium tenant.

image

Let’s assume that you have now completed that process, which you can read about here:

Use the setup wizard in Microsoft Defender for Business

image

After the wizard has completed I suggest you head to the Settings options in https://security.microsoft.com and then select Endpoints and finally, select Advanced features, where you should see the above screen full of options on the right.

At this point I’d suggest you go and enable all the options listed. Now, not all of them will be relevant but I’d still recommend they be turned on none the less. Do it once and you won’t need to come back is my philosophy.

Leave that location open as we’ll be coming back here.

image

Next, head over to your Microsoft Endpoint Manager and select Endpoint security on the left, then Microsoft Defender for Endpoint, which should result in the above screen.

Here you want to ensure the Connection status is Enabled (i.e. green check mark) as shown.

If it isn’t for some reason, then head back to https://security.microsoft.com, Settings, Endpoint, Advanced features.

image

Scroll through the list of items until you find the Microsoft Intune connection as shown above. Ensure that it is turned On. If it isn’t, turn it On, wait at least 15 minutes and check back in Endpoint Manager for the Connection status to be Enabled (i.e. you see the green check mark). If it is already On and the green check mark doesn’t appear, turn the setting Off for at least 15 minutes and then turn it back On. You know, kinda reboot it. The connection status should go green after that in my experience.

image

When the Connection status is Enabled go and turn all the options on the page to On as shown above.

image

Return to https://security.microsoft.com and select the Onboarding option as shown above.

My recommendation is that you manually onboard the first Windows 10 device in your environment using a local script. That will ensure everything is working quickly and easily.

Simply download the script provided and run it on one of the Endpoint Manager enrolled devices in your environment.

image

Once the script has run successfully return to the console and select Device inventory from the menu on the left as shown. Within 15 minutes or so, you should see the machine that you ran the script on appear here.

Congratulations, you have successfully onboarded your first device to Defender for Business in your tenant. You are now free to continue to configure additional devices using the policies provided. I always like to do the very first device in the environment manually so I know everything is working as expected. If I then get issues, I know to troubleshoot my deployment policies.

Be a winner. Don’t recruit, build an employment system

pexels-洋榤-郭-2399840

One of my favourite quotes is from Scott Adams:

Losers have goals. Winners have systems.

Scott Adams is the creator of the Dilbert cartoon strip, which many would say provides perceptive insight into how many businesses are run today and the personalities inside them.

This systems based approach lines up with some recent articles I’ve written:

Every business today is a software business

and

We all need to automate more

because, probably the place where I see the least use of systems is when it comes to employing and training staff. Most businesses cast a random net looking for people with unique skills and experience, but when they employee people they find, they largely don’t develop them further in any structured way. They hope that they will ‘accumulate’ knowledge throughout their time and apply to the business adding value along the way. That is a pretty haphazard approach to probably the most important resource in a business.

I think a far better model to emulate is brought to us from the military. They take recruits, from all walks of life and experience, then put them through standardised training to get people with the skills they need. They have done this successfully for thousands of years. It is a proven model for results. Why don’t more commercial businesses take this approach?

I had a recent conversation with a technology provider who was having trouble finding a high level cloud technician for a role. Given the the constantly changing cloud technology field, how would you ever expect to find someone like that I asked? To attract such a candidate the business is going to have a huge salary package, well above what the small business could afford. But he insisted that this is exactly ‘what his business needed to succeed’. No it doesn’t! That approach to me is completely bonkers because you are putting all your eggs in a single basket with someone would could choose to leave at any point in time, including immediately after starting.

I suggest that a far better approach would be to build a ‘training system’ to produce the candidates you require. You can take people with much lower skills sets and put them through a largely continuous automated training process to give them the skills needed. If the candidate resigns or ‘drops out’ of the system at any point, you simply feed the next candidate into the start from which, again, out will pop exactly the person with the skills that you need.

The other advantage with an ‘employment system’ like this is that the business owns it, manages it and controls it. It isn’t reliant on someone who could leave a the business at any stage.

When you speak with most managers they say they employ on attitude and develop skills but that is definitely not what I see executed, especially in IT reseller businesses. Most get rushed into selecting a candidate because they have a desperate need and then hope against hope that they will work in that role. In the majority of cases, they don’t, which means it’s right back to recruitment stage again.

The challenge with systems is that don’t grow on trees or magically appear when you rub a lamp. They need to be designed. They need to built. They need to be maintained and they need to be automated. I’ll go back to one of my other favourite quotes I’ve used before recently:

“Compound interest is the eighth wonder of the world. He who understands it, earns it … he who doesn’t … pays it.”

― Albert Einstein

and say that compound interest ONLY works when you invest FIRST! All you need to do is start and keep working at it. Too many people focus on the end result rather than what they need to do NOW to move the ball forward.

I’ve spoken before about:

Core Microsoft Cloud IT Professional skills

and

The benefits of certification

It would also be hard to say that there is not an abundance of training available today from many, many sources on just about any topic you can name. Leverage these, put a program together, track people’s process and enhance it over time. If you are smart, you’ll get those who are undertaking the training to provide feedback and even adjust it for you. Thus, each new employee is helping to improve your training system.

Many employers incorrectly fear that if they train employees, they will leave. Many studies show the reserve is actually true. Employees prefer businesses that provide training and invest in their careers rather than those that don’t. Besides, as I said earlier, if an employee chooses to leave, you just insert another one into the system you have created.

The chances of you obtaining a suitably qualified candidate in the market today is pretty low. Instead, do what the military does and has done for thousands of years to great success, take anyone and put them into a system that creates the desired end result. By doing so you gain independence and you build another item of unique value in your business. Be a winner, build an employment system.


CIAOPS Need to Know Microsoft 365 Webinar – June

laptop-eyes-technology-computer

Join me for the free monthly CIAOPS Need to Know webinar. Along with all the Microsoft Cloud news we’ll be taking a look at Microsoft Teams.

Shortly after registering you should receive an automated email from Microsoft Teams confirming your registration, including all the event details as well as a calendar invite.

You can register for the regular monthly webinar here:

June Webinar Registrations

(If you are having issues with the above link copy and paste – https://bit.ly/n2k2206 – into your browser)

The details are:

CIAOPS Need to Know Webinar – June 2022
Friday 24th of June 2022
11.00am – 12.00am Sydney Time

All sessions are recorded and posted to the CIAOPS Academy.

The CIAOPS Need to Know Webinars are free to attend but if you want to receive the recording of the session you need to sign up as a CIAOPS patron which you can do here:

http://www.ciaopspatron.com

or purchase them individually at:

http://www.ciaopsacademy.com/

Also feel free at any stage to email me directly via director@ciaops.com with your webinar topic suggestions.

I’d also appreciate you sharing information about this webinar with anyone you feel may benefit from the session and I look forward to seeing you there.

Every business today is a software business

pexels-pixabay-270348

Following on from a post I wrote recently:

We all need to automate more

I’d like to continue my musing about the challenge of finding qualified staff, especially if you are a technology provider.

Traditionally, IT Providers have looked for staff that can perform a certain defined role in their business and that has kind of been where it ends. When that person leaves, they need to find a similar soul to replace them. There ain’t much leverage here if we are honest is there? Technology and technology businesses should be about leverage.

The main fault lies with the skill set that IT providers are recruiting for these days.

A very famous tech luminary wrote an article back in 2011 called:

Why software is eating the world

and if you haven’t read it, you should. You should also be mindful of that fact that it is now over ten years old! Given that context, I feel pretty confident in saying that EVERY business is in fact a software business today. Every business relies more on IT systems that it ever has and the core of IT systems is software NOT hardware or infrastructure. Problem is, most business don’t yet realise they ARE a software business!

So why is it that most IT businesses recruit people for old world hardware and infrastructure roles? Don’t they realise the world has well and truly been eaten now it is 2022? Perhaps a reason they can’t successfully recruit is what they consider ‘suitable’ candidates has moved on so much from such traditional roles to roles that embrace what modern technology is all about today. Software. Perhaps the reason people can’t be found is that no one wants those traditional roles anymore! Maybe?

In essence, any modern role, especially in industries that provide technology services should include software as a core capability, most importantly, the ability to code. No, I am not saying that everyone needs to be a C sharp developer. What I am saying that our world today is built on code and it takes people who understand that and can speak that language to successfully support it. The past is about speed and feeds, aka hardware. That is now pretty much an arcane ancient language. Bandwidth is the principal commodity of the modern workplace not CPU speed or RAM.

A traditional IT provider should therefore be looking for DevOps people. Those that can do the IT operations, create users, reset passwords, etc as infrastructure types have done for years but also be comfortable with creating automation processes and scripting to reduce the precious amount of human capital that needs to be invest to achieve these aims.

Another benefit of employing DevOps types is that the code they develop can be leveraged across many customers, unlike their time. A typical infrastructure tech is limited to a fixed linear set of tasks between certain times in a day. Code however, can run constantly across multiple environments with minimal human interaction.

Still further, when a DevOps type leaves the organisation their code stays with the organisation, whereas when a traditional infrastructure technician leaves they leave no real value beyond their actual time in the business. That is not playing smart business in my books, that is simply trying to throw resources at a problem which you can never win, because you are always going to have to replace the resource at some point in time. That situation has taken many business this long to realise. Problem is, now they have, they are not well placed to deal with it. All they can do is scramble for more resources which are becoming scarcer everyday. In short, your staff are going to move on, that is a fact. You will need to replace them. Is your only solution simply to replace staff as they leave with similar candidates? That isn’t a game you can win because you’ll always be time poor when recruiting and never find an exact replacement, and even if you do, that replacement could resign immediately and you are again faced with the same dilemma. What’s the definition of insanity again?

I think another reason why so few people want to do traditional IT infrastructure work is that it is purely and simply ‘slog’ work. By this I mean that your reward for closing a trouble ticket is, guess what? Another trouble ticket and then another and then another at infinitum. If you want to disincentivise  and burn people out, keep giving the same grinding work over and over again like trouble tickets. Most IT managers would hate that themselves yet they enforce it on their subordinates. To me, that is utter madness because you are treating people like machines and to my knowledge we should have all left that behind in the Victorian age!

An emphasis on code and software allows expression, it allows the human brain to to what it is good for. To create, to be imaginative and innovate. Most people entering the workplace are more digitally native than any previous generation. They have grown up with technology and the Internet. They don’t fear the technology but most businesses today still constrain their workers by time management methodologies rather than measuring them on result based outcomes. Most are more comfortable seeing workers put in the ‘hours’ (whether or not they are being efficient is irrelevant, as long as they are visibly burning time is the key) rather than providing incentives based on outcomes (like say adding value to a customers business). Again, pure and utter madness in our modern technology landscape.

Anyone today who as even a slight interest in IT is going to be into software and coding as they should be. In fact, EVERYONE, yes EVERYONE needs to learn how to code. It is the language of our age. This, as I said earlier, doesn’t mean you need to be a developer. What it does mean is that you have a greater array of tools you can use to solve problems for one piece of code can build on another and be shared with others thereby leveraging the initial input invested to create it.

Software is a problem solving tool that should be part of everyone’s professional skills. It ain’t hard. There is so much free stuff out their on the myriad of languages available to code in. BASIC, PowerShell, C++, Java, and so on, and so on. Just go to Youtube and you’ll find someone willing to teach you code. The more time you spend learning and implementing code, the better you’ll get at it. Coding is a skill, it ain’t a talent. Everyone who already codes at some point learnt how to code, they weren’t born with the ability to write quality Python out of the womb!

If your are selling your skills into today’s market, skill up on programming. Even knowing Excel macros is going to put you at least one step in front of your competition who can’t code. Because, if you can’t code you’ll be consigned to role where people take advantage of your time not you brain. In essence, you are trading your personal time for money and no matter what they pay you, that transaction is never enough as you’ll never get your time again.

So ask yourself the question, have I (and the business I may run) truly embraced the modern technology world that software has ‘eaten’ or are you living in the past hoping to trade time for money? Because if you are living in the past still, eventually the appetite of software will catch up with you and automate what you do faster, better and cheaper than you ever could. Where will that then leave you?

If you own a business, you should looking for people who support this model. That is, those who are software aware. Those who can use software to solve problems better than anyone else. Allow them to unleash the true capabilities of the human mind rather than constraining them to a treadmill of endless problem tickets. We want creators, not biological robots to burn out and throw away. That means businesses need to create the environments to support this. Look around and ask yourself whether your business today truly supports that environment. I’d have a guess and say that it probably doesn’t. You better watch out then, the software tyrannosaurus rex now roams freely.

We all need to automate more

A common challenge today many business, including IT resellers, face is the lack of suitably qualified staff. There seems little doubt this situation will continue for an extended period due to various reasons. However, I believe the situation has been greatly exacerbated by many businesses failing to truly embrace the power of automation, especially IT automation, in their business.

A common process I see in many businesses undertake is simply adding more technology without the drive for improved effectiveness. Many business seem to add more technology because they ‘believe’ it will make them more effective. However, unless there is a plan and desire to become more effective it rarely happens. In reality what happens is, they become less effective, as technology systems add increased burdens, costs and demand more resources. In many cases, they make things far worse and introduce more inefficiencies due to complexity and a lack of integration.

If you take a step back and look at the wider picture here, it was a common belief that computers and technology systems in general would remove the mundane burden of repetitive and undesired work in our society. However, if you look around today most people and businesses are far more stressed, are far more ‘time poor’ than they have even been and yet we have all this wonderful and powerful technology at our finger tips. We carry super computers in our pocket, but when was the last time everyone turned up to a meeting on time?

One of the reasons I suggest is that fact that most are merely using the ‘system default’ configuration that comes with any technology. They don’t invest in learning and exploring how to make the technology work best for them. Technology developers can only supply their products with a single configuration that ‘hopefully’ suits most users. That is rarely the case. Unfortunately, merely ‘accepting the defaults’ leads to inefficiencies which leads to being more time poor, which leads to less time being available to learn and optimise technology, which leads to merely ‘accepting the defaults’…. and so on through an ever more inefficient spiral.

Another reason is the fact that today we live a very much ‘now’ society. People don’t want to wait. They want instant gratifications. The days of investing for the long term no longer take primacy, which is strange, given that things like compound interest have been referred to by some pretty smart people as the eighth wonder of the world.

“Compound interest is the eighth wonder of the world. He who understands it, earns it … he who doesn’t … pays it.”

― Albert Einstein

Unfortunately, this fallacy of constant technology efficiency is unlikely to change. I would actually contend that it is, in fact, only going to accelerate. That, however, does present an opportunity for those who are prepared to invest some time and truly take advantage of what things like automation can achieve.

I like to think of technology automation along a spectrum. In the past, we have had things like scripting such as PowerShell that provides a huge mount of leverage. You can write a PowerShell script to do just about anything in the Microsoft environment these days. It allows a single person to obtain a consistent result once it has been developed. The problem is however, someone still needs to run that script. If an IT reseller is managing an environment for a customer, that customer can’t run the script themselves, they need to get the IT reseller to run that script. That is still not as efficient as it could be. It also centralises the power of automation, placing it in the hands of a small, technically savvy audience.

Next on this spectrum is the automation we see today in technologies like the Power Platform that allow an army of citizen developers to easily create ‘low-code’ solutions for business challenges. This means that most customers using Microsoft 365 have this capability. You can also see Microsoft raising the awareness of this audience to the possibilities without the need for dependencies on IT resellers to run these automation processes. Sure, they solutions developed by ‘citizen developers’ may not be as elegant as those created by a skilled developer, but does that really matter any more if it gets the job done? A growing army of people entering the workplace are ‘digitally native’ and more than willing to ‘try’ technology. By doing so, using the Power Platform, they are not only solving business challenges but they are increasing their own skill and career value.

Where I think we are going is to a world where automation are wrapped up inside a bot or something like Power Virtual Agents. Recently, I wrote this article:

Automated user tenant access control

In essence, it allows you to control when users can login to a Microsoft 365 tenant. Even thought this solution was created using Power Automate, it still needs someone to execute it if perhaps you wanted to use it when an employee goes on leave. The friction is much lower than using a PowerShell script, but it still could be better.

Think about wrapping this tenant access control solution inside a Power Virtual Agent bot and having that published to a channel in Teams. Then, when a user wants to take leave, they converse with the bot for approvals as well as automating the process of denying access while they are away. The bot can ensure that all the correct information is collected and correct processes are followed and documented, every time! Most importantly, this puts the power of automation in the hands of the people that use it. Using a bot, it does this in a friendly a conversational manner. It doesn’t introduce IT complexity to scare the end user away from actually using it. There are lots and lots of benefits.

The good news is that there are already lots of automation options you can take advantage of. The bad news is that you are unlikely to using them enough in your business. A modern approach to staff shortages shouldn’t be ‘where do I get good staff’. Instead, it should be ‘how can I automate more to reduce that dependency’.

Without doubt, the best place to start for most ‘non-IT’ types is the Power Platform in Microsoft 365. Yes, there is an upfront investment to be made, but like compound interest it will produce significant returns over time.

There are real opportunities for smart businesses to leverage the automation capabilities already inside most systems today. These are available to all but the smart ones will take them, implement and transform their impact on the market and their own businesses. Let’s put technology to work to do thing it supposed to do. That is, to make our lives easier and better, not simply as adding more that we don’t need. Simplicity is truly the effectiveness superpower.

Using Power Automate to send SMS

I recently had the need to send an SMS programmatically. The reason I wanted to be able to do this si because Microsoft Bookings currently doesn’t send SMS reminders to attendees of a booking outside the US. That means, here in Australia, I needed to add the capability via another SMS integration option.

The most obvious choice, once again, is Power Automate. To handle the SMS component I needed to work with a SMS provider. The one who came to party was Mondotalk.

The first step was to consult the Mondotalk API to discover how to send an SMS using code. Luckily, their documentation contained a handy PowerShell script:

$messagebody1 = @{

id = $id

key = $key

username = $username

password = $password

to = “<phone>”

sender = “<phone>”

msg = “hello world”

replyto = director@ciaops.com

}

$url = <API url>

Invoke-RestMethod -Method POST -Uri $url -Body $messageBody1

In essence you create the body of the API request using an array and then you simply POST that to the API URL. Pretty straightforward and after I worked out all the variables like username, id and key, I had this working.

image

The key action is HTTP as shown above. It is important to remember that this a ‘premium’ connector and you may need a more advanced license to use this.

Initially, I thought I’d just bung in the parameters into the HTTP action as I have done before and it would be good to go. Not the case as it turned out. Everything I tried came back with a variation of the following error:

{“_meta”:{“status”:”ERROR”},”records”:{“errorCode”:401,”userMessage”:”Must login or provide credentials.”,”devMessage”:”Please provide credentials by either passing in a session token via cookie, or providing password and username via BASIC authentication.”,”more”:null,”applicationCode”:”Unauth:1″}}

In essence, the API is failing to login to my account to send the SMS. The PowerShell worked fine but Power Automate didn’t.

The solution ended up lying with adding a header field to the HTTP action:

Content type: application/x-www-form-urlencoded

and formatting the body with an ‘&’ between the fields i.e:

username=#####&password=*******&to=61######&id=#####&key=<GUID>msg=hello&replyto=director%40ciaops.com&sender=61########

as well as setting the authentication in the HTTP action to None as it was being done in the body of the request.

After all of that, I finally had success. The lesson here is that APIs don’t always want JSON!

image

I then decided to wrap a Power Virtual Agent bot around the Flow and publish it into a Team to allow users to send SMS directly from Teams. They simply use a key phrase to call the bot and tell it when number to send to. The bot passes those details to the Flow and runs what I had worked out previously

image

The only change here from the initial on demand Flow was the passing of a variable into the Flow from the bot and creating the body of the API request, also as a variable.

image

Again, it is important to get the body field in EXACTLY the right format for the API request when it is created.

So, that’s how you connect an SMS API gateway to Power Automate and Power Virtual Agents. The real trick was getting the right format of the API POST request which had to be deduced from the documentation. Hopefully, sharing that process here gives others a shortcut to getting it working in their environments because it took me a LONG time to work it out!

Thanks again to Mondotalk for being kind enough to give me a demo account and assist getting this working.