-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzurePowerShell
- 戻る(PowerShell、Azureのシェル)
- Azure PowerShell
- Azure Cloud Shell
- Azure CLI
- Azure Subscription の管理で、そろそろ必要になったので。
-
Azure Resource Manager (ARM)モデルを使う
一連のコマンドレット
Azure Cloud Shellなら準備は不要。
-
PowerShell 7 をインストール
-
アップデート
Update-Module -
アンインストール(旧モジュール)
Uninstall-Module Azure Uninstall-Module AzureRM
-
Az(現行)
Install-Module -Name Az -AllowClobber Update-Module -Name Az Import-Module -Name Az
-
AzureAD
Install-Module -Name AzureAD Update-Module -Name AzureAD Import-Module -Name AzureAD
移行メモ(最新化:モジュールの世代交代): 本ページの記述は
Azへの移行期のもので、現在はさらに整理されている。
モジュール 状態 Azure(クラシック / ASM)廃止 AzureRM2024年2月に廃止。 Azへ移行済みAz現行。ARM モデル AzureAD/MSOnline2025年3月末で廃止。後継は Microsoft.Graph特に後者は見落とされやすい。
Microsoft Entra ID(旧 Azure AD)の操作は、
現在 Microsoft Graph PowerShell SDK に移行する必要がある。Install-Module Microsoft.Graph -Scope CurrentUser Connect-MgGraph -Scopes "User.Read.All" Get-MgUser -All # 旧: Get-AzureADUserなお
AzureRM→Azの読み替えは、原則
コマンド名からRmを落とすだけである
(Get-AzureRmVM→Get-AzVM)。
互換エイリアスを有効にするEnable-AzureRmAliasもあるが、
移行期の一時措置と考えたい。
-
変更(管理者権限が必要)
Set-ExecutionPolicy RemoteSigned -
確認
Get-ExecutionPolicy # RemoteSigned
補足(実行ポリシーはセキュリティ境界ではない):
ExecutionPolicyは
「うっかり実行」を防ぐための仕組みであり、
Microsoft 自身が「セキュリティ境界ではない」と明言している
(powershell -ExecutionPolicy Bypassで簡単に迂回できる)。組織で本当に制御したい場合は、
AppLocker / WDAC と PowerShell の言語モード(Constrained Language Mode)、
スクリプト ブロック ログを組み合わせる。
Connect-AzAccount別名が多数ある(いずれも旧世代の名残)。
Login-AzAccount
Login-AzureRmAccount
Add-AzureRmAccount
Connect-AzureRmAccount-
Windows 端末: OAuth 2.0 for Native Apps の
Loopback Interface Redirection(OAuth 2.0 for Native Apps) -
SSH端末: OAuth 2.0 Device Authorization Grant
(OAuth 2.0 Device Authorization Grant)Connect-AzAccount -UseDeviceAuthentication
# 一覧
Get-AzSubscription
# 選択
Set-AzContext -SubscriptionId "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"PowerShellのプロキシ設定を参照。
補足(Azure CLI との使い分け): 機能の差はほぼ無いため、
出力の扱いやすさで選ぶ。
Azure PowerShell Azure CLI 戻り値 .NET オブジェクト JSON 文字列 絞り込み Where-Object/Select-Object--query(JMESPath)向く場面 Windows 管理、既存の PowerShell 資産と連携 CI/CD、Linux、シェル スクリプト # PowerShell はオブジェクトなのでプロパティを直接扱える Get-AzVM | Where-Object { $_.Location -eq 'japaneast' } | Select-Object Nameどちらか一方に統一する必要はなく、
チームの主戦場に合わせるのが実務的である。
-
Azure PowerShell のドキュメント
https://learn.microsoft.com/powershell/azure/ -
Azure PowerShell のインストール
https://learn.microsoft.com/powershell/azure/install-azure-powershell -
AzureRM から Az への移行
https://learn.microsoft.com/powershell/azure/migrate-from-azurerm-to-az -
Microsoft Graph PowerShell SDK
https://learn.microsoft.com/powershell/microsoftgraph/
Tags: 移行, シェル, インフラストラクチャ, Windows, Linux, クラウド, Azure
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。