[Windows Azure] 利用 Windows Azure PowerShell 批次加入 EndPoints
Azure入口網站的EndPoint一次只能做一個設定,倘若我們需要一個範圍的 Port,就目前而言就只能使用PowerShell
Step1.Azure PowerShell 的使用方式請參考上篇
http://www.dotblogs.com.tw/yc421206/archive/2013/01/30/89360.aspx
Step2.Add-AzureEndpoint
http://msdn.microsoft.com/en-us/library/windowsazure/jj152886.aspx
依我自己的服務為範例,命令如下:
Get-AzureVM -ServiceName "tako-alm2012" -Name "tako-alm2012" | Add-AzureEndpoint -LocalPort 7006 -PublicPort 7006 -Name FTPPassive06 -Protocol TCP | Update-AzureVM
完成之後就可以看到訊息
比較難懂的是 -ServiceName / -Name 這兩個參數,請參考下圖,假使這兩個名稱有誤則無法正確執行命令,只是剛好我的例子這兩個參數的名字是相同的。
Step3.撰寫 script file
將以下語法存成 *.ps1:
$i=8000do
{ Get-AzureVM -ServiceName "tako-alm2012" -Name "tako-alm2012" | Add-AzureEndpoint -LocalPort $i -PublicPort $i -Name FTPPassive$i -Protocol TCP | Update-AzureVM; $i++}
until ($i -gt 8002 )
在這裡我將它命名為 AddEnpointRange.ps1
Step4.Run Set-ExecutionPolicy
http://technet.microsoft.com/zh-tw/library/ee176961%28en-us%29.aspx
我們需要執行 scripts 所以要選 Unrestricted
Step5.Run Scripts File
C:\Users\yc421_000\Downloads\AddEndpointRange.ps1
這樣一來就可以批次處理 EndPoint 的命令
驗証一下 scripts 是否真的有加入EndPoint。
如下圖所示:
修改 EndPoint:Set-AzureEndpoint
http://msdn.microsoft.com/en-us/library/windowsazure/jj152873.aspx
我想要修改 FTPPassive8000 的Port
Get-AzureVM -ServiceName "tako-alm2012" -Name "tako-alm2012" | Set-AzureEndpoint -Name "FTPPassive8000" -PublicPort 9001 -LocalPort 9001 -Protocol TCP | Update-AzureVM
執行成功畫面如下:
刪除 EndPoint:Remove-AzureEndpoint
http://msdn.microsoft.com/en-us/library/windowsazure/jj152860.aspx
我想要刪除 FTPPassive8000 的 Endpoint
Get-AzureVM –ServiceName "tako-alm2012" -Name "tako-alm2012" | Remove-AzureEndpoint –Name "FTPPassive8000" | Update-AzureVM
下圖為處理中:
下圖為完成結果:
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET