This is a part 2 to my original post about setting up SCCM on a server disconnected from the internet.
I have recently started working with SCCM, which means building (and rebuilding) lab environments for it. I have found that just getting all the prerequisites installed can be tedious and time consuming. Even more so when your SCCM server is not connected to the internet.
ActiveDirectory is of course a huge component in a Microsoft based environment. One of my favorite things to do is explore how other Microsoft products, integrate and leverage Active Directory.
If you look for or have used PowerShell scripts from the internet, you have likely encountered functions with the Begin, Process, and End blocks.
Getting a list of installed applications seems like something
a lot of Windows admins would like to do.
Unfortunately, there isn't an Out-of-the-Box way to do this with PowerShell.
I have worked with Exchange quite a bit, and I wanted to take a look at the newest version on the newest Server OS. Instead of figuring it out everytime I need to build an Exchange lab, I figured it would be a good idea to automate it as much as possible, and document with code.
There are many examples on the internet that show how to remotely connect to Exchange Online PowerShell. Hopefully this post will provide better code, and better insight into the process.
If you are familiar with Linux or come from a Unix background, you probably know about Vim. For those of us that started and stay mostly in the realm of Windows however; Vim may be a foreign thing. I was fortunte enough to be exposed to vim, and see what it can do; now there's no turning back.
If you run a lot of code in any environment, or have multiple environments that you manage, configuration files are incredibly useful. If you do not already use them, you should seriously consider it. JSON is my preferred format this task, and here is how I use it in PowerShell.
In the Windows world, it seems that these files are typically created in eXtensible Markup Language (XML). Xml will work, and if you are stuck with PowerShell version 2.0 or earlier, you may have to stick with that.
I have found that working with passwords and credentials can be intimidating.