Install IIS on an Azure VM using PowerShell

This quick start article is useful (https://docs.microsoft.com/en-us/azure/virtual-machines/windows/quick-create-powershell) but if you just want a super quick way to get an Azure VM with a IIS web server up without having to remote into the server etc. and input anything into the terminal - just run the script below in a powershell terminal or on the Azure cloud shell.


Script

#Part 1 - Set up credentials

$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString "NotARealPassword!@#$%433" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);


#Part 2 - create RG and VM

New-AzResourceGroup -Name todeleteRG -Location EastUS

New-AzVm `
    -ResourceGroupName "todeleteRG" `
    -Name "todeleteVM" `
    -Location "East US" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress" `
    -Credential $Credential `
    -OpenPorts 80, 443

        

#Part 3 - Install IIS and add default page with computer name
Set-AzVMExtension -ResourceGroupName "todeleteRG"`
    -ExtensionName "IIS" `
    -VMName "todeleteVM" `
    -Location "East US" `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.8 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'



Explanation

Part 1 will create a credential object with user name and password 
Part 2 will actually create the VM.
Part 3 installs IIS with a dummy page that just displays the computername.

Verify it works.


If you navigate to the IP address of the VM you've just created (can find this either on the Azure portal or just using Powershell), it should display the computer name


Clean up


remove-azresourcegroup -name "todeleteRG" -force


Where to find the code


























Comments