当前位置: 首页 > Microsoft Azure > 正文

使用Azure PowerShell创建与管理Windows虚拟机

Azure PowerShell是微软开发的并用于从 PowerShell 命令行或脚本创建和管理 Azure 资源。今天主要为大家演示如何使用PowerShell创建运行Windows Server的Azure虚拟机。 部署完成后,连接到服务器并安装IIS,并验证是否可以正常访问。

在使用Azure PowerShell之前,请先确保在您的设备上已经安装有Azure PowerShell模块。

clip_image002

Get-Module -ListAvailable | Where-Object { $_.name -like “*Azure*” }

clip_image004

使用Login-AzureRmAccount命令登录到Azure订阅,并按照屏幕上的说明进行操作。登陆Microsoft Azure China需要使用如下命令登陆

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

clip_image006

clip_image008

使用如下脚本创建资源组

New-AzureRmResourceGroup -Name 365vCloudGroup -Location chinanorth

clip_image010

使用如下脚本定义网络资源

$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name 365vCloudSubnet -AddressPrefix 192.168.1.0/24

使用如下脚本定义虚拟网络

$vnet = New-AzureRmVirtualNetwork -ResourceGroupName 365vCloudGroup -Location chinanorth `

-Name 365vCloudvNet -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig

使用如下脚本创建公共IP、DNS服务

备注:如果您执行命令时出现以下错误时,说明当前尚未在Azure中注册相关服务

clip_image012

在当前Azure订阅中,选择资源提供程序,然后注册Microsoft.Insights

clip_image014

clip_image016

使用如下命令创建网络安全组-入站规则。在本例中,将为端口3389创建一个入站规则,该规则允许传入的远程桌面连接

$nsgRuleRDP = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP -Protocol Tcp -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow

创建端口为80创建入站规则,以允许传入Web流量

$nsgRuleWeb = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleWWW -Protocol Tcp -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 80 -Access Allow

使用如下命令创建网络安全组

$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName 365vCloudGroup -Location chinanorth -Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP

clip_image018

使用如下命令创建网卡,并连接到子网、网络安全组和公共IP

$nic = New-AzureRmNetworkInterface -Name myNic -ResourceGroupName 365vCloudGroup -Location chinanorth -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id

使用如下命令创建虚拟机用户名和密码

$cred = Get-Credential

clip_image020

使用如下命令创建虚拟机配置。此配置包括部署虚拟机时使用的设置,例如虚拟机映像、大小和身份验证配置

$vmConfig = New-AzureRmVMConfig -VMName 365testVM -VMSize Standard_DS2 | Set-AzureRmVMOperatingSystem -Windows -ComputerName 365testVM -Credential $cred | Set-AzureRmVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest | Add-AzureRmVMNetworkInterface -Id $nic.Id

使用如下命令创建虚拟机

New-AzureRmVM -ResourceGroupName 365vCloudGroup -Location chinanorth -VM $vmConfig

clip_image022

使用如下命令查看Azure虚拟机是否创建成功

Get-AzureRmVM

clip_image024

使用浏览器登陆Azure门户网站 https://portal.azure.cn

查看使用Azure PowerShell创建的Azure 虚拟机

clip_image026

运行以下命令,以返回虚拟机的公共 IP 地址。 需记下此IP地址,以便在后续步骤中使用浏览器连接到它测试Web连接。

Get-AzureRmPublicIpAddress -ResourceGroupName 365vCloudGroup | Select IpAddress

clip_image028

使用以下命令创建与虚拟机的远程桌面会话。出现提示时,输入创建虚拟机时使用的凭据。

mstsc /v:40.125.207.4

clip_image030

使用PowerShell安装IIS

Install-WindowsFeature -name Web-Server -IncludeManagementTools

使用浏览器访问http://40.125.207.4/

clip_image032

使用 PowerShell在Azure商店中搜索搜索虚拟机映像文件

Get-AzureRmVMImageSku -Location “chinanorth” -PublisherName “OpenLogic” -Offer “CentOS”

clip_image034

Get-AzureRmVMImageSku -Location “chinanorth” -PublisherName “MicrosoftWindowsServer” -Offer “WindowsServer”

clip_image036

查看Azure中可用的虚拟机实例大小

Get-AzureRmVMSize -Location chinanorth

clip_image038

使用以下命令调整虚拟机大小

调整VM大小之前,请检查所需的大小在当前VM群集上是否有可升级的配置大小VM

Get-AzureRmVMSize -ResourceGroupName 365vCloudGroup -VMName 365testVM

clip_image040

我们升级到DS4

$vm = Get-AzureRmVM -ResourceGroupName 365vCloudGroup -VMName 365testVM

$vm.HardwareProfile.VmSize = “Standard_DS4”

Update-AzureRmVM -VM $vm -ResourceGroupName 365vCloudGroup

由于我是测试账户,有资源的限制所以无法正常升级

clip_image042

检索特定VM的运行状态

Get-AzureRmVM -ResourceGroupName 365vCloudGroup -Name 365testVM -Status | Select @{n=”Status”; e={$_.Statuses[1].Code}}

在Azure中,虚拟机运行状态主要有以下几种

正在启动 指示正在启动虚拟机
正在运行 指示虚拟机正在运行
正在停止 指示正在停止虚拟机
已停止 指示虚拟机已停止。 备注:虚拟机处于停止状态时仍会产生计算费用
正在解除分配 指示正在解除分配虚拟机
已解除分配 指示虚拟机已从虚拟机监控程序中完全删除,但仍可在控制面板中使用。 处于“已解除分配”状态的虚拟机不会产生计算费用
指示虚拟机的电源状态未知

clip_image044

使用 Stop-AzureRmVM 停止并解除分配虚拟机

Stop-AzureRmVM -ResourceGroupName 365vCloudGroup -Name “365testVM” -Force

clip_image046

clip_image048

clip_image050

若要让虚拟机保持已预配状态,请使用 -StayProvisioned 参数

重新启动虚拟机

Start-AzureRmVM -ResourceGroupName 365vCloudGroup -Name 365testVM

clip_image052

clip_image054

clip_image056

删除资源组。删除资源组会删除其包含的所有资源,包括VM、NIC、vNet等

Remove-AzureRmResourceGroup -Name 365vCloudGroup -Force

clip_image058

clip_image060

 

常用Azure脚本 – 副本.ps1

本文固定链接: http://365vcloud.net/2017/08/01/creating-and-managing-virtual-machines-using-azure-powershell/ | Eric的学习之路

该日志由 TingXu 于2017年08月01日发表在 Microsoft Azure 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 使用Azure PowerShell创建与管理Windows虚拟机 | Eric的学习之路
关键字: