About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
powershell_heavy
⚠️
windows_first
⚠️
missing_linux_example
⚠️
windows_tools
Summary:
The documentation is heavily biased towards Windows and PowerShell. All examples use Azure PowerShell cmdlets, and there are no CLI, Bash, or Linux-native instructions. Virtual machines are provisioned with Windows Server images only, and IIS (a Windows web server) is installed using Windows-specific commands. The test steps reference Internet Explorer, a Windows-only browser, and there is no mention of Linux VMs, Apache/Nginx, or cross-platform alternatives.
Recommendations:
- Provide parallel Azure CLI (az) or Bash examples for all resource creation and management steps.
- Include instructions for creating Linux virtual machines (e.g., Ubuntu) in addition to Windows Server VMs.
- Demonstrate installation of a Linux web server (such as Apache or Nginx) using cloud-init or custom script extensions for Linux.
- In testing steps, reference cross-platform browsers (e.g., Edge, Chrome, Firefox) and avoid Windows-only tools like Internet Explorer.
- Clearly indicate at the top that the guide is Windows/PowerShell-specific, and link to equivalent Linux/CLI quickstarts if available.
- Where possible, use neutral terminology and tools that work across platforms, or provide both Windows and Linux alternatives side by side.
Create pull request
Flagged Code Snippets
[!INCLUDE [ephemeral-ip-note.md](~/reusable-content/ce-skilling/azure/includes/ephemeral-ip-note.md)]
## Create the test virtual machine
Create the virtual machine with:
* [New-AzNetworkInterface](/powershell/module/az.network/new-aznetworkinterface)
* [New-AzVM](/powershell/module/az.compute/new-azvm)
* [New-AzVMConfig](/powershell/module/az.compute/new-azvmconfig)
* [Set-AzVMOperatingSystem](/powershell/module/az.compute/set-azvmoperatingsystem)
* [Set-AzVMSourceImage](/powershell/module/az.compute/set-azvmsourceimage)
* [Add-AzVMNetworkInterface](/powershell/module/az.compute/add-azvmnetworkinterface)
The extensions are deployed as PowerShell jobs. To view the status of the installation jobs, use [Get-Job](/powershell/module/microsoft.powershell.core/get-job):
> [!IMPORTANT]
> Ensure the custom script extension deployments have completed from the previous steps before proceeding. Use `Get-Job` to check the status of the deployment jobs.
## Test the load balancer
1. [Sign in](https://portal.azure.com) to the Azure portal.
1. Find the private IP address for the load balancer on the **Overview** screen. Select **All services** in the left-hand menu, select **All resources**, and then select **myLoadBalancer**.
2. Make note or copy the address next to **Private IP Address** in the **Overview** of **myLoadBalancer**.
3. Select **All services** in the left-hand menu, select **All resources**, and then from the resources list, select **myTestVM** that is located in the **CreateIntLBQS-rg** resource group.
4. On the **Overview** page, select **Connect**, then **Bastion**.
6. Enter the username and password entered during VM creation.
7. Open **Internet Explorer** on **myTestVM**.
8. Enter the IP address from the previous step into the address bar of the browser. The default page of IIS Web server is displayed on the browser.
To see the load balancer distribute traffic across all three VMs, you can customize the default page of each VM's IIS Web server and then force-refresh your web browser from the client machine.
## Clean up resources
When no longer needed, you can use the [Remove-AzResourceGroup](/powershell/module/az.resources/remove-azresourcegroup) command to remove the resource group, load balancer, and the remaining resources.