azure - 使用 Powershell 列出所有 Azure 存储帐户和网络规则

标签 azure powershell azure-storage azure-powershell

我的客户端租户中有大约 50 个Azure 存储帐户。我需要检查并更新存储帐户,以便网络访问仅限于特定虚拟网络。一些存储帐户有网络限制,但大多数没有

我需要一种方法来选择所有存储帐户,然后列出每个存储帐户的网络规则(如果有),而不是在 Azure 门户中一次手动选择一个存储帐户存储帐户也位于不同的资源组中。我运行了一个基本命令来获取所有存储帐户的列表,但现在我希望显示应用于每个存储帐户的网络规则:

Get-AzureRMStorageAccount | Export-CSV C:\....
Get-AzureRmStorageAccountNetworkRuleSet  -ResourceGroupName "allRG's" -AccountName "allStorageAccounts"

我不确定如何发出 Get-AzureRmStorageAccountNetworkRuleSet 命令并让它选择每个存储帐户及其各自的资源组。任何帮助将不胜感激,谢谢!

最佳答案

您可以使用以下 powershell 脚本获取订阅中存在的所有存储帐户,然后获取网络规则集属性。

Connect-AzAccount
$Result=@()
$Storageaccounts = Get-AzStorageAccount
$Storageaccounts | ForEach-Object {
$storageaccount = $_
Get-AzStorageAccountNetworkRuleSet -ResourceGroupName $storageaccount.ResourceGroupName -AccountName $storageaccount.StorageAccountName | ForEach-Object {
$Result += New-Object PSObject -property @{ 
Account = $storageaccount.StorageAccountName
ResourceGroup = $storageaccount.ResourceGroupName
Bypass = $_.Bypass
Action = $_.DefaultAction
IPrules = $_.IpRules
Vnetrules = $_.VirtualNetworkRules
ResourceRules = $_.ResourceAccessRules
}
}
}
$Result | Select Account,ResourceGroup,Bypass,Action,IPrules,Vnetrules,ResourceRules

输出:

enter image description here

关于azure - 使用 Powershell 列出所有 Azure 存储帐户和网络规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68672275/

相关文章:

c# - Azure 移动应用程序与自定义 Controller 离线同步

azure - 用于创建 cassandra 表的 Terraform 提供程序

c# - 在 Azure Blob 存储上创建文件副本

windows - 尝试使用 powershell 将日志文件的最后 10 行连接到批处理变量

powershell - 捕获 block 内未捕获异常的Powershell意外行为

azure - 无法从 VS 2013 RC 发布到 Azure(403 禁止)

java - 如何确定Azure中容器中所有Blob的Blob类型?

azure - 达到每日上限后如何重新启动 Application Insights 日志记录

azure - 使用 Azure DevOps 将文件复制到不同订阅中的 Azure Blob 存储

linux - 从 PowerShell 运行 Linux 命令