适用于: ✔️ Windows ✔️ 灵活规模集 ✔️ 统一规模集
若要快速且一致地配置虚拟机(VM),可以使用适用于 Windows 的自定义脚本扩展。 在本教程中,您将学习如何:
- 使用自定义脚本扩展安装 IIS。
- 创建使用自定义脚本扩展的 VM。
- 应用扩展后,查看正在运行的 IIS 站点。
启动 Azure 本地 PowerShell
打开 Azure Powershell 控制台,并使用管理员特权运行以下脚本。
自定义脚本扩展概述
自定义脚本扩展在 Azure VM 上下载和执行脚本。 此扩展适用于部署后配置、软件安装或任何其他配置或管理任务。 可以从Azure存储或GitHub下载脚本,也可以在扩展运行时向Azure门户提供脚本。
自定义脚本扩展与Azure 资源管理器模板集成,可以使用 Azure CLI、PowerShell、Azure 门户或Azure虚拟机 REST API 运行。
可以将自定义脚本扩展用于 Linux 和 Windows VM。
创建虚拟机
使用 Get-Credential 为 VM 设置管理员用户名和密码:
Connect-AzAccount -Environment AzureChinaCloud
$cred = Get-Credential
现在可以使用 New-AzVM 创建 VM。 以下示例在 ChinaEast2 位置创建名为 myVM 的 VM。 如果它们尚不存在,则会创建资源组 myResourceGroupAutomate 和支持的网络资源。 为了允许 Web 流量,该 cmdlet 还会打开端口 80。
New-AzVm `
-ResourceGroupName "myResourceGroupAutomate" `
-Name "myVM" `
-Location "China East 2" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress" `
-OpenPorts 80 `
-Credential $cred
创建资源和 VM 需要几分钟时间。
自动安装 IIS
使用 Set-AzVMExtension 安装自定义脚本扩展。 该扩展运行 powershell Add-WindowsFeature Web-Server 以安装 IIS Web 服务器,然后更新 Default.htm 页以显示 VM 的主机名:
Set-AzVMExtension -ResourceGroupName "myResourceGroupAutomate" `
-ExtensionName "IIS" `
-VMName "myVM" `
-Location "ChinaEast2" `
-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)"}'
测试网站
使用 Get-AzPublicIPAddress 获取负载均衡器的公共 IP 地址。 以下示例获取前面创建的 IP 地址 myPublicIPAddress :
Get-AzPublicIPAddress `
-ResourceGroupName "myResourceGroupAutomate" `
-Name "myPublicIPAddress" | select IpAddress
然后,可以在 Web 浏览器中输入公共 IP 地址。 将显示该网站,包括负载均衡器将流量分发到的 VM 的主机名,如以下示例所示:
后续步骤
在本教程中,将在 VM 上自动安装 IIS。 你已了解如何执行以下操作:
- 使用自定义脚本扩展安装 IIS。
- 创建使用自定义脚本扩展的 VM。
- 应用扩展后,查看正在运行的 IIS 站点。
转到下一教程,了解如何创建自定义 VM 映像。