azure - 使用 power-shell 在 azure 中注册具有多个订阅的多个资源提供程序
问题描述
我是 PowerShell 脚本的新手,如果我在某个地方错了,请多多包涵。
我在 Azure 的一个租户下订阅了 100 个用于培训目的的订阅。我想使用 powershell 脚本向所有订阅中的所有资源提供者注册。每次我必须更改订阅,然后我可以触发注册 RP 的命令。我想循环这个场景,以便它应该从第一个 sub 开始并一直持续到最后一个 subscripton。我尝试将订阅名称作为 CSV 文件传递,但它在某处出错。我不明白哪里出了问题。
请找到我为它制作的脚本。建议将不胜感激
Connect-AzureRmAccount
$subscriptions = Import-csv -path "C:\subscriptions.csv"
Foreach ($subscription in $subscriptions)
{
Get-AzureRmResourceProvider -ListAvailable | where {$_.RegistrationState -eq "NotRegistered"} | Register-AzureRmResourceProvider
}
Write-Host "Subscription resource provider registration is completed"
解决方案
我将解决方案总结如下。
当您运行 PowerShell 脚本来注册资源提供者时,我们应该Select-AzureRmSubscription
首先运行以选择我们现在使用的订阅。例如
我的测试 CSV 文件
脚本
Connect-AzureRmAccount
$subs=import-csv -Path 'D:\sub.csv'
foreach($sub in $subs){
Select-AzureRmSubscription -Subscription $sub.SubscriptionName
Get-AzureRmResourceProvider -ListAvailable | where {$_.RegistrationState -eq "NotRegistered"} | Register-AzureRmResourceProvider
}
此外,请注意,当我们运行脚本时,我们需要确保我们用于登录的帐户应该是 csv 文件中订阅的所有者。
推荐阅读
- git - 尝试在项目上使用 GIT 删除了我的文件
- android - 如何查看不同语言的 google play 商店列表
- javascript - 使用视频 js,视频无法在谷歌浏览器中全屏显示
- angular - 带有 buildOptimizer 的 Angular 10 失败
- android - 有人熟悉 Xamarin 上的这个 USB 调试错误吗?
- google-smart-home - 英语和西欧语言的 Google Smart Home 语音参考
- javascript - 从 Javascript 中的一组对象创建一个对象
- angular - Angular 无法从 configuration.js 加载 app.module.ts 中的变量
- swift - [结果]:失败(Alamofire.AFError.explicitlyCancelled)
- flutter - 我正在尝试存储未来日期“DateTime _eventDate;” 在云火库中,但在输出中我没有得到用户选择的日期