# Code is a highway > Thoughts, stories and ideas. Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [About this site](https://codeisahighway.com/about-2.md) - Code Is A Highway is an independent publication launched in July 2023 by Temp admin. If you subscribe today, you'll get full access to the website as well as email newsletters about new content when it's available. Your subscription makes this site possible, and allows Code Is A Highway to continue… - [About this site](https://codeisahighway.com/about.md) - Code is a highway is an independent publication launched in September 2026 by Stephane Lapointe. If you subscribe today, you'll get full access to the website as well as email newsletters about new content when it's available. Your subscription makes this site possible, and allows Code is a highway… ## Posts - [Exploring Azure Management APIs with az rest and az resource](https://codeisahighway.com/exploring-azure-management-apis-with-az-rest-and-az-resource.md) - For years, the resources.azure.com website provided a convenient way to explore and interact with Azure resources through raw HTTP calls to the Azure Management APIs. It was particularly useful for performing custom REST operations directly against Azure resources. Sadly, this tool has been retired… - [Automating the extraction of Azure Regions resiliency information](https://codeisahighway.com/automating-the-extraction-of-azure-regions-resiliency-information.md) - Azure paired regions and zone compatible regions are fundamental for ensuring redundancy and high availability of your applications in the cloud. Understanding the geography, physical regions, and their pairings can help you make informed decisions when architecting solutions on Azure. In this guid… - [TIFU by Forgetting to Turn Off Microsoft Defender for Storage During a Massive Data Migration](https://codeisahighway.com/tifu-by-forgetting-to-turn-off-microsoft-defender-for-storage-during-a-massive-data-migration.md) - Not long ago, I experienced a classic "Today I Fucked Up" moment while working on a data migration at work. We needed to sync data between Azure storage accounts to set up infrastructure in a new region. Source accounts were cluttered with good and stale data, in the case of the latest, accumulated… - [How to delete an Azure storage account with an unlocked Immutability policy](https://codeisahighway.com/how-to-delete-an-azure-storage-account-with-an-unlocked-immutability-policy.md) - Recently, I encountered a situation with Azure Storage. We were playing with immutability policy in a storage account in a test environment. We've set a policy for tests, we did what we wanted to do, when the time came to delete the environment, I hit a roadblock. Locked by an immutability policy T… - [Suggestion: Read GSoft journey tech blog](https://codeisahighway.com/suggestion-read-gsoft-journey-tech-blog.md) - The articles you find here are more around technical guidance, how-to's and errors I encountered throughout the year. It's only been recent for me to write up about decisions & what happens at work. GSoft's tech blog Some of my colleagues and I have been writing articles to discuss our journey at G… - [How to dynamically set last month date range in KQL query and Log Analytics](https://codeisahighway.com/how-to-dynamically-set-last-month-date-range-in-kql-query-and-log-analytics.md) - I wanted to improve an audit query we are running every month because I hate doing things manually over and over again. Before today, we were setting the date range for the previous month manually and I was searching a way to automate this instead. I found a way... Manually setting query date range… - [Looking for activities triggered only by humans in Azure Activities in Kusto or Log Analytics](https://codeisahighway.com/looking-for-activities-triggered-only-by-humans-in-azure-activities-in-kusto-or-log-analytics.md) - We wanted to know which actions where done by a human and not a service principal when looking at Azure Activities in Log Analytics queries. We thought of a nice quick way to do it! Email vs GUID Our assumption is that all humans that trigger something in Azure will have an email instead of a guid… - [List all subscriptions under a management group with Azure Resource Graph](https://codeisahighway.com/list-all-subscriptions-under-a-management-group-with-azure-resource-graph.md) - It is not a secret anymore that I really like Azure Resource Graph. Today I wanted to list all the subscriptions under a management group and had to adjust because I was leveraging hidden tags before on subscriptions. This data is now gone in ARG, let see how I now do it. Meet managementGroupAncest… - [Workaround for error 'utf-8' codec can't decode byte 0x82 using Azure CLI deployment and Bicep](https://codeisahighway.com/workaround-for-error-utf-8-codec-cant-decode-byte-0x82-using-azure-cli-deployment-and-bicep.md) - We migrated most of our automation from ARM Templates to Bicep in the recent months and things have been good so far. We ran into an issue deploying a bicep file containing French characters using Azure CLI. The message was: 'utf-8' codec can't decode byte 0x82 in position 1197: invalid start byte… - [Effective ways to delete resources in a resource group on Azure in 2021](https://codeisahighway.com/effective-ways-to-delete-resources-in-a-resource-group-on-azure-in-2021.md) - In Azure, resource groups are very helpful to logically hold together a set of resources. For many reasons, at some point, you'll want to get rid of these resources but how can you achieve this and what are the pros and cons of each? This is an actualized version of my popular post: Effective ways… - [Stop wasting money in Azure - ShareGate webinar](https://codeisahighway.com/stop-wasting-money-in-azure-sharegate-webinar.md) - One of the main issues facing IT management in 2020 is uncontrolled cloud spending. Learn how to gain the visibility and insights you need to take control of your cloud environment, and implement a team-wide Azure cost management strategy. - [My ScriptCenter's Azure scripts has moved to Github](https://codeisahighway.com/my-scriptcenters-azure-scripts-has-moved-to-github.md) - Over the years I posted a few scripts that have been useful for me in Azure on ScriptCenter. Time has come to move them on a newer platform since ScriptCenter is now obsolete and is retiring. Bye Bye ScriptCenter ScriptCenter will continue to operate in read-only mode, no new contributions but exis… - [How-to use customer-managed keys with Azure Key Vault and Azure Storage encryption using ARM Template](https://codeisahighway.com/how-to-use-customer-managed-keys-with-azure-key-vault-and-azure-storage-encryption-using-arm-template.md) - I got a question from a reader asking how to use the Managed Identity of a storage account against Azure Key Vault to enable storage encryption using customer-managed keys. The documentation doesn't say storage accounts can have an identity. Testing a solution made me realize I was wrong, today I l… - [How to incrementally update KeyVault access policies with ARM templates](https://codeisahighway.com/how-to-incrementally-update-keyvault-access-policies-with-arm-templates.md) - I was recently asked how to give access to an existing KeyVault to a managed identity that already have access policies configured. It's not a secret but not all know about this little trick that will enable you to incrementally process permissions to KeyVault over time using ARM templates. Genesis… - [2020-05-07: ShareGate Deploy Azure online event](https://codeisahighway.com/2020-05-07-sharegate-deploy-azure-online-event.md) - Before COVID-19 started to force a global shutdown everywhere, we were already thinking about this event. The long term goal? Help cloud engineers being more successful with Microsoft Azure. ShareGate Deploy is a free event, one of the several to come onto this journey! A full day focused on Micros… - [Azure Policy essentials webinar resources](https://codeisahighway.com/azure-policy-essentials-webinar-resources.md) - I had the pleasure to co-host a webinar with Jussi Roine around Azure Policy and governance in Azure at the end of March 2020 for ShareGate. It was a good event and we had a lot of registrations but if you missed it, or would like a chance to listen to it again or get the highlights of this event,… - [There is a new way to reference managed identity in ARM template](https://codeisahighway.com/there-is-a-new-way-to-reference-managed-identity-in-arm-template.md) - I have been using managed identity (aka Managed Service Identity - MSI) in Azure for several years now. It's a best practice and a very convenient way to assign an identity (Service Principal) to an Azure resource. A new way to reference managed identities in ARM templates has been introduced recen… - [Speaking at Microsoft Ignite about our journey to the cloud](https://codeisahighway.com/speaking-at-microsoft-ignite-about-our-journey-to-the-cloud.md) - Staying on top of your consumption brings great benefits as it is an important aspect of a healthy governance plan. Learn how to determine if you misuse your resources and how cost monitoring helps detect bugs and defects early, preventing cost bleeding. - [How to detect expiring certificates in Azure Application Gateway](https://codeisahighway.com/how-to-detect-expiring-certificates-in-azure-application-gateway.md) - We've been on a mission lately at work to find expiring credentials and certificates in our Azure environments. One of the resources we had on our radar is Azure Application Gateway. Here's what I did to solve this problem and to enable us to be more proactive. Updated: 2021-06-14 - Refreshed modul… - [Tenant and Subscription display names now available in Azure Resource Graph command lines](https://codeisahighway.com/tenant-and-subscription-display-names-now-available-in-azure-resource-graph-command-lines.md) - I love Azure Resource Graph but one of the things I deeply wanted since its launch is a native way to get the subscription or tenant names, not just the id. Good news! It's now possible if you use Azure CLI or Azure PowerShell. Prerequisites The following article has been tested with: * Azure CLI:… - [How to use Office 365 Exchange PowerShell module in Azure Automation](https://codeisahighway.com/how-to-use-office-365-exchange-powershell-module-in-azure-automation.md) - We had to do automation around Office 365 mailboxes a couple of days ago and struggled to do it. We looked around and found the solution in a sea of non working articles. Let this save you time if you want to do this yourself. Why running in Azure Automation Instead of executing a script in Windows… - [Native Azure REST API calls now available in Azure CLI 2.0.67+](https://codeisahighway.com/native-azure-rest-api-calls-now-available-in-azure-cli-2-0-67.md) - I wrote a few PowerShell functions a couple of years ago to build a bearer token out of an active session. I needed to make calls in scripts here and there and nothing native was available. This is now things of the past if you are open to use Azure CLI. There is finally something! Searching for a… - [How to audit Key Vault Access Policy using Azure Resource Graph](https://codeisahighway.com/how-to-audit-key-vault-accesspolicies-using-azure-resource-graph.md) - If you didn't know it yet, I am a big fan of Azure Resource Graph. It gives me the ability to quickly answer business inquiries / people showing at my desk with questions regarding Azure resources. I got one last week: "What is all the Key Vault where "UserX" has access". Seems complicated? Not at… - [Azure Resource Change History is here](https://codeisahighway.com/azure-resource-change-history-is-here.md) - I wrote not long ago about Azure Resource Graph and how it would change the way you script. It now enables us to track changes over time. Ever wanted to know what was the state of a resource 1 week before the laschange. It is now possible. Before the Change History era It was possible to keep track… - [How Azure Resource Graph is gonna change the way you search and script](https://codeisahighway.com/how-azure-resource-graph-is-gonna-change-the-way-you-search-and-script.md) - Azure Resource Graph has been announced a while ago (Ignite 2018) and I immediately understood this would be a game changer in terms of querying and data digging for the Azure resources I need to manage. What is Azure Resource Graph From the Microsoft documentation: Azure Resource Graph is a servic… - [How to audit expiring soon Azure AD application credentials (keys/passwords/certificates)](https://codeisahighway.com/how-to-audit-expiring-soon-azure-ad-application-credentials-keys-passwords-certificates.md) - How bad the feeling is when someone comes rush onto your desk because something in production stopped working overnight. This can happen if you don't take seriously the rollover of credentials for your Azure AD application. Be the hero here, be proactive instead of reactive! Context There is 2 type… - [Get Hygge with it – Your 5 Step Guide to ESPC18](https://codeisahighway.com/get-hygge-with-it-your-5-step-guide-to-espc18.md) - 1. PLAN YOUR SESSIONS Explore the ESPC18 SCHEDULE to identify what sessions you’d like to attend. Create your own schedule suited to you. If you are travelling with colleagues, divide and conquer by attending different sessions. Afterwards swap notes to increase your learning. Don’t have time to de… - [How to audit an Azure subscription Role Based Access Control (RBAC) assignments](https://codeisahighway.com/how-to-audit-an-azure-subscription-role-based-access-control-rbac-assignments.md) - In the last year it occurred several times that I needed to audit and validate Role Based Access Control (RBAC) assignments for an Azure subscription. Using what is available in the portal doesn't help much. You can view assignments in the portal but it is not exportable, neither you'll be able to… - [How to safely replace Find-AzureRmResource -ResourceType calls in Azure PowerShell 6.x+](https://codeisahighway.com/how-to-safely-replace-find-azurermresource-resourcetype-calls-in-azure-powershell-6-x.md) - UPDATE: 2018-06-28 - Added resourcegroup ODataFilter example. Starting with version 6.0 of Azure PowerShell, Find-AzureRmResource have been removed and Get-AzureRmResource is supposed to be the workaround. My first reflex was to just convert Find-AzureRmResource -ResourceType to Get-AzureRmResource… - [Prepare data disks for stability & consistency in Azure throughout virtual machines and scale sets lifecycle](https://codeisahighway.com/prepare-data-disks-for-stability-and-consistency-in-azure-throughout-virtual-machines-and-scale-sets-lifecycle.md) - When dealing with Windows virtual machines from the marketplace on Azure, sometimes a CD-ROM will temporarily be present in the first moments in the lifetime of a virtual machine or virtual machine scale set instances. Microsoft needs this drive to perform various actions like preparing and licensi… - [Gain better control over your Microsoft Azure costs and governance using Overcast](https://codeisahighway.com/gain-better-control-over-your-microsoft-azure-costs-and-governance-using-overcast.md) - True is to say that it's a hard job to stay on top and remain in control of cloud computing spending. There is a tool I recently used, it didn't only provide us with awesome visibility over our Azure spending but also recommendations to trim/eliminate waste spending. Let me introduce you Overcast.… - [Migrate your classic storage account to Azure Resource Manager using PowerShell Azure v5.0.x](https://codeisahighway.com/migrate-your-classic-storage-account-to-azure-resource-manager-using-powershell-azure-v5-0-x.md) - I've been working to convert a lot of classic resources on Azure lately, a lot of fun I assure you! Many of the scenarios I faced implied virtual machines & virtual networks but here I will present a simple case I did recently, migration of a simple Classic storage used for blobs, tables & queues.… - [List all App Service web apps outbound IP addresses used in a subscription](https://codeisahighway.com/list-all-app-service-web-apps-outbound-ip-addresses-used-in-a-subscription.md) - If you want to perform IP whitelisting against an App Service, you'll discover that on public instances of App Service (not App Service Environment) you have 4 or more outbound IP addresses. I was in a situation where I needed to get all outbound IP addresses over multiple subscriptions for IP whit… - [MSDEVMTL - Azure : Let’s talk Hybrid Cloud with Clemens Vasters](https://codeisahighway.com/msdevmtl-azure-lets-talk-hybrid-cloud-with-clemens-vasters.md) - The summer is mostly here, and that usually mean a break for the community group, but the MSDEVMTL Azure Group still have one more surprise for you. When: Friday morning on June 9th 2017 Speaker: Clemens Vasters Clemens is Microsoft's "Principal Messenger", driving global technical strategy for Mic… - [How to easily and silently obtain AccessToken (Bearer) from an existing Azure PowerShell session](https://codeisahighway.com/how-to-easily-and-silently-obtain-accesstoken-bearer-from-an-existing-azure-powershell-session.md) - More than often I need to call the Azure RM REST API to perform a variety of thing. Pretty much the only way you'll find to do it on the Internet in PowerShell is to authenticate a second time against the REST API to obtain a bearer token. I always thought that there must be another way because of… - [Azure automation runbook invocation error when declaring array, Unable to cast object of type... to System.Object[]](https://codeisahighway.com/azure-automation-runbook-invocation-error-when-declaring-array-unable-to-cast-object-of-type-to-system-object-array.md) - Today I was implementing a snapshot/restore mechanism for virtual machines with the help of Azure Automation. After importing my script in Azure Automation, I encountered an error while invoking it. The message was: Unable to cast object of type 'System.String' to type 'System.Object[]'. The proble… - [How to easily deploy Azure Hybrid Use Benefit (BYOL) virtual machines from marketplace images and Azure Resource Manager Template](https://codeisahighway.com/how-to-easily-deploy-bring-your-own-license-byol-virtual-machines-from-marketplace-images-and-azure-resource-manager-template.md) - Not so long ago it was possible (but painful) to deploy Windows Server virtual machines with the Azure Hybrid Use Benefit. I am glad to let you know that it's not a pain anymore! Let me walk you through how to do this in way fewer steps and using only Azure Resource Manager templates and marketplac… - [Creating Azure Key Vault with logging using Azure Resource Manager ARM templates](https://codeisahighway.com/creating-azure-key-vault-with-logging-using-azure-resource-manager-arm-templates.md) - If you are looking to create an Azure Key Vault, have full visibility/traceability over who access it and what they did while preventing accidental deletes of your vault, you are at the right place. Let me show you how to achieve this using well-known best practices and patterns like template linki… - [Free Training! Azure Day is coming to Montreal January 17th 2017](https://codeisahighway.com/free-training-azure-day-is-coming-to-montreal-january-17th-2017.md) - Microsoft will hold a free full day of training around data and DevOps. Register soon as seats are limited! There is two tracks in the day: Data Cortana Intelligence – Internet of Things Lab Objective: Enable users with the ability to customize Azure IoT Suite solutions and their integrated compone… - [How to enable the public preview of IaaS backups with Recovery Services in Canada using PowerShell](https://codeisahighway.com/how-to-enable-backups-with-recovery-services-in-canada-in-powershell.md) - We have a lot of customers that want to use Canadian regions on Azure. Azure Recovery Services in Canada is not available in the portal as the moment of writing this article. A solution without a solid backup strategy is not really serious and cannot even be considered IMO. What can we do from here… - [Error when deploying App Service Plan using template, 'Required property 'name' not found in JSON. Path ''.'](https://codeisahighway.com/error-when-deploying-app-service-plan-using-template-required-property-name-not-found-in-json-path.md) - Just a quick article to save you the time it took me to realize what exactly was the problem in my template because the error message was not of much help here ;) I exported an Azure template from an existing resource group in the portal. The resulting template had a lot of resources and properties… - [Breaking change with Get-AzureRmStorageAccountKey in AzureRM.Storage v1.1.0 - AzureRM v1.4.0](https://codeisahighway.com/breaking-change-with-get-azurermstorageaccountkey-in-azurerm-storage-v1-1-0-azurerm-v1-4-0.md) - A nasty breaking change has slipped into version 1.1.0 of AzureRM.Storage which coincide with the release v1.4.0 of AzureRM module. If you use the return object of the Get-AzureRmStorageAccountKey command you are impacted. This is because the object that was coming out of Get-AzureRmStorageAccountK… - [HowTo: Purge an Azure CDN endpoint using Azure PowerShell v1.x](https://codeisahighway.com/howto-purge-an-azure-cdn-endpoint-using-azure-powershell-v1-x.md) - Not long ago, one of my colleagues asked me how he could automate the purge of an Azure CDN endpoint. I browsed around a bit with him and the only documentation we've found talked about calling the Azure CDN REST API, meaning acquiring a bearer token and all. I said to myself, there must be somethi… - [Azure DSC Extension error - A previous attempt to install Win8.1AndW2K12R2-KB3066437-x64.msu failed](https://codeisahighway.com/azure-vm-dsc-extension-error-a-previous-attempt-to-install-win8-1andw2k12r2-kb3066437-x64-msu-failed.md) - Sometimes you make stupid mistakes that cost you a lot of time and today was a day like this. The context We wanted to use a fixed version of the Microsoft.Powershell.DSC VM extension for our Windows virtual machines in our ARM template. We were using version 2.8 of the extension and had enabled th… - [HowTo: Perform POST call to Azure REST API using Invoke-AzureRmResourceAction PowerShell command](https://codeisahighway.com/howto-perform-post-call-to-azure-rest-api-using-invoke-azurermresourceaction-powershell-command.md) - Not long ago, one of my colleagues asked me how we could automate an action that was not quite available in the Azure PowerShell cmdlets. Sure we can use Azure REST API, meaning acquiring a bearer token and all, but if I have the choice, I prefer to stay away from this. I'll show you how to perform… - [Global Azure Bootcamp 2016 - Montreal (Samedi 16 avril 2016)](https://codeisahighway.com/global-azure-bootcamp-2016-montreal-samedi-16-avril-2016.md) - Cette année encore, on remet ça pour le Global Azure BootCamp à Montréal et toute la journée sera consacré à Service Fabric! Quand et où? Samedi 16 Avril 2016 9:00 à 16:00 Microsoft Montréal (5e) 2000 McGill College, 5e étage, Montréal, QC, Montréal, QC Global Azure Bootcamp 2016 Montréal Les micro… - [How to refer an Azure Key Vault secret in an Azure Resource Manager deployment template](https://codeisahighway.com/how-to-refer-an-azure-key-vault-secret-in-an-azure-resource-manager-deployment-template.md) - We live in a world where data and security is not to be taken lightly. Having to create or maintain a system that enable you to keep secrets and/or certificates safe is a challenge in itself. In this particular article we'll see how to refer and inject the value of a secret kept in Azure Key Vault… - [Effective ways to delete resources in a resource group on Azure](https://codeisahighway.com/effective-ways-to-delete-resources-in-a-resource-group-on-azure.md) - Under Azure Resource Manager, resource groups are very helpful to logically hold together a set of resources. For many reasons, at some point, you'll want to get rid of these resources but how can you achieve this and what are the pros and cons of each? You have basically three options depending on… - [WMF 5.0 (PowerShell 5.0) RTM is back and available!](https://codeisahighway.com/wmf-5-0-powershell-5-0-rtm-is-back-and-available.md) - After being temporarily removed in December 2015 due to a nasty bug that could resets your PowerShell module environment during installation, the Windows Management Framework 5.0 (PowerShell 5.0) installation have been fixed and it is now available for download. Today, we have republished the Windo… - [I am presenting: Deployment with Azure Resource Management templates and GIT on March 3rd 2016](https://codeisahighway.com/i-am-presenting-deployment-with-azure-resource-management-templates-and-git.md) - I am glad to present a session on March 3rd 2016 for MITPro (Montreal IT Professional Community) at the Delta Hotel in Montreal. Here is the detail of my session that start at 5h30PM: Deployment with Azure Resource Management templates and GIT Maximize current resources while improving your datacen… - [I am giving two Azure sessions at DevTeach Montreal DevCon 2016](https://codeisahighway.com/i-am-giving-two-azure-sessions-at-devteach-montreal-devcon-2016.md) - It's with great pleasure that I will present 2 sessions at DevTeach Montreal this year (2016) DevTeach Montreal DevCon July 4-8, 2016 http://www.devteach.com/ I will speak about ARM and automation on Azure (No surprises here!) Here is the detail of my sessions: Advanced Azure deployments using temp… - [Create an Azure Key Vault using an ARM template (api version 2015-06-01) and Azure PowerShell v1.0.4](https://codeisahighway.com/create-an-azure-key-vault-using-an-arm-template-api-version-2015-06-01-and-azure-powershell-v1-0-4.md) - We live in a world where data and security is not to be taken lightly. Having to create or maintain a system that enable you to keep secrets and/or certificates safe is a challenge in itself. In this particular article we'll see how to create an Azure Key Vault resource using the resource provider… - [Best practices: How to handle sensitive data in Azure Resource Manager templates using Key Vault](https://codeisahighway.com/best-practices-how-to-handle-sensitive-data-in-azure-resource-manager-templates-using-keyvault.md) - Have you ever wondered how you could land in the DevOps world of Config-as-Code without storing configuration secrets (e.g. passwords) as plain text in source control? In this series of articles you'll learn how you can work with Azure Resource Manager (ARM) templates and Key Vault to protect your… - [How to use ARM Explorer to capture your own custom virtual machine image under Azure Resource Manager](https://codeisahighway.com/how-to-use-arm-explorer-to-capture-your-own-custom-virtual-machine-image-under-azure-resource-manager.md) - You have a v2 Azure Virtual Machine that has been generalized and are ready to capture it using ARM Explorer? All right, buckle your seat belt and follow this guide, at the end you should have your captured VHD in your storage account. This post assume you already have a virtual machine on Azure th… - [How to get the status of a Virtual Machine under the v2 compute model in Azure PowerShell v1.0.x](https://codeisahighway.com/how-to-get-the-status-of-a-virtual-machine-under-the-v2-compute-model-in-azure-powershell-v1-0.md) - Getting the status of a virtual machine is really handy because once you have that information you can then take decisions and perform several actions on your virtual machines like starting it, stopping it, etc. List all virtual machines in a subscription To list all the virtual machines in a speci… - [How to create a virtual machine from a custom image using ARM and Azure PowerShell v1.0.x](https://codeisahighway.com/how-to-create-a-virtual-machine-from-a-custom-image-using-arm-and-azure-powershell-v1-0-x.md) - You love PowerShell, have a custom VM image (specialized or generalized) and you want to create a new virtual machine from it under Azure Resource Manager API? You're at the right place... Prerequisites * Microsoft Azure PowerShell v1.0.2 or later, I used 1.0.4 * A custom VM image captured using th… - [How to use Azure PowerShell v1.0.x to capture your own custom virtual machine image under Azure Resource Manager](https://codeisahighway.com/how-to-use-azure-powershell-v1-0-x-to-capture-your-own-custom-virtual-machine-image-under-azure-resource-manager.md) - You have a v2 Azure Virtual Machine that has been generalized and are ready to capture it using Azure PowerShell v1.0.x? All right, buckle your seat belt and follow this guide, at the end you should have your captured VHD in your storage account. This post assume you already have a virtual machine… - [How to use Azure PowerShell v0.9.x to capture your own custom virtual machine image under Azure Resource Manager](https://codeisahighway.com/how-to-use-azure-powershell-v0-9-xxx-to-capture-your-own-custom-virtual-machine-image-under-azure-resource-manager.md) - You have a v2 Azure Virtual Machine that has been generalized and are ready to capture it using Azure PowerShell v0.9.x? All right, buckle your seat belt and follow this guide, at the end you should have your captured VHD in your storage account. This post assume you already have a virtual machine… - [Step by Step: How to capture your own custom virtual machine image under Azure Resource Manager](https://codeisahighway.com/how-to-capture-your-own-custom-virtual-machine-image-under-azure-resource-manager-api.md) - The IaaS v2 resource providers (Microsoft.Compute, Microsoft.Network & Microsoft.Storage) have been around for several months now and you may have wondered how to use your own custom images for creating virtual machines instead of one offered in the gallery. Let me show you how you can achieve this… - [Use uniqueString() function to generate unique names for resources in ARM template](https://codeisahighway.com/use-uniquestring-function-to-generate-unique-names-for-resources-in-arm-template.md) - When playing with ARM templates in a team, you need a way to come up with unique names for your DNS dependent resources on Azure like storage accounts and public IPs. There is a function that has been released recently that will help you a lot with this need, the uniqueString() function. Unique but… - [Understanding performance requirement and best practices with Azure Premium Storage](https://codeisahighway.com/understanding-performance-requirement-and-best-practices-with-azure-premium-storage.md) - In our modern world, IOPS, throughput and latency are key indicators when it comes to performance requirements of computers / Virtual Machines. I came across some really good best practices articles about how to identify and quantify your performance requirements for standard VM scenarios but also… - [How to troubleshoot Ghost installations & upgrades on Azure](https://codeisahighway.com/how-to-troubleshoot-ghost-installations-and-upgrades-on-azure.md) - I recently upgraded a Ghost site from a quite old version to a new one and like we often see it in a deployment... it did not went as expected. Let me tell you what I did to solve the problem so that it may save you some time if you encounter hat kind of problems with your Ghost deployment on Azure… - [ArtifactNotFound: References to Microsoft.Powershell DSC extension prior to v2.4 are broken and how to fix it](https://codeisahighway.com/artifactnotfound-references-to-microsoft-powershell-dsc-extension-prior-to-v2-4-are-broken-and-how-to-fix-it.md) - If you are experiencing this error: "Extension with publisher 'Microsoft.Powershell', type 'DSC', and type handler version 'x.x' could not be found in the extension repository" it is because Microsoft just pulled the cord on PowerShell DSC extension v1.x up to v2.3 a couple of days ago. And the rea… - [PowerShell 1.0.0-Preview is here... Switch-AzureMode is dead, at last!](https://codeisahighway.com/powershell-1-0-0-preview-is-here-switch-azuremode-is-dead-at-last.md) - Azure PowerShell 1.0.0-preview is now available. It is in this version that the trigger is being pulled on Switch-AzureMode. Pow! Terminated! Gone!! Starting in version 1.0.0 both ASM and ARM PowerShell modules are able to coexists, but it also introduce breaking changes if you were already using A… - [I received a 2015 Microsoft Azure MVP Award](https://codeisahighway.com/i-received-a-2015-microsoft-azure-mvp-award.md) - It is with an immense pleasure that I got an email on October 1st 2015... The title was saying: Congratulations 2015 Microsoft MVP!‏, and inside: Dear Stephane Lapointe, Congratulations! We are pleased to present you with the 2015 Microsoft® MVP Award! This award is given to exceptional technical c… - [We are hosting a viewing party in Montreal for AzureCon 2015](https://codeisahighway.com/hosting-a-viewing-party-in-montreal-for-azurecon-2015.md) - By now, you sure have heard of the AzureCon virtual conference at the end of September, the 29th to be precise. I have the pleasure to hold a viewing party with other Azure passionate people and some MVPs in Microsoft Canada's office in Montreal. Do you want to live this live instead of being alone… - [How to create a virtual machine from a custom image using an ARM template](https://codeisahighway.com/how-to-create-a-virtual-machine-from-a-custom-image-using-an-arm-template.md) - Wish you could deploy your own virtual machines from a custom image (specialized or generalized) using an Azure Resource Manager template? He're is how to do it... Prerequisites * A custom VM image captured using the Azure Resource Manager API (more detail just below) Things to know before you get… - [How to create a virtual machine from a custom image using ARM and Azure PowerShell v0.9.x](https://codeisahighway.com/how-to-create-a-virtual-machine-from-a-custom-image-using-arm-api-and-powershell.md) - You love PowerShell, have a custom VM image (specialized or generalized) and you want to create a new virtual machine from it under Azure Resource Manager API? You're at the right place... Prerequisites * Microsoft Azure PowerShell v0.9.4 or later, I used 0.9.7 * A custom VM image captured using th… - [Speaker session: Azure Resource Manager templates: improve deployment time and reusability](https://codeisahighway.com/speaker-session-azure-resource-manager-templates-improve-deployment-time-and-reusability.md) - I am very proud that my session named: Azure Resource Manager templates: improve deployment time and reusability has been selected for the COLLAB365 event in October this year (2015) Drastically improve your deployment time when dealing with multiple Azure resources and reduce the amount of code yo… - [How to create Microsoft Azure 3D blueprints using the 3D Visio template](https://codeisahighway.com/how-to-create-microsoft-azure-3d-blueprints-using-the-3d-visio-template.md) - Ever saw those beautiful Azure 3D blueprints from Microsoft and wanted to know how to create some yourself? The good news is that everything you need is now available. We have been used to 2D diagrams and blueprints for several years. Icons and symbols change from time to time but nothing really ex… - [Groupe Azure: Développer des microservices avec Service Fabric](https://codeisahighway.com/groupe-azure-developper-des-microservices-avec-service-fabric.md) - J'aurai la chance de présenter le 1 décembre 2015 une soirée complète sur Service Fabric pour les membres de MSDEVMTL Voici le synopsis de la session en question: Une soirée complète sur Service Fabric! Nous débuterons par la base en explorant l'architecture de Service Fabric et les modèles de prog… - [You can now jump directly to some resources in Azure Resource Explorer from Azure preview portal](https://codeisahighway.com/you-can-now-jump-directly-to-some-resources-in-azure-resource-explorer-from-azure-preview-portal.md) - The preview portal is in constant improvement and Azure web app got a little one lately. The ability from an Azure web app to jump to this specific resource in Azure Resource Explorer. What is Azure Resource Explorer This tool was created by David Ebbo and a few folks at Microsoft. Taken from his b… - [Free Azure and .NET courses from Pluralsight for MSDN subscribers](https://codeisahighway.com/free-azure-and-dotnet-courses-from-pluralsight-for-msdn-subscribers.md) - In your never ending quest for improvement, you may ask yourself where to get courses and content to learn more and more. You can find plenty of content on the internet, but as a MSDN subscriber you can add Pluralsight on your list. As a MSDN subscriber you have access to a a variety of Azure and .… - [How to create and deploy a development machine on Azure using Azure Resource Manager template in Visual Studio](https://codeisahighway.com/how-to-create-and-deploy-a-development-machine-on-azure-using-azure-resource-manager-template-in-visual-studio.md) - Azure Resource manager have been around for a while now and it made provisioning quite easy and convenient. A couple of persons have asked me how to create and manage development machines when I speak about dev/tests environment in Azure, I'll explain you one way of doing this. If you follow this s… - [Set-AzureVMCustomScriptExtension: Multiple extensions per handler not supported](https://codeisahighway.com/set-azurevmcustomscriptextension-multiple-extensions-per-handler-not-supported.md) - The introduction of agents and extensions bring a lot of possibilities to virtual machines in Azure. The CustomScript extension let you run one or a set of scripts on a virtual machine. The usage is simple, you upload one or many scripts & their required files if any to Azure Storage, then you invo… - [How to get the current Azure subscription information every time you start a new PowerShell session](https://codeisahighway.com/how-to-get-the-current-azure-subscription-information-every-time-you-start-a-new-powershell-session.md) - If you're like me and you open many PowerShell windows to work on Azure, this tip is for you. Am I on the right Azure subscription? At work and at home, I have to deal with a lot of Azure subscriptions. I also use a lot of PowerShell windows to perform the tasks I have to and it can be easy to forg… - [Switch-AzureMode deprecation - Prepare yourself for the migration ahead](https://codeisahighway.com/switch-azuremode-deprecation-how-to-prepare-yourself-for-the-migration-ahead.md) - The signal of the transition between ASM (Azure Service Management) to ARM (Azure Resource Management) APIs have been given not long ago with the recent deprecation of the Switch-AzureMode cmdlet in v0.9.2 of the Azure PowerShell cmdlets. Switch-AzureMode is now deprecated in release v.0.9.2 This i… - [How to deploy the Cluster Monitor sample from Service Fabric samples](https://codeisahighway.com/how-to-deploy-the-clustermonitor-sample-from-service-fabric-samples.md) - If you followed Service Fabric a bit since it's announcement, you surely saw the Cluster Monitor in one or several public events. Beside being extremely fun to watch when your services are moving around the cluster or when a node is down for example, it gives you the ability to learn more about the… - [Switch-AzureMode is now deprecated in release v.0.9.2](https://codeisahighway.com/switch-azuremode-is-now-deprecated-in-release-v-0-9-2.md) - Version 0.8.0 introduced an aberration in the world of PowerShell modules in my opinion when they added the Switch-AzureMode cmdlet. The purpose of this cmdlet is to enable a switch between the Azure module and the AzureResourceManager module. In release 0.9.2 when you call Switch-AzureMode you get… - [How to get the status of an #Azure Virtual Machine under the v2 compute model in #PowerShell v0.9.x](https://codeisahighway.com/how-to-get-the-status-of-an-azure-virtual-machine-status-under-the-v2-compute-model-in-powershell.md) - Since version 0.8.0, the Azure PowerShell can target multiple APIs, included in 2 PowerShell modules. Even if the name of some cmdlets are the same, they greatly differ in their inputs and responses. First we have the older cmdlets, the PowerShell Azure Service Management Cmdlets and then we have t… - [Groupe ASP.NET/.NET: Retour sur //Build - La pratique](https://codeisahighway.com/groupe-asp-net-et-net-retour-sur-conference-build-la-pratique.md) - J'aurai le plaisir de donner une brève introduction à Service Fabric qui a été annoncé un peu avant le //Build il y a quelques semaines... Agenda Pour faire suite au meeting du retour sur la conférence //Build où Erik et Mario nous parlaient des nouveautés et des enjeux, nous vous proposons un meet… - [Configure Application Insights for your Ghost blog running node.js on Azure](https://codeisahighway.com/configure-application-insights-for-your-ghost-blog-running-node-js-on-azure.md) - Application Insights will work for sure with .Net applications, either web or console. But what about the open source stack? What about node.js? The good news is that you can use Application Insights in your node.js application. Why Application Insights? With telemetry you are able to see usage sta… - ["The remote server returned an error: (400) Bad Request. " when specifying ACL on an #Azure premium storage container](https://codeisahighway.com/the-remote-server-returned-an-error-400-bad-request-when-specifying-acl-on-an-azure-premium-storage-container.md) - updated: May 10th 2015 - Added SAS workaround I played quite a bit with Azure Premium storage accounts recently and I have to say that I welcome with arms wide open this new performance level. Especially for dev/test environments in Azure. Even if I deeply think that this is what we should have had… - [Bug: "Your Azure credentials have not been set up or have expired, please run Add-AzureAccount to set up your Azure credentials."](https://codeisahighway.com/your-azure-credentials-have-not-been-set-up-or-have-expired-please-run-add-azureaccount-to-set-up-your-azure-credentials.md) - I wanted to automate dev/test environments lately in Azure and I faced the following issue... Azure PowerShell cmdlets introduced in version 0.8.15 AzureProfile support: AzureProfile: New cmdlets to manage in-memory profiles * New-AzureProfile: Create a new in-memory Profile * Select-AzureProfile:… - [How to quickly retrieve your Azure subscription consumptions/limits (extended details) in PowerShell](https://codeisahighway.com/how-to-retrieve-your-azure-subscription-limits-extended-details-in-powershell.md) - Everytime that I needed to take a look at where I stand up from the limits of an Azure subscription I do the same thing... Open my web browser, go to the management portal and browse between my storage accounts, cloud services, etc... Here is a quick way in PowerShell to get that information withou… - [Improve your visibility by redirecting console output to disk for your service in Service Fabric](https://codeisahighway.com/improve-your-visibility-by-redirecting-console-output-to-disk-for-your-service-in-service-fabric.md) - Service Fabric have been announced recently and we all want to start playing with it. We often so that without going through the documentation. I don't know for you but I often do that ;) The first thing I can recommend you is to read... Read about it. There is a LOT of stuff to absorb in Service F… - [#Azure Service Fabric have been announced!](https://codeisahighway.com/azure-service-fabric-have-been-announced.md) - Mark Russinovich just announced Azure Service Fabric. I had the chance to play with it and it is really incredible. It is a real game changer for high-availability and high-density solutions. One of the problem right now on Azure is the density we achieve in PaaS, is not really optimal. Service Fab… - [Use CNAME to reach the staging slot in #Azure cloud services with a well known url](https://codeisahighway.com/use-cname-to-reach-the-staging-slot-in-azure-cloud-services-with-a-well-known-url.md) - If you already used the VIP swap functionality in a cloud service, you quickly noticed that for the production slot you have a deterministic url in the format {cloudservicename}.cloudapp.net. For the staging slot, that is something totally different. The problem: random generated name You end up wi… - [List or export to rdp #Azure Cloud Services instances and VM's IP addresses](https://codeisahighway.com/list-or-export-azure-cloud-services-instances-and-vms-ip-addresses-as-rdp-files.md) - To improve security with our solutions, we use VNets on all our Azure subscriptions and do not expose remote desktop port (3389) publicly. Since internal endpoints are only reachable within a Cloud Service, this reduce the possible surface of attack. Connect to Cloud Services instances / Virtual ma… - [Samedi ALM: Become a great scrum master, TFS 2013, DevOps et DevTest](https://codeisahighway.com/samedi-alm-become-a-great-scrum-master-tfs-2013-devops-et-devtest.md) - J'aurai le plaisir de présenter une session sur: L’expérience DEVTEST Synopsis: Chaque équipe de développement a besoin d’une infrastructure de développement en place pour concevoir, développer, tester et livrer leur logiciel. Sans cette infrastructure de dev et de test, l’équipe ne peut tout simpl… - [BUG: PowerShell workflow execution hang when using PSObject parameter in a new PowerShell session](https://codeisahighway.com/bug-powershell-workflow-execution-hang-when-using-psobject-parameter-in-a-new-powershell-session.md) - One upon a time... I was playing with PowerShell workflows to automate stuff in Azure. The scripts were doing what I wanted them to, but the day after I started to have problems when trying to execute them again. After an hour of trials and errors, I discovered that if I have a parameter type decla… - [Global Azure Bootcamp 2015 - Montreal (Samedi 25 avril 2015)](https://codeisahighway.com/global-azure-bootcamp-2015-montreal-samedi-25-avril-2015.md) - Samedi 25 April 2015 9:00 à 16:00 Microsoft Montréal (5e) 2000 McGill College, 5e étage, Montréal, QC, Montréal, QC (edit map) Une journée complète "hands-on" Azure sans aucune présentation. Gratuit pour les membres avec un membership en règle, 5$ pour les non membres. Seulement 40 places disponibl… - [Azure/Cloud design patterns: architecture guidance](https://codeisahighway.com/azure-cloud-design-patterns-and-architecture-guidance.md) - On-premise applications... You don't usually deal with connectivity issues It's relatively easy to create an application that can run on-premise where network connections never drops and resources are just a hop away. Creating an application is not easy but when you control all the elements on the… - [DevOps tool: PSReadLine and how to install it using PowerShell v5.0 and OneGet](https://codeisahighway.com/how-to-install-psreadline-using-powershell-v5-0-and-oneget.md) - What is PSReadLine It's someone at work that told me about PSReadLine. I just took me 5 minutes to realize that this module is a life changer for everyone doing serious PowerShell. Here is what is does This module replaces the command line editing experience in PowerShell.exe for versions 3 and up.… - [HTTP 503 error in Azure Worker/Web role when IP Address is not specified in IIS site binding](https://codeisahighway.com/http-503-error-in-azure-workerweb-role-when-ip-address-is-not-specified-in-iis-site-binding.md) - My load balancer probe isn't probing. Today I tried to define a custom load balancer probe on a worker role in Azure. On this worker role, IIS and other components were installed and configured using PowerShell scripts.