在 Azure PowerShell 中以互動方式建立 Azure 資源
在互動模式中,PowerShell 可讓您立即輸入及執行命令。
在客戶關係管理 (CRM) 範例中,目標是要建立包含虛擬機器 (VM) 的三個測試環境。 使用資源群組來確保 VM 會組織成不同的環境:
- 單元測試
- 整合測試
- 驗收測試
由於您只需要建立資源群組一次,因此針對這項工作以互動方式使用 PowerShell 是合理的選擇。
當您在 PowerShell 中執行命令時,PowerShell 會比對此命令與 Cmdlet,然後執行要求的動作。
範例:如何使用 Azure PowerShell 建立資源群組
讓我們執行一項常見工作:建立資源群組。 資源群組可協助您共同管理相關資源,而建立新的資源群組通常是您在啟動新 Azure 解決方案時所執行的其中一個首要工作。
以下是您需要遵循的三個步驟:
連線至 Azure 訂用帳戶。
建立資源群組。
請確認是否已成功建立資源群組。
每個步驟都會對應至不同的 Azure PowerShell 命令。
連接到 Azure
使用 Azure PowerShell 的本機安裝時,您必須先進行驗證,才能執行任何 Azure PowerShell 命令。 Connect-AzAccount
Cmdlet 會提示您輸入 Azure 認證,然後連線至您的 Azure 訂用帳戶。
若要以互動方式連線,您不需要指定任何參數:
Connect-AzAccount
此命令會開啟提示,提示您輸入 Azure 認證,然後建立與您 Azure 訂用帳戶的連線。
使用訂用帳戶
如果您是 Azure 的新手,只會擁有單一訂用帳戶。 不過,若您已經使用 Azure 一段時間,您可能有多個訂用帳戶。 Azure PowerShell 可讓您設定要對其執行命令的訂用帳戶。
您一次只能使用一個訂用帳戶。 使用 Get-AzContext
Cmdlet 來判斷哪個是目前作用中訂用帳戶。 如果不是正確的訂用帳戶,您可使用 Set-AzContext
Cmdlet 來切換訂用帳戶。
取得您的所有訂用帳戶的清單:
Get-AzSubscription
檢查您登入的目前訂用帳戶:
Get-AzContext
變更您的作用中訂用帳戶:
Set-AzContext -Subscription '00000000-0000-0000-0000-000000000000'
如果您需要查閱訂用帳戶識別碼,可以在
Get-AzSubscription
Cmdlet 的輸出中找到。
建立資源群組
當您在 Azure 中建立資源時,一律會將其放在資源群組中,以便進行管理。
若要建立資源群組,請使用 New-AzResourceGroup
Cmdlet。 您必須指定名稱和位置,而且名稱在訂用帳戶內必須是唯一的。 位置會決定資源群組中繼資料的儲存位置,基於合規性理由,這可能很重要。 使用 Get-AzLocation
Cmdlet 來判斷可用的位置。
注意
如果您在 Azure 沙箱中操作,則會為您建立資源群組。 如果您偏好在自己的訂用帳戶中工作,請使用下列命令。
建立資源群組的語法為:
New-AzResourceGroup -Name <resource-group-name> -Location <location>
列出所有資源群組
若要擷取作用中訂用帳戶中所有資源群組的清單,請使用 Get-AzResourceGroup
Cmdlet。
Get-AzResourceGroup
如需更簡潔的檢視,您可以將輸出傳送至 Format-Table
Cmdlet:
Get-AzResourceGroup | Format-Table
您也可以將輸出篩選為僅顯示特定資源群組:
Get-AzResourceGroup -Name <resource-group-name>
建立 Azure 虛擬機器
建立虛擬機器 (VM) 是您可以使用 Azure PowerShell 執行的常見工作。
使用 New-AzVM
Cmdlet 建立 VM。 此 Cmdlet 有數個參數可處理 VM 的廣泛組態設定。 大多數參數都有合理的預設值,因此您通常只需要指定五個主要項目:
- ResourceGroupName:放置新 VM 所在的資源群組。
- Name:Azure 中 VM 的名稱。
- 位置:佈建 VM 所在的地理區域。
- Credential:含有 VM 系統管理員帳戶使用者名稱和密碼的物件。
使用
Get-Credential
Cmdlet 來提示輸入使用者名稱和密碼,並將其儲存為認證物件。 - 映像:要用於 VM 的作業系統映像,通常是 Linux 發行版本或 Windows Server。
以下是範例:
$azVmParams = @{
ResourceGroupName = '<resource-group-name>'
Name = '<machine-name>'
Credential = '<credentials-object>'
Location = '<location>'
Image = '<image-name>'
}
New-AzVM @azVmParams
您可以使用雜湊表的形式提供這些參數,具有 New-AzVM
Cmdlet 的展開,如上述範例中所示。 或者,您可以將參數直接提供給 New-AzVM
Cmdlet,或使用其他 Cmdlet 來設定虛擬機器,例如 Set-AzVMOperatingSystem
、Set-AzVMSourceImage
、Add-AzVMNetworkInterface
和 Set-AzVMOSDisk
。
例如,若要將參數直接提供給 New-AzVM
Cmdlet,請使用下列語法:
New-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name> -Credential (Get-Credential) ...
範例:取得虛擬機器的資訊
您可以使用 Get-AzVM
命令列出您訂用帳戶中的 VM。 此命令也支援藉由指定 Name 參數來擷取特定 VM。
將 Get-AzVM
的結果儲存在變數中:
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name>
$vm
變數的內容是您可以與之互動的物件。 例如,您可以對此物件進行變更,然後使用 Update-AzVM
命令將變更推送至 Azure:
$resourceGroupName = '<resource-group-name>'
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName $resourceGroupName
$vm.HardwareProfile.vmSize = 'Standard_DS3_v2'
Update-AzVM -ResourceGroupName $resourceGroupName -VM $vm
在互動模式中使用 PowerShell 適用於一次性工作。 例如,如果資源群組只在專案的存留期期間建立一次,您可以透過互動方式建立和管理資源群組。 相較於針對工作撰寫僅執行一次的指令碼,互動模式通常更快速且更容易。