PowerShell を使用して、完全に構成された仮想マシンを作成するCreate a fully configured virtual machine with PowerShell

このスクリプトは、Windows Server 2016 を実行する Azure 仮想マシンを作成します。This script creates an Azure Virtual Machine running Windows Server 2016. スクリプトを実行すると、RDP 経由で仮想マシンにアクセスできるようになります。After running the script, you can access the virtual machine over RDP.

このサンプルには、Azure PowerShell Az 1.0 以降が必要です。This sample requires Azure PowerShell Az 1.0 or later. Get-Module -ListAvailable Az を実行して、インストールされているバージョンを確認します。Run Get-Module -ListAvailable Az to see which versions are installed. インストールする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。If you need to install, see Install Azure PowerShell module.

Connect-AzAccount を実行して Azure にサインインします。Run Connect-AzAccount to sign in to Azure.

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

サンプル スクリプトSample script

# 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

デプロイのクリーンアップClean up deployment

次のコマンドを実行して、リソース グループ、VM、すべての関連リソースを削除します。Run the following command to remove the resource group, VM, and all related resources.

Remove-AzResourceGroup -Name myResourceGroup

スクリプトの説明Script explanation

このスクリプトでは、以下のコマンドを実行してデプロイを作成します。This script uses the following commands to create the deployment. 表内の各項目は、コマンドごとのドキュメントにリンクされています。Each item in the table links to command specific documentation.

commandCommand メモNotes
New-AzResourceGroupNew-AzResourceGroup すべてのリソースを格納するリソース グループを作成します。Creates a resource group in which all resources are stored.
New-AzVirtualNetworkSubnetConfigNew-AzVirtualNetworkSubnetConfig サブネット構成を作成します。Creates a subnet configuration. この構成は、仮想ネットワークの作成プロセスで使用されます。This configuration is used with the virtual network creation process.
New-AzVirtualNetworkNew-AzVirtualNetwork 仮想ネットワークを作成します。Creates a virtual network.
New-AzPublicIpAddressNew-AzPublicIpAddress パブリック IP アドレスを作成します。Creates a public IP address.
New-AzNetworkSecurityRuleConfigNew-AzNetworkSecurityRuleConfig ネットワーク セキュリティ グループ規則の構成を作成します。Creates a network security group rule configuration. この構成は、NSG の作成時に NSG 規則を作成するために使用されます。This configuration is used to create an NSG rule when the NSG is created.
New-AzNetworkSecurityGroupNew-AzNetworkSecurityGroup ネットワーク セキュリティ グループを作成します。Creates a network security group.
Get-AzVirtualNetworkSubnetConfigGet-AzVirtualNetworkSubnetConfig サブネット情報を取得します。Gets subnet information. この情報は、ネットワーク インターフェイスを作成するときに使用されます。This information is used when creating a network interface.
New-AzNetworkInterfaceNew-AzNetworkInterface ネットワーク インターフェイスを作成します。Creates a network interface.
New-AzVMConfigNew-AzVMConfig VM 構成を作成します。Creates a VM configuration. この構成には、VM 名、オペレーティング システム、管理資格情報などの情報が含まれます。This configuration includes information such as VM name, operating system, and administrative credentials. この構成は、VM の作成時に使用されます。The configuration is used during VM creation.
New-AzVMNew-AzVM 仮想マシンを作成します。Create a virtual machine.
Remove-AzResourceGroupRemove-AzResourceGroup リソース グループと、それに含まれているすべてのリソースを削除します。Removes a resource group and all resources contained within.

次のステップNext steps

Azure PowerShell モジュールの詳細については、Azure PowerShell のドキュメントを参照してください。For more information on the Azure PowerShell module, see Azure PowerShell documentation.

その他の仮想マシン用の PowerShell サンプル スクリプトは、Azure Windows VM のドキュメントにあります。Additional virtual machine PowerShell script samples can be found in the Azure Windows VM documentation.