1

1) power-shell を使用して Azure で VM を作成しようとしています。VM を作成する方法は複数あります。推奨されるアプローチは何ですか?

2) VM が Resource Manager を使用して作成されている場合、現在のポータルで VM を見つけることができません。プレビュー ポータルのみが、VM を「仮想マシン (クラシック)」と「仮想マシン」として区別しています。[仮想マシン] をクリックして作成した VM をクリックすると、VM をキャプチャするオプションが表示されません。Resource Manager PowerShell を使用して作成された VM を (ポータルで) キャプチャする方法は?

3) サブスクリプションに両方のタイプ (クラシックと ARM) の VM がある場合、両方の VM タイプのインベントリを収集する方法を教えてください。

4

3 に答える 3

0

クラシック VM は、Azure サービス モデル (ASM) コマンドレットによって作成できます。以下のコード スニペットを参照してください。

Function New-VMByASM 
{ 
    [CmdletBinding()] 
    Param 
    ( 

        [Parameter(Mandatory=$true)][String] $VMName, 
        [Parameter(Mandatory=$false)][String] $VMLabelPattern = "*Windows Server 2012 Datacenter*", 

        [Parameter(Mandatory=$false)] 
        [ValidateSet("North Europe", "East US", "South Central US", "Central US", "East US 2", "West US", "West Europe", "Southeast Asia", "East Asia", "Japan West", "Japan East")] 
        [String]$Location = "East Asia", 

        [Parameter(Mandatory=$false)] 
        [ValidateSet("ExtraSmall", "Small", "Medium", "Large", "ExtraLarge", "A5", "A6", "A7", "A8", "A9", "A10", "A11", "Basic_A0", "Basic_A1", "Basic_A2", "Basic_A3", "Basic_A4", "Standard_D1", "Standard_D2", "Standard_D3", "Standard_D4", "Standard_D11", "Standard_D12", "Standard_D13", "Standard_D14", "Standard_D1_v2", "Standard_D2_v2", "Standard_D3_v2", "Standard_D4_v2", "Standard_D5_v2", "Standard_D11_v2", "Standard_D12_v2", "Standard_D13_v2", "Standard_D14_v2", "Standard_DS1", "Standard_DS2", "Standard_DS3", "Standard_DS4", "Standard_DS11", "Standard_DS12", "Standard_DS13", "Standard_DS14", "Standard_DS1_v2", "Standard_DS2_v2", "Standard_DS3_v2", "Standard_DS4_v2", "Standard_DS5_v2", "Standard_DS11_v2", "Standard_DS12_v2", "Standard_DS13_v2", "Standard_DS14_v2", "Standard_G1", "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", "Standard_GS3", "Standard_GS4", "Standard_GS5", "Standard_F1", "Standard_F2", "Standard_F4", "Standard_F8", "Standard_F16", "Standard_F1s", "Standard_F2s", "Standard_F4s", "Standard_F8s", "Standard_F16s")] 
        [String]$VMSize = "Basic_A0" 
    ) 
    # 1. Login Azure by admin account 
    Add-AzureAccount 
    # 
    # 2. Select subscription name 
    $subscriptionName = Get-AzureSubscription | Select -ExpandProperty SubscriptionName 
    # 
    # 3. Create storage account 
    $storageAccountName = $VMName  
    # here we use VMName to play the storage account name and create it, you can choose your name or use existed one to replace the storage account creation operation 
    New-AzureStorageAccount -StorageAccountName $storageAccountName -Location $Location | Out-Null 
    # 
    # 4. Select subscription name and storage account name for current context 
    Select-AzureSubscription -SubscriptionName $subscriptionName -Current | Out-Null 
    Set-AzureSubscription -SubscriptionName $subscriptionName -CurrentStorageAccountName $storageAccountName | Out-Null 
    # 
    # 5. Select a VM image name 
    $label = $VMLabelPattern 
    # take care, please ensure the VM image location resides to the same location of your storage account and service below 
    $imageName = Get-AzureVMImage | where { $_.Label -like $label } | sort PublishedDate -Descending | select -ExpandProperty ImageName -First 1 
    # 
    # 6. Create cloud service 
    $svcName = $VMName 
    # here we use VMName to play the service name and create it, you can choose your name or use existed one to replace the service creation operation 
    New-AzureService -ServiceName $svcName -Location $Location | Out-Null 
    # 
    # 7. Build command set 
    $vmConfig = New-AzureVMConfig -Name $VMName -InstanceSize $VMSize -ImageName $imageName 
    # 
    # 8. Set local admin of this vm 
    $cred=Get-Credential -Message "Type the name and password of the local administrator account." 
    $vmConfig | Add-AzureProvisioningConfig -Windows -AdminUsername $cred.Username -Password $cred.GetNetworkCredential().Password 
    # 
    # 9. Execute the final cmdlet to create the VM 
    New-AzureVM -ServiceName $svcName -VMs $vmConfig | Out-Null 
} 

New-VMByASM -VMName $VMName -Location $StorageLocation 
Write-Host "Done"

詳細については、このサンプル投稿をお読みください https://gallery.technet.microsoft.com/How-to-create-Azure-VM-by-b894d750

于 2016-08-15T06:47:48.763 に答える
0

最初にプレビュー ポータル (portal.azure.com) を使用します。新世代の VM はここでのみ入手できます。プレビュー ポータルを使用して作成された VM は新世代の VM であり、リソース マネージャーのコマンドレットを使用して作成する必要があります。特定のソリューションの VM をリソース グループにグループ化してから、リソース グループを論理ユニットとして管理およびデプロイできます。はい、最初にリソース グループを作成し、次にこのリソースに属する VM を作成します。より良いアプローチは、テンプレートを作成し、すべての VM をそのテンプレートに追加して、テンプレートからデプロイすることです。これに従ってください https://azure.microsoft.com/en-us/documentation/articles/powershell-azure-resource-manager/

于 2015-12-09T07:28:42.457 に答える