標籤:style blog http color strong 檔案 io 2014
我們可以通過PowerShell指令碼大量新增VM端點。請您參考以下方案。
準備工作 – PowerShell串連China Azure
1. 從官網下載頁面,下載並安裝Windows Azure PowerShell: http://www.windowsazure.cn/zh-cn/downloads/#cmd-line-tools
2. 安裝完畢後以管理員身份運行,右鍵點擊PowerShell表徵圖然後選擇以管理員身份運行;
3. 執行命令Get-AzurePublishSettingsFile -Environment "AzureChinaCloud",通過開啟的頁面下載您的Windows Azure Subscription的發行設定檔;
4. 在PowerShell中執行Import-AzurePublishSettingsFile “發行設定檔本地存放路徑”;
方案一:大量新增自訂的端點
備忘:該例子針對一個虛擬機器,添加了三個連接埠:
|
連接埠名稱 |
協議 |
公用連接埠 |
私人連接埠 |
|
MyPort1 |
tcp |
5001 |
5001 |
|
MyPort2 |
tcp |
5002 |
5002 |
|
MyPort3 |
udp |
5003 |
5003 |
該例子中,雲端服務名稱與虛擬機器名稱均為:JohnsonLinux。如果需要添加更多的連接埠,那麼可以按照相應格式,將連接埠配置添加到$newVmEndpoints。格式為:(“連接埠名稱”,”協議”,”公用連接埠”,”私人連接埠”)
$serviceName = "JohnsonLinux"$name = "JohnsonLinux"$newVmEndpoints = ("MyPort1","tcp",5001,5001) ,("MyPort2","tcp",5002,5002) ,("MyPort3","udp",5003,5003)$myVm = Get-AzureVM -ServiceName $serviceName -Name $nameforeach ($endpointConfig in $newVmEndpoints){$myVm | Add-AzureEndpoint -Name $endpointConfig[0] -Protocol $endpointConfig[1] -PublicPort $endpointConfig[2] -LocalPort $endpointConfig[3]}$myVm | Update-AzureVM
方案二:大量新增某一範圍的端點
下面是指令碼中的一些參數說明,請您相應的替換。
$serviceName – VM所屬的雲端服務名稱
$name – VM名稱
$portFrom – 開始端點口號
$portTo – 終止連接埠號碼
$protocal – 協議名稱
下面的例子中:
1. 我們添加了1-150號TCP端點,共150個。
2. 公用連接埠和私人連接埠的值一致。
3. 端點的名稱的格式為:協議名稱+連接埠號碼。
4. 如果已經添加了某一個連接埠,則該指令碼會略過該連接埠。
5. 同時,我們測試的過程中發現,目前我們最多隻能開放150個連接埠。
$serviceName = "JohnsonLinux"$name = "JohnsonLinux"$protocol = "tcp"$portFrom = 1$portTo = 150$myVm = Get-AzureVM -ServiceName $serviceName -Name $name $existingPublicPorts = New-Object System.Collections.ArrayList$existingLocalPorts = New-Object System.Collections.ArrayListforeach($endpoint in $myVm | Get-AzureEndpoint){ if($protocal.Equals($endpoint.Protocol)) { $existingPublicPorts.Add($endpoint.Port) $existingLocalPorts.Add($endpoint.LocalPort) }}for($index = $portFrom; $index -le $portTo; $index++){ if(!$existingPublicPorts.Contains($index) -and !$existingLocalPorts.Contains($index)) { $portName = $protocol + $index $myVm | Add-AzureEndpoint -Name $portName -Protocol $protocol -PublicPort $index -LocalPort $index }}$myVm | Update-AzureVM
下面是運行該指令碼以後的部分結果: