每一個Windows服務器角色和功能都附帶必要的PowerShell模塊。PowerShell可實現(xiàn)自動化手工或重復任務,是管理員、架構師和開發(fā)者用來管理微軟Azure資源的可靠的腳本平臺。使用微軟Azure Automation服務中的Azure PowerShell,你幾乎可以在該Azure管理門戶上手動做任何事情。
微軟Azure PowerShell當前版本為0.8.3,可從微軟網(wǎng)站上獲得。該Azure PowerShell新版本有很多改善的功能,包括Azure資源遠程及交互訪問的方式。Azure PowerShell提供大約340個PowerShell cmdlets來支持微軟Azure資源自動化操作,包括加速虛擬機(VM)、設置虛擬網(wǎng)絡、備份和恢復VM以及管理Azure存儲和Azure云服務。
微軟Azure PowerShell包括三個重要模塊:Azure模塊、AzureResourceManager模塊和AzureProfile模塊。這些模塊提供必要的PowerShell cmdlets,方便直接從本地機器處理微軟Azure資源。
Azure service management cmdlets:這些cmdlets能夠協(xié)助管理Azure訂閱和個人資源,比如VM、Azure Blobs、表、隊列、存儲賬戶、Azure網(wǎng)站、數(shù)據(jù)庫、服務總線和媒體服務。
Azure Resource Manager cmdlets:這些cmdlets可用于創(chuàng)建、管理和部署Azure資源組。這些cmdlets能夠方便讓你通過PowerShell使用Azure Resource Manager,而不是為云服務創(chuàng)建個人Azure資源。使用Resource Manager,管理員可以創(chuàng)建模板并將它們作為一個單元部署到微軟Azure。
AzureProfile cmdlets:這些cmdlets是AzureProfile模塊的一部分,AzureProfile模塊可以管理你的Azure帳戶和相關訂閱。
Azure Automation cmdlets:這些cmdlets能夠幫助你創(chuàng)建Runbook、工作任務和資產(chǎn),并可與微軟Azure Automation服務一起使用。
還有更多的cmdlets可用于管理微軟Azure的其他方面。例如,你可以使用Azure ExpressRoute cmdlets來配置express route;Azure托管緩存cmdlets可以管理Azure緩存。
PowerShell與微軟Azure Automation服務緊密集成 PowerShell與微軟Azure Automation服務平臺緊密集成,提供了更大的靈活性來管理和自動化Azure資源。Azure Automation服務不僅支持自動化手工和長時間運行的任務,還可以一鍵運行重復任務。
使用微軟Azure Automation服務,你可以部署、創(chuàng)建和使用runbook監(jiān)控Azure資源利用,這些是由PowerShell工作流組成的。你可以使用任何常見的PowerShell cmdlet,包括Azure PowerShell cmdlets。
有許多runbook樣本可供選擇來啟動微軟Azure Automation——從基礎到高級的自動化。你所需要做的是創(chuàng)建一個微軟Azure帳戶,并在Azure中發(fā)布PowerShell腳本作為runbook。一旦創(chuàng)建了微軟Azure Automation帳戶,你可以使用Azure Automation cmdlets或微軟Azure門戶來管理并執(zhí)行runbook。Runbook樣本可以在微軟的網(wǎng)站上找到。
使用PowerShell遠程管理Azure VM OS資源 如果你需要在Azure VM上配置角色/功能或修改操作系統(tǒng)設置,你需要使用遠程桌面協(xié)議來訪問VM,然后配置設置。例如,你可以在Azure OS設置中管理VM或者安裝/刪除角色/功能。這樣手動為多個Azure VM進行設置會花費大量的時間。微軟提供了一個更加強大的自動化體驗,讓管理員直接從本地機器上管理Azure OS資源中的VM。默認情況下,當你創(chuàng)建了一個Azure VM,TCP端口5986上的PowerShell終端會添加到該VM,從而連接到公共網(wǎng)絡上的VM OS資源。。
從PowerShell內(nèi)部調(diào)用微軟Azure REST API REST API提供了對Azure資源的編程訪問。所有的cmdlets專用于一個特定的工作。如果你沒有讓某個PowerShell cmdlet來管理Azure的某個特定方面,該Azure PowerShell平臺允許你在PowerShell會話內(nèi)部訪問微軟Azure REST API。
因為PowerShell作為固定腳本平臺來管理微軟Azure資源,微軟為所有的內(nèi)部和第三方開發(fā)的Azure PowerShell腳本提供了一個腳本庫。腳本中心頁面大約有105個PowerShell腳本可用來幫助管理Azure資源。