在 Azure PowerShell 中以互動方式建立 Azure 資源

已完成

在互動模式中,PowerShell 可讓您立即輸入及執行命令。

在客戶關係管理 (CRM) 範例中,目標是要建立包含虛擬機器 (VM) 的三個測試環境。 使用資源群組來確保 VM 會組織成不同的環境:

  • 單元測試
  • 整合測試
  • 驗收測試

由於您只需要建立資源群組一次,因此針對這項工作以互動方式使用 PowerShell 是合理的選擇。

當您在 PowerShell 中執行命令時,PowerShell 會比對此命令與 Cmdlet,然後執行要求的動作。

範例:如何使用 Azure PowerShell 建立資源群組

讓我們執行一項常見工作:建立資源群組。 資源群組可協助您共同管理相關資源,而建立新的資源群組通常是您在啟動新 Azure 解決方案時所執行的其中一個首要工作。

以下是您需要遵循的三個步驟:

  1. 連線至 Azure 訂用帳戶。

  2. 建立資源群組。

  3. 請確認是否已成功建立資源群組。

每個步驟都會對應至不同的 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 來切換訂用帳戶。

  1. 取得您的所有訂用帳戶的清單:

    Get-AzSubscription
    
  2. 檢查您登入的目前訂用帳戶:

    Get-AzContext
    
  3. 變更您的作用中訂用帳戶:

    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-AzVMOperatingSystemSet-AzVMSourceImageAdd-AzVMNetworkInterfaceSet-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 適用於一次性工作。 例如,如果資源群組只在專案的存留期期間建立一次,您可以透過互動方式建立和管理資源群組。 相較於針對工作撰寫僅執行一次的指令碼,互動模式通常更快速且更容易。