Azure PowerShell 101 EP1: Azure PowerShell Automate Login

Written by Phongphumphan. Posted in Azure, PowerShell

Tagged: , , ,

Published on March 20, 2017 with No Comments

ผมได้ไปนั่งพูดคุยแลกเปลี่ยนความรู้ กับคนที่ใช้งาน Azure ด้วยกัน แล้วมีคำถามเกิดขึ้นมาว่า ต้องการ จะใช้ PowerShell Automate Login อย่างไร ผมเลยเขียนบทความนี้ขึ้นมา แต่แค่ Automate Login อย่างเดียว ยังไม่เห็นประโยชน์มากนัก ผมเลยคิดว่า ให้มันนับจำนวน Web Apps ที่มีอยู่ด้วยเลยดีกว่า เรามาดูกันครับว่า มีวิธีการเขียน Script PowerShell อย่างไร

โดยจะขอแบ่งเป็น 4 ขั้นตอนดังนี้ครับ

1. การ Login
โดยปกติเราจะต้อง Login เข้าสู่ Azure Portal สิ่งที่เราต้องเตรียมเพื่อที่จะ Login เข้าสู่ Azure Portal ก็คือ Username Password โดยเราสามารถ แทนค่าลง $userName และ $Password ได้เลย

################
#Login to Azure#
################
$userName         = 'Your username'
$Password         = 'Your Password'
$SubscriptionName = 'Your Subscription Name'

$securePassword = ConvertTo-SecureString -String $Password -AsPlainText -Force
$cred           = New-Object System.Management.Automation.PSCredential($userName, $securePassword)
Add-AzureRmAccount -Credential $cred

 

เมื่อแทนค่าเรียบร้อยแล้ว ลอง Run ดู เราจะได้ผลลัพธ์ดังนี้

3

ตอนนี้ เราสามารถ Login ได้แล้วครับ

2. การเลือก Subscriptions
โดยทั่วไปแล้ว องค์การที่ใช้งาน Azure มักจะมี Subscriptions มากกว่า 1 Subscriptions เราสามารถเลือกได้ว่า ต้องการที่จะใช้งาน Subscriptions ไหน แต่เดี๋ยวก่อน Subscriptions Name จะหาได้จากที่ไหน

การได้มาซึ่ง Subscriptions name นั้น สามารถหาได้ จาก Get-AzureRmSubscription ดังนี้

1

เมื่อได้ Subscriptions name แล้ว เราก็นำ Subscriptions name มาแทนค่าลงในตัวแปล $SubscriptionName ได้เลย

##########################
#Select AzureSubscription#
##########################
Select-AzureRmSubscription -SubscriptionName $SubscriptionName


3. แสดง Web Apps ที่มีทั้งหมด
เราสามารถแสดง  WebApp ที่เรามีทั้งหมด โดยใช้คำสั่ง Get-AzureRmWebApp โดยจะเก็บผลลัพธ์ที่ได้ ไว้ในตัวแปล $AzureRmWebApp

##################
#Get Azure WebApp#
##################
$AzureRmWebApp = Get-AzureRmWebApp
$WebAppName = $AzureRmWebApp.Name
$WebAppName

 

ผลลัพธ์ที่ได้ เราจะได้ รายชื่อของ Web Apps ทั้งหมดที่มีอยู่ดังนี้

6

4. นับจำนวน Web Apps
เราสามารถที่จะนับจำนวน WebApp ที่จัดเก็บไว้ในตัวแปล $WebAppName ทั้งหมด โดยใช้คำสั่ง $WebAppName.Count

################
#Count web Apps#
################
$WebAppName.Count

8

จาก PowerShell Script ที่ได้อธิบายมานั้น มีความสามารถในการ Auto Login พร้อมทั้งนับจำนวน Web Apps ที่มีทั้งหมด ซึ่งหมายความว่า เราสามารถที่จะต่อยอดไปใช้ในงานต่าง ๆ ที่เราต้องได้ เช่น กำหนดให้ Run Script ผ่านทาง Task Scheduler ตั้งเวลา ในการ Run ให้ทำการ Start/Stop Web Apps หรือ VM ได้ ในช่วงเวลาที่เราต้อง

หวังว่า Script นี้น่าจะมีประโยชน์ไม่มากก็น้อยนะครับ แล้วพบกันในตอนต่อไปนะครับ

ส่วนนี้คือ Script ทั้งหมดที่ได้กล่าวไปนะครับ

################
#Login to Azure#
################
$userName         = 'Your username'
$Password         = 'Your Password'
$SubscriptionName = 'Your Subscription Name'

$securePassword = ConvertTo-SecureString -String $Password -AsPlainText -Force
$cred           = New-Object System.Management.Automation.PSCredential($userName, $securePassword)
Add-AzureRmAccount -Credential $cred

##########################
#Select AzureSubscription#
##########################
Select-AzureRmSubscription -SubscriptionName $SubscriptionName

##################
#Get Azure WebApp#
##################
$AzureRmWebApp = Get-AzureRmWebApp
$WebAppName = $AzureRmWebApp.Name
$WebAppName

################
#Count web Apps#
################
$WebAppName.Count

Comments

comments

Powered by Facebook Comments

About Phongphumphan

Phongphumphan Tia-Anukul | DevOps/SysOps on Azure

Browse Archived Articles by

No Comments

Comments for Azure PowerShell 101 EP1: Azure PowerShell Automate Login are now closed.

%d bloggers like this: