用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/fabioc-aloha/Alex_Skill_Mall --skill azure-subscription-context命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | azure-subscription-context |
| description | Time Saved: 30 minutes - 1 hour debugging |
| lastReviewed | 2026-04-30T00:00:00.000Z |
Category: Azure Time Saved: 30 minutes - 1 hour debugging Battle-tested: Yes — affects nearly every Azure CLI session
Your Azure CLI command returns empty results, "resource not found", or creates resources in the wrong location. The command syntax is correct. The resource exists. You can see it in the portal.
Azure CLI commands run against the currently active subscription. If you have multiple subscriptions (personal, work, client projects), you're probably in the wrong one.
Always verify subscription context with az account show before running commands.
# FIRST command in any Azure session
az account show --query "{name:name, id:id}" -o table
# Show current subscription
az account show
# Just the name and ID
az account show --query "{name:name, id:id}" -o table
# See all subscriptions you have access to
az account list --query "[].{name:name, id:id, isDefault:isDefault}" -o table
# By name
az account set --subscription "My Subscription Name"
# By ID (more reliable if names have spaces)
az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Before running any destructive or expensive command:
# 1. Verify context
az account show --query name -o tsv
# Expected: "Production Subscription"
# 2. Then run your command
az group create --name mygroup --location eastus
You can specify subscription per-command without changing default:
# Query specific subscription
az vm list --subscription "Dev Subscription"
# Create in specific subscription
az group create \
--name mygroup \
--location eastus \
--subscription "Production Subscription"
| Symptom | Likely Cause |
|---|---|
Empty results from az resource list | Wrong subscription |
| "Resource not found" | Resource is in different subscription |
| Resource created in wrong subscription | Default subscription is wrong |
| "You do not have access" | Subscription requires re-auth or different account |
In automation scripts, always set subscription explicitly:
#!/bin/bash
set -e
# Fail fast if subscription doesn't exist
az account set --subscription "$SUBSCRIPTION_ID"
# Verify we're in the right place
CURRENT=$(az account show --query id -o tsv)
if [ "$CURRENT" != "$SUBSCRIPTION_ID" ]; then
echo "Failed to set subscription"
exit 1
fi
# Now run commands...
# List accounts across tenants
az account list --all
# Login to specific tenant
az login --tenant "contoso.onmicrosoft.com"
# When using service principal, subscription is usually set at login
az login --service-principal \
--username $CLIENT_ID \
--password $CLIENT_SECRET \
--tenant $TENANT_ID
az account set --subscription $SUBSCRIPTION_ID
For CI/CD, use environment variable:
export AZURE_SUBSCRIPTION_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# Then in scripts
az account set --subscription "$AZURE_SUBSCRIPTION_ID"
az account show at start of session--subscription flag in scriptsazure-identity-msi — Identity and RBAC issuesazure-swa-gotchas — SWA-specific issues