Windows 10 Enterprise edition version 2004 is used for the scenarios demonstrated in this blog article. If you’d like to follow along, you’ll also need to install PowerShell version 7 and the Az PowerShell module. As stated in the help for Connect-AzAccount, the UseDeviceAuthentication parameter is the default authentication type for PowerShell version 6 and higher. help Connect-AzAccount -Parameter UseDeviceAuthentication What this means is that you’re provided with a URL and a code.
I’ve worked as an IT Pro since 1994, with the past fourteen years at the same employer and my last day with them was this past Friday. I’ve also been a Microsoft MVP for the past six years, the first two as a PowerShell MVP and the last four as a Cloud and Datacenter Management MVP. Today is my last day as a Microsoft MVP because you can’t be an MVP if you work for Microsoft.
I’ve recently wondered how many service offerings Azure has. I’ve read anywhere from 150 to 600 and I even went so far as to ask an Azure Product Manager but still didn’t receive a clear answer. What I did find out is that Microsoft maintains an Azure services directory on their Azure products website. I figured that was a good place to start looking and while the website is informative, it didn’t provide a count of the service offerings.
As I mentioned in a previous blog article, the AzureRM PowerShell module is only supported until December of 2020. It has been replaced by the Az PowerShell module which was introduced in December of 2018. On Twitter, I recently asked if anyone was still using the AzureRM module and what was keeping them from transitioning to the Az module. One of the responses I received was due to the amount of work and time invested in scripts based on the AzureRM module.
The Az PowerShell module was released in December of 2018 and is now the recommended module for managing Microsoft Azure. AzureRM is the previous PowerShell module for managing Azure which has been deprecated but will continue to be supported until December of 2020. Windows PowerShell 5.1, PowerShell Core 6, PowerShell 7, and higher are supported by the Az PowerShell module. Windows 10 version 1607 and higher has Windows PowerShell 5.1 installed by default.
I recently saw a tweet from Joel Bennett about the Az (Azure) PowerShell module being nothing more than an empty module that imports all of the modules for each Azure product. I decided to investigate. Get-Content -Path (Get-Module -Name az).Path | Select-String -SimpleMatch 'Import-Module' Joel’s statement is 100% accurate. Off-Topic: The searched for term is highlighted in each result when the previous command is run in PowerShell 7.
You’ve implemented Azure AD Connect to synchronize accounts in your on-premises Active Directory environment to Azure AD. If you took the defaults while running the setup wizard for Azure AD Connect, then everything in your Active Directory environment is synchronized. If you decided to filter the synchronization later to only specific OU’s (Organizational Units) in your Active Directory environment, you could run into a scenario where the number of deletions exceeds the default threshold of 500 objects.
You’ve signed up for a Microsoft Azure accountand you’ve installed the Azure Resource Manager PowerShell cmdlets on your computer. Install-Module -Name AzureRM -Force You login to Azure from PowerShell. You’ll normally see most people use Login-AzureRmAccount, but that command is an alias (Login isn’t an approved verb). Get-Alias -Definition Add-AzureRmAccount Login to Azure and provide the account login information when prompted: Add-AzureRmAccount Several of the cmdlets in the Azure Resource Manager PowerShell module require a location (a region) to be specified when creating things.
In a couple of my previous blog articles, I’ve demonstrated how to create a storage account in Azureand how to create a reserved virtual IP address in Azure. Both of those items will be used in today’s blog article so I recommend reading through those previous blog articles if you haven’t already done so. The goal in this blog article is to build a CentOS based OpenLogic 7.0 VM in Azure except using PowerShell instead using the Azure portal website (GUI):
By default, the VM’s that you create in Azure will have a dynamic virtual IP address (VIP). Based on this article on Azure, you could simply create a DNS CNAME record for your custom domain and point it to the DNS name that you chose during the creation of your azure VM which should prevent any problems if the virtual IP address happens to change. Maybe you want a reserved virtual IP address for your Azure instance though?
You’ll need to sign up for an Azure account if you don’t already have one: https://azure.microsoft.com. There’s a free trial if you want to try it out. One thing I would suggest if you’ve never used Azure is to spend a little time in the GUI (your Azure account’s portal website) learning about it before you start trying to manage it with PowerShell. That’s the same advice I would give to anyone wanting to do something with PowerShell.