默认情况下,
az ad sp list
仅列出前 100 个服务主体。因此,您需要使用 --all
标志来列出所有服务主体。
因此要解决错误,您需要使用
az ad sp list --all --query "[].appId" -o tsv
修改脚本,如下所示:
sp_list=$(az ad sp list --all --query "[].appId" -o tsv)
for sp_id in $sp_list;do
echo "Deleting service principal: $sp_id"
az ad sp delete --id $sp_id
done
echo "All Service Principals deleted"
对于 sample,我尝试使用
-all
标志 删除一些服务主体(因为我无法删除环境中的所有服务主体):
我尝试删除以下应用程序:
服务主体已成功删除:
sp_list=$(az ad sp list --all --query "[?displayName=='cli1' || displayName=='cli2' || displayName=='cli3' || displayName=='cli4' || displayName=='cli5'].appId" -o tsv)
for sp_id in $sp_list;do
echo "Deleting service principal: $sp_id"
az ad sp delete --id $sp_id
done
echo "All Service Principals deleted"