使用 PowerShell 建立完整設定的虛擬機器
此指令碼會建立執行 Windows Server 2016 的 Azure 虛擬機器。 執行指令碼之後,您可以透過 RDP 存取虛擬機器。
此範例需要 Azure PowerShell Az 1.0 或更新版本。 執行 Get-Module -ListAvailable Az
可查看已安裝的版本。
如果您需要安裝,請參閱安裝 Azure PowerShell 模組。
執行 Connect-AzAccount 來登入 Azure。
如果您沒有 Azure 訂用帳戶,請在開始之前,先建立 Azure 免費帳戶。
範例指令碼
# Variables for common values
$resourceGroup = "myResourceGroup"
$location = "westeurope"
$vmName = "myVM"
# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create a subnet configuration
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24
# Create a virtual network
$vnet = New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $location `
-Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig
# Create a public IP address and specify a DNS name
$pip = New-AzPublicIpAddress -ResourceGroupName $resourceGroup -Location $location `
-Name "mypublicdns$(Get-Random)" -AllocationMethod Static -IdleTimeoutInMinutes 4
# Create an inbound network security group rule for port 3389
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP -Protocol Tcp `
-Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Allow
# Create a network security group
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location $location `
-Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP
# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzNetworkInterface -Name myNic -ResourceGroupName $resourceGroup -Location $location `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize Standard_D1 | `
Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred | `
Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig
清除部署
執行下列命令來移除資源群組、VM 和所有相關資源。
Remove-AzResourceGroup -Name myResourceGroup
指令碼說明
此指令碼會使用下列命令來建立部署。 下表中的每個項目都會連結至命令特定的文件。
Command | 注意 |
---|---|
New-AzResourceGroup | 建立用來存放所有資源的資源群組。 |
New-AzVirtualNetworkSubnetConfig | 建立子網路組態。 此組態可使用於虛擬網路建立程序。 |
New-AzVirtualNetwork | 建立虛擬網路。 |
New-AzPublicIpAddress | 建立公用 IP 位址。 |
New-AzNetworkSecurityRuleConfig | 建立網路安全性群組規則組態。 建立 NSG 時,此組態用來建立 NSG 規則。 |
New-AzNetworkSecurityGroup | 建立網路安全性群組。 |
Get-AzVirtualNetworkSubnetConfig | 取得子網路資訊。 建立網路介面時會使用此資訊。 |
New-AzNetworkInterface | 建立網路介面。 |
New-AzVMConfig | 建立 VM 組態。 此組態包括 VM 名稱、作業系統和系統管理認證等資訊。 建立 VM 時會使用此組態。 |
New-AzVM | 建立虛擬機器。 |
Remove-AzResourceGroup | 移除資源群組及其內含的所有資源。 |
後續步驟
如需有關 Azure PowerShell 模組的詳細資訊,請參閱 Azure PowerShell 文件。
您可以在 Azure Windows VM 文件中找到其他的虛擬機器 PowerShell 指令碼範例。