2014-11-02 43 views
2

我有腳本,它創建虛擬機,並通過dsc安裝谷歌瀏覽器。我創建了當前的存儲帳戶,並執行了腳本。但在下一次我有錯誤。這是我的腳本:當前的天藍色存儲不允許創建新的虛擬機

$SubscriptionName = "subscription_name" 
    Select-AzureSubscription -SubscriptionName $SubscriptionName 

    #Replace the variable values as needed 
    $VMName = "CSETest" 
    $StorageAccount = 'googleChrome' 
    $StorageKey = 'key' 
    $StorageContainer = 'dscarchives' 

    $ServiceName="ChromeInstaller" 

    #Get the OS image reference 
    $arrayWindows=(Get-AzureVMImage | where-object { $_.ImageName -like "*Windows*Server*2012*R2*en.us*" }) 

    $locationAllow=$arrayWindows[$arrayWindows.Count-1].Location 
    $locationAllow=$locationAllow.Split(";") 
    $locationAllow=$locationAllow | where-object { $_ -like "* US*"} 
    $Localization=(Get-Random -InputObject $locationAllow) 

    #Create VM Config with last windows update 
    $vmConfig = New-AzureVMConfig -Name $VMName -ImageName $arrayWindows[$arrayWindows.Count-1].ImageName -InstanceSize Small 

    #Create Provisioning Configuration 
    $vmProvisioningConfig = Add-AzureProvisioningConfig -VM $vmConfig -Windows -AdminUsername "login" -Password "password" 

    $StorageContext = New-AzureStorageContext -StorageAccountName $StorageAccount -StorageAccountKey $StorageKey 
    Publish-AzureVMDscConfiguration -ConfigurationPath .\ChromeInstaller.ps1 -ContainerName $StorageContainer -StorageContext $StorageContext -Force 

    #Set the Azure VM DSC Extension to run the LCM meta-configuration 
    $vmAzureExtension = Set-AzureVMDscExtension -VM $vmProvisioningConfig -ConfigurationArchive ChromeInstaller.ps1.zip -ConfigurationName OpenChrome -Verbose -StorageContext $StorageContext -ContainerName $StorageContainer -Force 

    #Create a VM 
    New-AzureVM -ServiceName $ServiceName -VMs $vmAzureExtension -Location $Localization -WaitForBoot 

在最後一行中,腳本拋出異常:

新AzureVM:錯誤請求:位置或相關性組美國中部的存儲賬戶的,其中源圖像 a699494373c04fc0bc8f2bb1389d6106__Windows -Server-2012-R2-201410.01-en.us-127GB.vhd與指定的雲服務不在 相同的位置或關聯組中。源圖像必須位於具有與美國西部的雲服務相同的關聯組或位置的存儲帳戶中。

所以,正如你所看到的,我的腳本生成隨機位置。而且我無法與位置鏈接。那麼,我該如何解決這個錯誤?

+1

的相同位置的錯誤告訴你,你需要知道創建雲服務。如果您在隨機的美國Azure位置部署基於映像的虛擬機,則需要在每個位置的本地存儲帳戶中安裝VHD。 – 2014-11-03 06:05:20

回答

1

源映像VHD必須與新虛擬機位於相同的位置。使用AzCopy將圖像複製到$locationAllow中列出的所有位置的存儲帳戶。

0

簡單的答案是在與存儲帳戶相同的位置創建虛擬機。這是告訴你,存儲帳戶位置中的Azure操作系統映像不存在於您的雲服務位置。

你也可以試試這個

$AzureLocation = (get-azurelocation) 
$Localization=(Get-Random -InputObject $AzureLocation) 
$WindowsImage=(Get-AzureVMImage | where-object { $_.ImageName -like "*Windows*Server*2012*R2*en.us*" -and $_.Location -Match $Localization.DisplayName } | sort PublishedDate | select -first 1).ImageName 

#Create VM Config with last windows update 
$vmConfig = New-AzureVMConfig -Name $VMName -ImageName $WindowsImage -InstanceSize Small 

隨着駐留該位置在這個方法中,我們選擇一個位置,然後圖像。以前,您選擇的圖像(可能位於美國西部地區),然後選擇一個位置。

Alternativly,讓您的存儲帳戶的位置,並使用該位置來獲取圖像,並在存儲賬戶

相關問題