Apple Podcasts podcast player iconSpotify podcast player iconYoutube Music podcast player iconSpreaker podcast player iconPodchaser podcast player iconAmazon Music podcast player icon

PowerShell has become one of the most important automation tools in the Microsoft ecosystem, and in this episode of the m365.fm podcast, Mirko Peters welcomes Microsoft MVP Harm Veenstra to discuss why automation is no longer optional for modern IT teams. Harm shares his journey from helpdesk technician to automation specialist and explains how PowerShell transformed the way he approaches Microsoft 365, Azure, Exchange, Teams, Intune, and enterprise administration.

WHY POWERSHELL BECAME ESSENTIAL FOR MODERN IT

During the conversation, Harm explains how PowerShell stopped being “just scripting” and became a creative problem-solving platform. Once IT professionals understand the logic behind PowerShell objects, properties, and automation workflows, repetitive manual tasks can be replaced with scalable and consistent processes. Harm highlights that automation is not only about saving time — it is about improving reliability, reducing human errors, and allowing IT teams to focus on more valuable work instead of endless click-ops. The episode also explores how PowerShell evolved alongside Microsoft technologies. From the early Exchange Server days to today’s Microsoft Graph integrations, automation is now deeply connected to nearly every Microsoft cloud service. Harm explains how Microsoft Graph APIs and PowerShell modules give administrators complete control across Microsoft 365 and Azure environments.

AUTOMATING MICROSOFT 365 AT SCALE

One of the biggest topics in the episode is large-scale automation inside enterprise environments. Harm shares practical examples from real consulting projects where PowerShell was used to automate user onboarding, Microsoft 365 migrations, permissions management, account provisioning, Google Workspace to Microsoft 365 transitions, Teams meeting migrations, and hybrid identity processes. The discussion highlights how repetitive tasks like creating users, assigning licenses, configuring devices, syncing identities, and managing permissions become far more efficient when automated correctly. Harm explains that the true value of automation appears when organizations need consistent results across hundreds or thousands of users and devices.

MICROSOFT GRAPH, APIs, AND MODERN AUTOMATION

Mirko and Harm spend significant time discussing Microsoft Graph and why it has become one of the most powerful platforms for automation in Microsoft 365. Harm explains how administrators can monitor Graph API calls, discover backend actions performed inside admin portals, and use PowerShell to fully automate workflows that previously required manual configuration. The episode also covers how vendors outside the Microsoft ecosystem increasingly provide PowerShell modules for their products, making PowerShell a universal automation language across cloud platforms, infrastructure services, and enterprise tools.

SECURITY, GOVERNANCE, AND SCRIPTING BEST PRACTICES

Security plays a major role throughout the conversation. Harm explains why storing credentials inside scripts is one of the biggest mistakes administrators can make and why secure authentication methods such as Azure Key Vault, certificates, and secret management modules should always be used instead. The discussion also touches on governance, monitoring, version control, and documentation. Harm explains how GitHub workflows, revision tracking, testing pipelines, and proper documentation help teams maintain stable and secure automation environments over time. He emphasizes that good documentation is critical because automation should remain understandable for colleagues and future administrators, not just the original script author.

AI, COPILOT, AND THE FUTURE OF AUTOMATION

The conversation naturally moves into AI and Copilot. Harm shares a balanced perspective on AI-generated code and explains why understanding the logic behind automation still matters. While AI tools can assist with project planning, summaries, and development support, blindly generating scripts without understanding them can create long-term problems for administrators and organizations. Mirko and Harm also discuss the financial side of AI automation versus traditional scripting approaches, highlighting how PowerShell often remains the more efficient and cost-effective solution for many automation scenarios.

THE POWER OF THE MICROSOFT COMMUNITY

Another major theme in the episode is community. Harm explains how the Microsoft MVP community, blogging, knowledge sharing, and collaboration have helped him continuously improve his PowerShell skills. He describes how writing blog posts forces him to learn new topics deeply and why sharing automation knowledge benefits the entire IT ecosystem. The episode closes with a rapid-fire round covering favorite PowerShell modules, productivity shortcuts, Microsoft technologies, and Harm’s final advice for IT professionals: stop postponing learning PowerShell and start automating today.

WHAT YOU WILL LEARN

  • How PowerShell simplifies Microsoft 365 and Azure administration
  • Why automation improves consistency, scalability, and governance
  • How Microsoft Graph APIs enable advanced automation scenarios
  • Best practices for PowerShell security and credential management
KEY TOPICS COVERED

PowerShell automation, Microsoft 365 administration, Microsoft Graph API, Azure automation, Entra ID, Exchange Online, Teams administration, Intune management, PowerShell scripting best practices, GitHub workflows, enterprise automation, migration projects, automation governance, DevOps workflows, AI and Copilot, Azure Key Vault, PowerShell security, hybrid identity, Microsoft MVP insights, IT operations, cloud automation, and modern workplace management.

Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.

🚀 Want to be part of m365.fm?

Then stop just listening… and start showing up.

👉 Connect with me on LinkedIn and let’s make something happen:

  • 🎙️ Be a podcast guest and share your story
  • 🎧 Host your own episode (yes, seriously)
  • 💡 Pitch topics the community actually wants to hear
  • 🌍 Build your personal brand in the Microsoft 365 space

This isn’t just a podcast — it’s a platform for people who take action.

🔥 Most people wait. The best ones don’t.

👉 Connect with me on LinkedIn and send me a message:
"I want in"

Let’s build something awesome 👊

1
00:00:00,000 --> 00:00:06,000
Yeah, welcome everyone to another episode of the MC65FFM podcast.

2
00:00:06,000 --> 00:00:12,000
My today's guest comes with the phrase, "Four Shells Fun." Join us.

3
00:00:12,000 --> 00:00:16,000
We talk with Microsoft MVP, HarmBedster,

4
00:00:16,000 --> 00:00:20,000
a PowerShell expert, community contributor and automation,

5
00:00:20,000 --> 00:00:26,000
into this helping IT profession, automatic task across multiple Microsoft technologies.

6
00:00:26,000 --> 00:00:34,000
Yeah, and we have the title today, "PowerShell is Fun," automating everything with PowerShell.

7
00:00:34,000 --> 00:00:42,000
Yeah, let's start with the name, "PowerShell is Fun." Why did you choose that name for your website?

8
00:00:42,000 --> 00:00:46,000
Because it makes sense for me, I guess.

9
00:00:46,000 --> 00:00:54,000
I do actually enjoy and having fun creating scripts, the whole thinking process being creative.

10
00:00:54,000 --> 00:01:10,000
Yeah, yeah, where's both there, a moment where PowerShell stopping being just scripting and became fun for you, what was the special moment?

11
00:01:10,000 --> 00:01:18,000
When you finally understand the how and the why, and once you understand the logic,

12
00:01:18,000 --> 00:01:24,000
it's just a creativity that is the only thing holding you down to do more.

13
00:01:24,000 --> 00:01:34,000
Yeah, I think the most people, yeah, that's not fun, but the first time I've been by the area, PowerShell.

14
00:01:34,000 --> 00:01:46,000
But yeah, what tip can you, or trick, can you give people to fall in love with it?

15
00:01:46,000 --> 00:01:58,000
And when you, we have through a lot of manual tasks or repetitive tasks, which make your job life a bit boring because you have to do them like every day.

16
00:01:58,000 --> 00:02:10,000
Once you realize you can start automating that, and you actually see it working, meaning that you have more time to do more important and more fun stuff.

17
00:02:10,000 --> 00:02:26,000
I think that's the moment that when you start to realize that it actually makes my life better easier and I have more time to actually talk to people in the business with my project team or whatever, instead of just manually doing click ups all day.

18
00:02:26,000 --> 00:02:28,000
Yeah.

19
00:02:28,000 --> 00:02:42,000
Yeah, and can you tell a little bit about, yeah, the story, how, which harm become, yeah, or our start and technology and became a, a partial guy.

20
00:02:42,000 --> 00:02:50,000
Well, this year I've been doing IT for 30 years. I was like 18 when I started working in IT.

21
00:02:50,000 --> 00:02:58,000
First, it like a, how does it serve? That's, you feel that the place that people start their IT career.

22
00:02:58,000 --> 00:03:09,000
And I've just moved on from there from working for internal companies to a consulting firm to be becoming a consultant.

23
00:03:09,000 --> 00:03:20,000
And actually starting doing more in the community because that's the, one of the reasons that I really like being an FB and doing all these kinds of community things.

24
00:03:20,000 --> 00:03:23,000
And you could, you get so much back from it.

25
00:03:23,000 --> 00:03:31,000
I learned so much from people in the community and being in the community and getting back to other people at a specific, yeah.

26
00:03:31,000 --> 00:03:40,000
I think a lot of people say that especially Microsoft community, it's really, yeah, really good to, to have each other.

27
00:03:40,000 --> 00:03:45,000
I see also Microsoft do is a lot for it.

28
00:03:45,000 --> 00:03:52,000
I see the Microsoft learning platform. They have, and the MVP community. So they do a lot.

29
00:03:52,000 --> 00:03:57,000
I think it's, especially Microsoft. It's really cool. What they do.

30
00:03:57,000 --> 00:04:02,000
A lot of think it was a little bit, yeah, the automation mindset.

31
00:04:02,000 --> 00:04:12,000
When you look at IT today, where do you still see, yeah, too many manual processes?

32
00:04:12,000 --> 00:04:25,000
Perhaps in smaller companies, when you only have like two or three people in your IT staff, it probably makes sense if you don't have that many repetitive tasks that you do.

33
00:04:25,000 --> 00:04:30,000
You just do click officer, just clicking in the console or in the browser.

34
00:04:30,000 --> 00:04:39,000
But when you start working at scale, then it makes more sense because you have more customers, more repetitive work.

35
00:04:39,000 --> 00:04:46,000
And the quality of the work needs to be better and consistent. And that's where automation does its best.

36
00:04:46,000 --> 00:05:02,000
When, yeah, when you have a consulting project or something else in the company, what is the, yeah, the first thing you say at the IT admins should automate.

37
00:05:02,000 --> 00:05:11,000
I think the whole user onboarding stuff is usually the one that is the most work creating uses in.

38
00:05:11,000 --> 00:05:26,000
So, for example, many people that they're being sent to enter ID, giving them rights, permissions, and rolling them in different types of software, setting up their clients, their in tune, laptops perhaps.

39
00:05:26,000 --> 00:05:40,000
It's a lot of manual steps in which you can easily see the benefits of automating that because it's repetitive and it's not that fun anymore if you do it like 50 times in a few months.

40
00:05:40,000 --> 00:05:55,000
And how did you identify processes that's worth automating and which pros are not worth to automate.

41
00:05:55,000 --> 00:06:04,000
Yeah, it's what the most scripting guys always always tell you if you have to do it twice, then you must script that out.

42
00:06:04,000 --> 00:06:11,000
Or if you only do it like twice a year or twice every two or three years, then maybe.

43
00:06:11,000 --> 00:06:20,000
But it's more of a quality thing if you script automated, then you're absolutely sure that outcome will be the same every time.

44
00:06:20,000 --> 00:06:29,000
Instead of, oh, yeah, I just got that one step in a very large manual and now it doesn't work and I don't know why I have to like redo the whole process again.

45
00:06:29,000 --> 00:06:46,000
Yeah, I have a little bit of look at your website and I see you work across multiple Microsoft areas, Microsoft 365 exchange, intra teams, iTunes, Azure, and SharePoint.

46
00:06:46,000 --> 00:06:55,000
Where did you see this power shell, yeah, the way to go.

47
00:06:55,000 --> 00:07:11,000
And probably, yeah, and that's for the most powerful shell people also tell you an exchange first started with adding power shell, command, that's two exchange on prem.

48
00:07:11,000 --> 00:07:17,000
You could do a lot of things in the normal exchange management console, but a lot of stuff you could only do on command line.

49
00:07:17,000 --> 00:07:28,000
And that was the first encounter of XV using power shell for a Microsoft product because you had to because certain options were not available in a normal management console.

50
00:07:28,000 --> 00:07:34,000
Then you start realizing, well, if I can do this using power shell, and it's power shell 2.0.

51
00:07:34,000 --> 00:07:44,000
And that's, I don't know how many years ago exactly that was, but then you they see the benefit. Oh, I can also use it for this also uses for that.

52
00:07:44,000 --> 00:07:47,000
And if you could use it for that, I can also use it to automate it.

53
00:07:47,000 --> 00:07:53,000
And they start realizing that you could do a lot more in the past. You probably did that with.

54
00:07:53,000 --> 00:07:59,000
And I also did that a bad scripting, right? You see in the year batch files.

55
00:07:59,000 --> 00:08:06,000
Who do a lot of things in that, but it's not comparable to power shell, power shell, you do a lot more.

56
00:08:06,000 --> 00:08:13,000
And yeah, where did you own on which platform from Microsoft that you see.

57
00:08:13,000 --> 00:08:19,000
Yeah, the best growth in the best chance for automation.

58
00:08:19,000 --> 00:08:29,000
And I don't know is it error or teams or where is the highest in that. It's first started for the biggest automation projects.

59
00:08:29,000 --> 00:08:39,000
And actually because that was the trend back then before Azure AD came also known as enter ID right now.

60
00:08:39,000 --> 00:08:51,000
But I think it's becoming like it is the standard every 365 product, every Azure products, even every Microsoft product has its own power shell modules, commandlets by default.

61
00:08:51,000 --> 00:08:58,000
If if a new product is there, you can probably automate it by using power shells straight away.

62
00:08:58,000 --> 00:09:10,000
So you can use it like for every product, I guess. I don't know if there are any products which don't have a power shell interface because Microsoft graph is everywhere.

63
00:09:10,000 --> 00:09:20,000
And I also see the graph up. I think that's also yet it's really great.

64
00:09:20,000 --> 00:09:33,000
Yeah, some people really really hated it. It has its it has its quirks sometimes the the the enter in a graph modules, but for me they're there is great.

65
00:09:33,000 --> 00:09:36,000
You can do so much of them.

66
00:09:36,000 --> 00:09:41,000
I think really that's one of Microsoft biggest.

67
00:09:41,000 --> 00:09:56,000
I don't know, cool things they have ever built. I see it on I don't know, I work with other enterprise solution like sales force and it's also they have by this and buying this and you have all these different.

68
00:09:56,000 --> 00:10:11,000
So it's so hard to put their process together from their different tools platforms. And so yeah, I think this really great what Microsoft have built here.

69
00:10:11,000 --> 00:10:26,000
And some real world examples where you have work on or was really interesting project you work on power shell automation.

70
00:10:26,000 --> 00:10:34,000
At this moment, I mean a few products projects in which I do a lot of migrations.

71
00:10:34,000 --> 00:10:42,000
So it was a smaller company inside of it, which is moving out of that bigger company. And has to be on its own.

72
00:10:42,000 --> 00:11:02,000
So it is a lot of migration projects scripting that out people moving from a Google platform to a Microsoft platform and converting their calendar permissions or their Google meetings to Microsoft teams meetings.

73
00:11:02,000 --> 00:11:15,000
And it's really the automating that. Yeah, it's just things that make the user happy off the vibration giving me a lot less headache in the process.

74
00:11:15,000 --> 00:11:21,000
So yeah, there are chances everywhere. But that's the thing that I'm in at this moment.

75
00:11:21,000 --> 00:11:35,000
And so the projects will be the whole user proficient in part there like I mentioned, it's one of the most repetitive task for the service that each month people come in people leave the company.

76
00:11:35,000 --> 00:11:50,000
You have to create accounts, update, modify, remove accounts, automating all those parts that I did that a lot and it really helps the people out which have to do those repetitive tasks every time.

77
00:11:50,000 --> 00:11:59,000
Yeah, you see benefits straight away and it makes it a lot nicer instead of doing something which you actually don't see the results of straight away.

78
00:11:59,000 --> 00:12:14,000
Yeah, it was I forgot the name, but I, I think it was an ignite someone says, PowerShell, it's the best governance tool you could have.

79
00:12:14,000 --> 00:12:29,000
When, yeah, have you seen, I don't know, or can you explain a crazy manual manual, preserves, you have automated or you have seen.

80
00:12:29,000 --> 00:12:57,000
So that's so many larger and smaller ones. Integration with services for Unix, that's something that in actually actually have fields for that for for Unix, UIDs and the whole automating of creating and linking extra uses to Unix systems.

81
00:12:57,000 --> 00:13:14,000
And trying to get the latest UID because of UID is unique in Unix also in windows discovering the last giving UID, incrementing that writing that back of us whole back and forth between different platforms.

82
00:13:14,000 --> 00:13:18,000
And that's something that I usually do every day.

83
00:13:18,000 --> 00:13:27,000
And you really have to investigate it. That's that's the part for the investigating being creative coming off its solutions.

84
00:13:27,000 --> 00:13:34,000
And is there, I don't know is there a power shell co pilot available or.

85
00:13:34,000 --> 00:13:48,000
You do have like a get up co pilot in this serial code, so I think that helps a lot people use a lot of clawed coding. I actually don't use AI at all for my scripts.

86
00:13:48,000 --> 00:14:12,000
And myself because I like to challenge myself and sometimes it will take longer, but at least I will understand the script after it's been created instead of having co pilot writes you out or any jetty to whatever writing a script out which fails and you don't know why because you created yourself.

87
00:14:12,000 --> 00:14:22,000
But do you change in automation that comes with AI co pilot and so on.

88
00:14:22,000 --> 00:14:28,000
Is there a change in your work in the AI area.

89
00:14:28,000 --> 00:14:42,000
And I do think so, especially for project plans or certain processes.

90
00:14:42,000 --> 00:14:54,000
You can see which ones were created using AI, but AI really helps you as an assistant for if you have like many project documentation or workflows inside of that.

91
00:14:54,000 --> 00:15:00,000
And then summarize recreate those in a better like project plan.

92
00:15:00,000 --> 00:15:17,000
I see more like an assistant helping you get rid of the boring more intense talks and leaving you more with having to talk to the business itself instead of writing complete project plans.

93
00:15:17,000 --> 00:15:25,000
For me, that's the ideal use case helping me with all the other stuff next to the automation.

94
00:15:25,000 --> 00:15:36,000
I think I don't know about I think sometimes the yeah, a lot of people do automation with the AI and it's caused a lot of tokens.

95
00:15:36,000 --> 00:15:39,000
So I think it's not the future.

96
00:15:39,000 --> 00:15:49,000
I think yeah, power will be, yeah, sometimes that has a better pricing.

97
00:15:49,000 --> 00:15:56,000
It's been in pricing to do this automation with power or.

98
00:15:56,000 --> 00:16:16,000
The whole amount of tokens actually read an article and it was cheaper to hire two new like media or junior developers instead of having to pay your AI bill that much.

99
00:16:16,000 --> 00:16:30,000
People win then yeah, it's the most times it's yeah, reload it's it's on the other side.

100
00:16:30,000 --> 00:16:36,000
When you say there is an automation philosophy.

101
00:16:36,000 --> 00:16:39,000
What's yours?

102
00:16:39,000 --> 00:16:48,000
Yeah, you could like like I have in my personal profile automate everything.

103
00:16:48,000 --> 00:16:54,000
Yes, that could be your end goal, but it does have to make sense.

104
00:16:54,000 --> 00:17:06,000
Like I said, if you have to only do a thing like once or twice every year, you could probably automate that but better to automate the most repetitive talks.

105
00:17:06,000 --> 00:17:23,000
Also, the ones that you absolutely need to be sure that everything is correct after running that because if you do it manually or your your colleague does it on a Monday and you do it on a Friday and outcome is different.

106
00:17:23,000 --> 00:17:37,000
It has to be consistent that that's what I like about all my automation things are consistent. You're sure that things are like this or that and not perhaps.

107
00:17:37,000 --> 00:17:52,000
You have talked about yeah, starter or people they hired you hired what is a good yeah project to start learning power shell from your perspective.

108
00:17:52,000 --> 00:18:19,000
Or you to learn power shell for example, if you have like something that you need to do and you have like a real business case for it then it's easier to learn and start working on that instead of that for most people do they try to learn power shell by doing simple examples the same as I have with trying to learn Python.

109
00:18:19,000 --> 00:18:37,000
I try to learn Python many times, but I don't have a use case for it straight away. So then you start learning generic Python things in how you can count numbers, see processes, copy or renamed files or whatever.

110
00:18:37,000 --> 00:18:57,000
And if it's okay, but I don't have something that I need to use it straight away. And that makes that makes learning more difficult. So if you have like a repetitive task that you want to automate because you're tired of doing it manually, they have like a really good case to start learning power shell.

111
00:18:57,000 --> 00:19:04,000
And you can put that task away and do more interesting stuff instead.

112
00:19:04,000 --> 00:19:15,000
And how hard or how important is understanding the power shell logic before yeah starting script writing or can I start and.

113
00:19:15,000 --> 00:19:24,000
Yeah, it's an object based scripting language and if you don't understand objects and properties and values.

114
00:19:24,000 --> 00:19:32,000
Because that was when I first started writing about first portal script, I didn't understand the whole object thing yet.

115
00:19:32,000 --> 00:19:37,000
I'm not a programmer. I'm just a scripter who did like batch scripting before that.

116
00:19:37,000 --> 00:19:50,000
Once you understand the whole object thing that object has properties and properties and values and you have like methods in which you can change the values or query those values.

117
00:19:50,000 --> 00:19:56,000
And once that hits you, then it's so much easier to write scripts.

118
00:19:56,000 --> 00:20:08,000
But that's just an understanding of how things work and then you need to know how you can get more and more for change those things.

119
00:20:08,000 --> 00:20:28,000
And then when we are how do you stay I don't know that's not so many change about how do you still learning new power shell tricks on how do you develop your skills in the power shell.

120
00:20:28,000 --> 00:20:43,000
So for me it's easier because I have to do it for my job, obviously, but also I write new block articles every week and sometimes I'd learn it on the spot while writing something.

121
00:20:43,000 --> 00:20:56,000
If I write something about how shell classes for example it's not something that I often use, but when you write a block post about it, I want it to be complete.

122
00:20:56,000 --> 00:21:14,000
Then I need to understand the whole logic behind it myself too. So when I start writing, I actually start learning stuff at that moment and writing an article about it as if I was using it for years, which I don't, I just learned it at that moment.

123
00:21:14,000 --> 00:21:28,000
That's how I learn things. I just choose a topic which I'm not sure about how it actually works. And then I just write an article about it and while writing I learned the subject.

124
00:21:28,000 --> 00:21:38,000
And how important is the part of documentation in power shell.

125
00:21:38,000 --> 00:21:50,000
The documentation is always the thing that you do last or not good enough, but documentation is really important because it's not important that you know how it works.

126
00:21:50,000 --> 00:21:58,000
Your new you or your your colleague also needs to know that it shouldn't be like, oh this is something that harm created.

127
00:21:58,000 --> 00:22:17,000
But I be because I don't understand how it works. The documentation should be good enough. So that your colleague can understand and run it. And if he has some questions offered or some edge case, which you didn't take into account or then the documentation should be enough.

128
00:22:17,000 --> 00:22:20,000
Just run it. If you have questions, sure.

129
00:22:20,000 --> 00:22:30,000
The documentation should be good enough for everybody to understand it. And I really just like writing documentation.

130
00:22:30,000 --> 00:22:41,000
It's becoming like a standard because you have to protect yourself. If you only write things that nobody understands, they will keep on coming back to you and ask you.

131
00:22:41,000 --> 00:22:54,000
And how the system is like that documentation helps. Yeah, a lot. Yeah, I know a lot of people they say the code is a documentation.

132
00:22:54,000 --> 00:23:03,000
Yeah, if you understand code, yes. But if you do something like really special, which is only applicable to that one customer.

133
00:23:03,000 --> 00:23:15,000
And just looking at the code to probably be like, I don't know, December's coming out here. I should write. I should ask the guy who created the script because I don't understand.

134
00:23:15,000 --> 00:23:21,000
And what role does GitHub play in your workflows?

135
00:23:21,000 --> 00:23:32,000
Well, a lot to get a piece is the place in which you store your scripts, but you also have your revision history in it.

136
00:23:32,000 --> 00:23:39,000
And sometimes it's like really handy because you keep on updating scripts and anything.

137
00:23:39,000 --> 00:23:50,000
It doesn't work anymore now. What did I change and get helps you in that you can see what the changes were for each time that you actually commit your code to get up.

138
00:23:50,000 --> 00:24:01,000
Or get lab. There are multiple Git products. Get it being the more popular one.

139
00:24:01,000 --> 00:24:13,000
It's good for documenting your code sharing your code, having a efficiency on it. It's like a central repository. I think you had like.

140
00:24:13,000 --> 00:24:31,000
There was a foundation server thing also for programs in the past. There was like an on prem products, but it has it had the same technique checking in and out code, making revisions, doing pull requests, letting other people check your code before actually committing your code.

141
00:24:31,000 --> 00:24:34,000
Yeah, it's a great work process as well.

142
00:24:34,000 --> 00:24:39,000
And do you in version control all your scripts?

143
00:24:39,000 --> 00:24:54,000
For the ones that are published on my website, no, I just commit to main and the first thing that is there that that's always version 1.0 because there are like example scripts scripts that I used in my blocks to show certain techniques.

144
00:24:54,000 --> 00:24:58,000
But within our companies, it's much more strict and that.

145
00:24:58,000 --> 00:25:09,000
And also the partials vary and graph up. We are very mating. And there, yeah, I think with big.

146
00:25:09,000 --> 00:25:16,000
Mate comes big. I don't know what Uncle Ben has said for a Spiderman something like this.

147
00:25:16,000 --> 00:25:19,000
How do you approach security.

148
00:25:19,000 --> 00:25:25,000
Financial management for power show.

149
00:25:25,000 --> 00:25:39,000
The initials in scripts is a really bad idea. There were a few bigger hacks because of the github repository, which were accessible on the internet, which actually had to your text.

150
00:25:39,000 --> 00:25:50,000
And then you should always store them in things like Azure Keyfold, for example, or use certificates.

151
00:25:50,000 --> 00:26:08,000
You skipped so that your script does have the tenant ID, for example, application ID of your administration, but you authenticate towards that using a certificate, which is in your local keychain or a certificate store, your clients.

152
00:26:08,000 --> 00:26:22,000
You should never store credentials in the scripts. And I did that in the past. I mean, first start out scripting. I think, well, my script is a summer on a management server in a closed down scripts folder.

153
00:26:22,000 --> 00:26:27,000
But no, you shouldn't do that. You also have them to local.

154
00:26:27,000 --> 00:26:39,000
The management feature in that that you actually have like a local people like thing, the secret management module takes care of that.

155
00:26:39,000 --> 00:26:47,000
It's just general best back sender so many examples, which we should show you should do that.

156
00:26:47,000 --> 00:26:56,000
And then you also have to work with tools like, I don't know, Keyfold or logic apps to.

157
00:26:56,000 --> 00:27:04,000
But you think it's when you are, is the best practice for security.

158
00:27:04,000 --> 00:27:12,000
I think Microsoft for for the fabric or stuff for data stuff, they have a lot of these gold standard things.

159
00:27:12,000 --> 00:27:19,000
So, are there anything else for partial?

160
00:27:19,000 --> 00:27:26,000
It probably depends on which platform you're connecting because powerful doesn't limits itself to only Microsoft products.

161
00:27:26,000 --> 00:27:32,000
It could be Google or AWS or any other platform.

162
00:27:32,000 --> 00:27:48,000
I think the concepts are the same role based access control using a keyfold like system using certificates, no clear text credentials in in scripts itself.

163
00:27:48,000 --> 00:28:01,000
Conditional access things making sure that your client is actually compliant or of certain location or that you're not like a risky user before you actually start script or having access to your.

164
00:28:01,000 --> 00:28:10,000
365 tenant security best practices, I guess.

165
00:28:10,000 --> 00:28:21,000
It's really awesome. I think what you say that you and then it's nothing I know before you can really work with other not Microsoft tools with power.

166
00:28:21,000 --> 00:28:30,000
Sometimes vendors actually create partial modules for their products even though it's not a Microsoft product.

167
00:28:30,000 --> 00:28:39,000
Usually the module has a lot of command that we do is make it easier to do API calls towards that product.

168
00:28:39,000 --> 00:28:51,000
It's just like rappers or command that using API calls to manage their products returning objects to you making it easy to do reports on them or whatever.

169
00:28:51,000 --> 00:28:57,000
I think a lot of products use how shell modules to manage it.

170
00:28:57,000 --> 00:29:04,000
It's becoming more of a standard. Yeah, that and probably iPhone modules as well too.

171
00:29:04,000 --> 00:29:10,000
That's something that I use myself but yeah.

172
00:29:10,000 --> 00:29:17,000
And how does it I don't know when the product update and so on comes.

173
00:29:17,000 --> 00:29:32,000
How can you monitor or track these these changes that you have to I don't know to change anything on on script is there something like alerts or so.

174
00:29:32,000 --> 00:29:41,000
Sometimes you get like information from from Microsoft itself like the Amazon line or Azure AD and Azure DP few modules.

175
00:29:41,000 --> 00:29:54,000
They will start communicating like two years ago that that will be deprecated then will then they will put out a date like in August of 2025.

176
00:29:54,000 --> 00:30:01,000
This product will no longer can no longer be used to manage this aspect of 365.

177
00:30:01,000 --> 00:30:07,000
And then that probably will postpone that for a few months again because not everywhere is ready for it.

178
00:30:07,000 --> 00:30:11,000
But there's a lot of communication about the bigger things.

179
00:30:11,000 --> 00:30:21,000
But sometimes you have like breaking changes when you update to a newer partial version or Microsoft updates their back end platform to something.

180
00:30:21,000 --> 00:30:28,000
Then you just find out that your script doesn't work anymore. And then you probably need to update your partial modules itself.

181
00:30:28,000 --> 00:30:32,000
And then you can update for that as well.

182
00:30:32,000 --> 00:30:39,000
Sometimes your modules just don't work anymore because they have become because they're using all technology.

183
00:30:39,000 --> 00:30:49,000
So it's for me is easier because I read a lot of partial community stuff and my whole LinkedIn page is probably full of articles of people.

184
00:30:49,000 --> 00:31:03,000
And the verification system I guess but Microsoft really gets you a long period before they retire modules that could use to work but are now deprecated.

185
00:31:03,000 --> 00:31:12,000
Just reading the news I guess and information emails that you get from Microsoft as a technical contact for your tent, for example.

186
00:31:12,000 --> 00:31:17,000
It's also in the in the message center.

187
00:31:17,000 --> 00:31:24,000
They will post regular updates on that if you follow the message center in your tent, you should already notice.

188
00:31:24,000 --> 00:31:31,000
But there's no monitoring tool or something you can.

189
00:31:31,000 --> 00:31:35,000
You have good scripts and pipelines.

190
00:31:35,000 --> 00:31:47,000
They will report it to you or do like a best test on them to see if the functionality still works and if your script breaks and if it does then you know that there's something wrong.

191
00:31:47,000 --> 00:31:53,000
You probably need to find out from somebody update something has something changed.

192
00:31:53,000 --> 00:32:03,000
But yeah, you should have some monitoring in your pipelines or in your scripts when building newer versions or testing them.

193
00:32:03,000 --> 00:32:07,000
And also important is that needs to stop if something doesn't work.

194
00:32:07,000 --> 00:32:15,000
If something in your script doesn't work but you skipped keeps on running and probably destroying stuff afterwards.

195
00:32:15,000 --> 00:32:31,000
But you should always be aware that some steps in your script might fail and you need to stop and notify them straight away instead of trying to run the remaining part of scripts and then we destroy things.

196
00:32:31,000 --> 00:32:37,000
And how it's the yeah, the fine ops part in a power shell.

197
00:32:37,000 --> 00:32:43,000
It's paid by I don't know computing or how does that.

198
00:32:43,000 --> 00:32:46,000
Yeah, the payment works.

199
00:32:46,000 --> 00:32:49,000
Well, running running it on your local workstation.

200
00:32:49,000 --> 00:32:55,000
OK, you already paid for your workstation, but there are like.

201
00:32:55,000 --> 00:33:05,000
Pipelines there like runners like little instances that get started during the process and they run your scripts.

202
00:33:05,000 --> 00:33:10,000
For get to actions, you have a certain amount of.

203
00:33:10,000 --> 00:33:22,000
Usage, I guess and also in Azure, but if you have to like the really longer running scripts, it will probably cost you some compute and it depends.

204
00:33:22,000 --> 00:33:36,000
You can scale that to larger units, posting you more, but then your script is done in like a few seconds or you have to like the budget version and your script just takes longer, but it's cheaper.

205
00:33:36,000 --> 00:33:40,000
But there is automation at scale.

206
00:33:40,000 --> 00:33:46,000
There is some cost in running those, but usually it's not that much, I guess.

207
00:33:46,000 --> 00:33:50,000
But like everything in it, it depends.

208
00:33:50,000 --> 00:33:53,000
Yeah, it's really true.

209
00:33:53,000 --> 00:34:00,000
Yeah, but I think it's not the most expensive tool Microsoft about.

210
00:34:00,000 --> 00:34:06,000
Oh, no, there are much more expensive ones.

211
00:34:06,000 --> 00:34:18,000
Yeah, when when we think I think back, yeah, when you start a project, you also need, I think.

212
00:34:18,000 --> 00:34:29,000
And the stakeholder and the sponsors, the management, how did you sell or.

213
00:34:29,000 --> 00:34:36,000
Take the management in the automation process.

214
00:34:36,000 --> 00:34:45,000
Well, I work at a pretty large Microsoft partner in the Netherlands in Spark and probably see the logo in my wallpaper against the wall.

215
00:34:45,000 --> 00:34:54,000
This is our absolute office. It's probably an older picture, but it always looks like I'm at the office, but I'm at home right now.

216
00:34:54,000 --> 00:34:57,000
For us, it's normal.

217
00:34:57,000 --> 00:35:03,000
You should always automate things because it just makes sense.

218
00:35:03,000 --> 00:35:09,000
If you do projects for or work in a smaller company, then you have to convince your management.

219
00:35:09,000 --> 00:35:22,000
And you can really do that, I guess. If you have certain things that would normally take up a lot of time like weekend hours, for example, for doing certain things.

220
00:35:22,000 --> 00:35:38,000
And you can show or prove them that automating that eliminates working in the weekend or working in the evening or spending a lot of more time on normal day to day operations.

221
00:35:38,000 --> 00:35:44,000
It will sell itself because it will make your work a lot more efficient.

222
00:35:44,000 --> 00:35:59,000
But if you have to spend weeks in creating scripts for doing stuff that you only do a few times each year, for example, then it's hard to sell.

223
00:35:59,000 --> 00:36:11,000
Let's talk about the Microsoft Graph. What's your favorite graph use case?

224
00:36:11,000 --> 00:36:22,000
If graph use case other than user creating updating, I actually use it for a lot more things now.

225
00:36:22,000 --> 00:36:30,000
Like I said, a project for automatically, consulting Google meetings to Microsoft Teams meetings.

226
00:36:30,000 --> 00:36:32,000
That's a really nice.

227
00:36:32,000 --> 00:36:49,000
And you can use graph use case in which you can completely automate that using all the 365 services that it connects almost every part of the 365 services and the entry portal.

228
00:36:49,000 --> 00:36:51,000
You can automate that using graph.

229
00:36:51,000 --> 00:36:57,000
There are actually tools for that from metal for not metal for not know you probably heard of him.

230
00:36:57,000 --> 00:37:14,000
Microsoft tools like graph X-ray, like that's like a plug in in your browser, which you can use in a developer mode to see what graph commands were actually being used when you click around in your admin portal.

231
00:37:14,000 --> 00:37:20,000
And then you know what graph API endpoints it hits and then you can automate that.

232
00:37:20,000 --> 00:37:33,000
It makes stuff so much easier. They did a change on that beginning of April. So you don't see which partial modules you should use to do the same action.

233
00:37:33,000 --> 00:37:39,000
Same code for the graph explorer. It also had that feature, but it does show you which.

234
00:37:39,000 --> 00:37:45,000
In folk MG graph request it does which API endpoints hits.

235
00:37:45,000 --> 00:37:53,000
So using those tools you can actually see while clicking around in your management portal doing click offs instead of automation.

236
00:37:53,000 --> 00:37:56,000
What you should do to automate that.

237
00:37:56,000 --> 00:38:03,000
The integration is really there. So that's off to a metal because he makes my life a lot easier.

238
00:38:03,000 --> 00:38:05,000
And see you.

239
00:38:05,000 --> 00:38:11,000
Graph it's upcoming knowledge for for modern idea. That's all that's.

240
00:38:11,000 --> 00:38:21,000
It's it's it's it's completely bound to all the Microsoft online services, but the way of working if you can do that.

241
00:38:21,000 --> 00:38:24,000
And you know how those things work.

242
00:38:24,000 --> 00:38:27,000
You can probably automate a lot of other things.

243
00:38:27,000 --> 00:38:36,000
Using partial different platforms. It's usually the same technique. Effort platform has its own things.

244
00:38:36,000 --> 00:38:41,000
And if you understand the technique, you can do every platform.

245
00:38:41,000 --> 00:38:44,000
What's your opinion on.

246
00:38:44,000 --> 00:38:49,000
We first administration.

247
00:38:49,000 --> 00:38:58,000
It gets the job done. I guess it will only take you longer.

248
00:38:58,000 --> 00:39:04,000
But if you do it using the GUI because that's the only thing that you have.

249
00:39:04,000 --> 00:39:07,000
Then it will always.

250
00:39:07,000 --> 00:39:13,000
Exactly do what you want because a lot of the fields that you have to fill in using the GUI.

251
00:39:13,000 --> 00:39:25,000
Don't use a special character here. This has to be this many characters or the GUI really helps you understand the things that you have to fill in.

252
00:39:25,000 --> 00:39:29,000
And if there are certain conditions while filling that in.

253
00:39:29,000 --> 00:39:34,000
And then you can automate that because you already have that knowledge and then you know what fields you should do.

254
00:39:34,000 --> 00:39:39,000
At least use which are the required fields etc.

255
00:39:39,000 --> 00:39:43,000
I only use GUI to.

256
00:39:43,000 --> 00:39:49,000
Clicky see things but if you really want to see things and you have to use.

257
00:39:49,000 --> 00:39:54,000
When you have to rank power show comments.

258
00:39:54,000 --> 00:39:59,000
What's your all time favorite.

259
00:39:59,000 --> 00:40:05,000
The one that I use most is.

260
00:40:05,000 --> 00:40:14,000
Most power show people will tell you is get help get help forgetting the help things of certain commanded.

261
00:40:14,000 --> 00:40:20,000
Get method show all the methods that are certain commanded has.

262
00:40:20,000 --> 00:40:26,000
Those are things that I use most frequently I guess because that's what I always do.

263
00:40:26,000 --> 00:40:31,000
I try to discover what capabilities of source module are.

264
00:40:31,000 --> 00:40:36,000
What methods does it have and what can I use to automate things.

265
00:40:36,000 --> 00:40:42,000
And those are always there because that's the fundamental thing of power shield.

266
00:40:42,000 --> 00:40:44,000
Those things are always there.

267
00:40:44,000 --> 00:40:55,000
And what is the I say the most order. Yeah most used keyboard shortcut every power show expert is using.

268
00:40:55,000 --> 00:41:03,000
I think my tab key is the most worn out key on my keyboard because.

269
00:41:03,000 --> 00:41:06,000
I did Cisco switch programming.

270
00:41:06,000 --> 00:41:08,000
I'm a CCMP as well.

271
00:41:08,000 --> 00:41:10,000
The lot of Cisco.

272
00:41:10,000 --> 00:41:16,000
When you're in Cisco command line you just type a few characters and you hit tap and it order.

273
00:41:16,000 --> 00:41:18,000
Complete to your command.

274
00:41:18,000 --> 00:41:20,000
That's also available in power show.

275
00:41:20,000 --> 00:41:25,000
So the most he that I use in a power show is probably tap tap completion.

276
00:41:25,000 --> 00:41:35,000
It's great. I see sometimes I see people typing out a complete command that you can use just use tap or shift tap when you want to go back.

277
00:41:35,000 --> 00:41:40,000
One one position if you over tapped and you can use shift that to go back.

278
00:41:40,000 --> 00:41:41,000
So.

279
00:41:41,000 --> 00:41:44,000
That I use is probably tap.

280
00:41:44,000 --> 00:42:00,000
I have a little bit. Yeah into the power show about ox and so on and I have taken three quotes and yeah I read the quote and you tell me what this means to you.

281
00:42:00,000 --> 00:42:07,000
Okay. So the first quote is automation applied to an efficient operation will make me.

282
00:42:07,000 --> 00:42:09,000
Magnificee the efficiency.

283
00:42:09,000 --> 00:42:14,000
Oh god damn.

284
00:42:14,000 --> 00:42:17,000
Again I did.

285
00:42:17,000 --> 00:42:23,000
Applied to an efficient operation will magnify the efficiency.

286
00:42:23,000 --> 00:42:29,000
Yeah it will definitely magnify the efficiency of your environment.

287
00:42:29,000 --> 00:42:32,000
A lot.

288
00:42:32,000 --> 00:42:34,000
That's the thing about power show.

289
00:42:34,000 --> 00:42:40,000
And it's really important to think a lot more efficient, repeatable, scalable.

290
00:42:40,000 --> 00:42:48,000
With trustworthy output because you you're sure that output that you're getting is real.

291
00:42:48,000 --> 00:42:55,000
And it's been tested and it's it will always give you the same output.

292
00:42:55,000 --> 00:43:02,000
And the best script are the no ones notice because everything just works.

293
00:43:02,000 --> 00:43:07,000
And you use invisible automation means successful automation.

294
00:43:07,000 --> 00:43:08,000
Yeah. Yeah.

295
00:43:08,000 --> 00:43:12,000
And that's that's also the danger of automation.

296
00:43:12,000 --> 00:43:28,000
I guess if everything in the background is good or sufficiently automated and things just work automatically and people will start forgetting that didn't.

297
00:43:28,000 --> 00:43:37,000
It was not always that that that case. Sometimes people don't know how certain things are suddenly there because we're background.

298
00:43:37,000 --> 00:43:42,000
Power show keeps keeps on creating adjusting, making sure that things work.

299
00:43:42,000 --> 00:43:46,000
If that automation stops.

300
00:43:46,000 --> 00:43:52,000
People will have a hard time discovering why things are not there automatically anymore.

301
00:43:52,000 --> 00:44:04,000
And if you skip just work fine then you can't explain to your manager that you really need to do more power show skips before because it really think it already works.

302
00:44:04,000 --> 00:44:10,000
You don't have to do anything yet because you already already already.

303
00:44:10,000 --> 00:44:13,000
We got on the line.

304
00:44:13,000 --> 00:44:26,000
If you you can order major self out of it, you are. And I don't really mind doing that because then you would have done the good things and you can do that another company as well.

305
00:44:26,000 --> 00:44:35,000
Community is very knowledge becomes impact. Why is community so important from the power show world.

306
00:44:35,000 --> 00:44:47,000
Not only for the power show world communities is always great. Even when you're not in IT having like minded people around you.

307
00:44:47,000 --> 00:44:55,000
It just elevates everyone sharing knowledge who increase the global knowledge of everyone in your team.

308
00:44:55,000 --> 00:45:06,000
And because people really enjoy certain products, no matter what it is, it could be powerful, could be exchange, could be teams or whatever.

309
00:45:06,000 --> 00:45:11,000
Having enthusiastic people around you sharing ideas is just great.

310
00:45:11,000 --> 00:45:15,000
Setting the best friends for them in IT.

311
00:45:15,000 --> 00:45:25,000
Now we come to my favorite part of the episode. It's the rapid fire around. It's only the fast answers.

312
00:45:25,000 --> 00:45:33,000
You say the first thing that can be in your mind. And I asked some short questions. So that's the rule.

313
00:45:33,000 --> 00:45:39,000
That would all light mode on.

314
00:45:39,000 --> 00:45:51,000
Most underrated Microsoft product.

315
00:45:51,000 --> 00:45:54,000
Oh man.

316
00:45:54,000 --> 00:45:57,000
I use them all to the.

317
00:45:57,000 --> 00:46:04,000
Pretty large extent.

318
00:46:04,000 --> 00:46:23,000
No, no, no, no. No, no. No, no, no, no.

319
00:46:23,000 --> 00:46:38,000
Yeah.

320
00:46:38,000 --> 00:46:48,000
Yeah.

321
00:46:48,000 --> 00:46:55,000
And it's a powerful module. It's a favorite, powerful module.

322
00:46:55,000 --> 00:47:03,000
It's it's peace. Realtime and it's something that is almost all a melody in power show nowadays.

323
00:47:03,000 --> 00:47:13,000
But it makes it has like when you when you type a few characters, it will auto complete from your history.

324
00:47:13,000 --> 00:47:23,000
And you will be run certain quanta. A lot. You just type a few characters and your previous history will always be there.

325
00:47:23,000 --> 00:47:31,000
So peace read line makes navigating through your power show commands that you used in a lot easier.

326
00:47:31,000 --> 00:47:37,000
It has so much great functionalities. We have peace read line.

327
00:47:37,000 --> 00:47:44,000
Yeah. So we have become to the hands and yeah, my final question is when.

328
00:47:44,000 --> 00:47:49,000
Listeners remember only thing from this episode. What should it be?

329
00:47:49,000 --> 00:47:51,000
Learn Power show.

330
00:47:51,000 --> 00:47:58,000
Just just do it. If if if if if you keep on backing off on that and then possibly don't do it.

331
00:47:58,000 --> 00:48:00,000
It will make your life easier.

332
00:48:00,000 --> 00:48:05,000
Yeah. Then. Yeah. I will say thank you for joining the session.

333
00:48:05,000 --> 00:48:07,000
Thank you.

334
00:48:07,000 --> 00:48:15,000
And your power sales fund.com as think the people show you visit us and we do put it in the show notes.

335
00:48:15,000 --> 00:48:23,000
So the people can see all the information in the show notes and yeah, so this was really, really interesting.

336
00:48:23,000 --> 00:48:31,000
And I hope or I think it's a lot of people will now try out power show and look look what it is and would.

337
00:48:31,000 --> 00:48:37,000
Yeah. Bring so thank you for staying here. Yeah. Thank you for having me.

338
00:48:37,000 --> 00:48:39,000
Yeah.