Earlier last week I had a need to delete an Azure AD tenant, and this turned out to be a much more difficult task than I had originally anticipated so I thought I would document the steps I went through in case others encounter the same problems.
1. Disable AD Sync If your syncing your on-prem AD up to Azure AD you need to disable this from inside the Azure Portal so that it disconnects your users from the sync, otherwise you cannot delete your synced users.
At this weeks Ignite conference we’ve seen a number of new VM sizes either be announced or hinted at during the sessions. Here’s a quick update on the new machine types:
H Series Designed for High Performance Computing (HPC), the H series VM’s are available in public preview in the South Central US region today and will be rolled out to other regions soon. The H series contain the fastest processers of all Azure VM SKU’s as well having Infiniband networking.
I’ve been doing a lot of working lately with running Remote Desktop Service (RDS) in Azure and have been fairly frequent errors relating to Excel, one of the applications we are publishing. This error would manifest as an error when launching Excel which seemed to indicate that Excel had run out of memory or disk space.
After investigating memory and disk usage to no avail, all looked fine, I stumbled upon the answer, user profile disks.
The PowerShell DSC Package resource can be used to install (and uninstall) software from a machine using DSC. This is a great resource to get software installed, but it does have a slight complication, in that it requires a product ID for the package you are installing. It’s understandable why, it uses this to confirm that the particular version of the software is present, but it can be a pain to get this ID.
//Build (henceforth known as just Build) is Microsoft’s annual developer conference held last week in San Francisco. As you might expect there were a large amount of announcements, including a lot of Azure ones. Many of the Azure ones where IoT and Analytics focused but there were quite a few IaaS announcements that I am going to summarise here. I’m sure I have missed some, and I won’t go into great detail here, expect upcoming posts on some of these areas.
It’s quite a common occurence in an Azure Resource Manager template to be creating a storage account and then need the key for that storage account later in the script. For example I have a template that creates a storage account, then a website and then adds an application setting to that website with a connection string for storage.
Previously to do this you could use the following syntax in an ARM template
Azure Resource Manager (ARM), the new V2 method for deploying Azure resources offers a new template based deployment method. Using JSON based templates it is quick and easy to build a repeatable deployment process. If you are just starting out with this new process then the resources below may help with your transition.
Azure Resource Manager Quick Start Templates https://github.com/Azure/azure-quickstart-templates
Microsoft has produced a huge range of pre-built templates using ARM that you can either deploy straight to Azure from the Github repository, or download and use as the basis for your own templates.
==Updated 24th Feb with more information==
When recently deploying a Remote Desktop environment into Azure with ARM and the DSC extension I encountered an issue when I got to calling the xRDSessionDeployment resource to create the new deployment. The deployment would be created OK, but this would then be followed by the machine rebooting 5-10 times before DSC finally generated an error and would not move on to the next task.
Azure Premium storage is a relatively new Azure feature that lets you replace your standard storage account with high performance, lower latency storage at an additional cost. Throughput of up to 200MB/s can be achieved with a single disk, and even more if multiple disks are combined on a single server.
This all sounds great, but users of Premium Storage may find themselves disappointing when first testing this hardware, and receive less than advertised performance.
Back in the days of cloud services every VM created got a set of default endpoints that let in traffic for RDP and Remoting on a random port, and if you wanted ingress on other ports you just created more endpoints. In the V2 world cloud services don’t exist, and endpoints are now primary configured as inbound NAT rules on a load balancer, with the default being no NAT rules. This is ultimately a much better and more secure way of doing it, however it did make it a pain when you needed to add one or more NAT rule for each VM in your deployment, especially when you had lots of VM’s.