批量创建Azure管理组

时间:2019-04-04 10:40:38

标签: powershell-v3.0 azure-powershell

我正在尝试运行下面的Power Shell-

New-AzManagementGroup -GroupName 'Contoso' -DisplayName 'Contoso Group' -ParentId /providers/Microsoft.Management/managementGroups/Infra'

自动化任务,以便我可以将其部署到层次结构中的多个管理组中。 我已使用csv文件导入以下字段GroupName DisplayNameParaentid,但似乎什么也没发生。 可能是我做的事情很愚蠢或缺少某些语法。 我设法在下面创建了一个简单的Powershell-

$DataSheet = Import-Csv -path “xx.csv”
foreach($data in $DataSheet)
{
$GroupName=$data.GroupName
$DisplayName=$data.DisplayName
$ParentId=$data.ParentId
New-AzManagementGroup -GroupName $GroupName -DisplayName $DisplayName  -ParentId $ParentId
}

但是我如何才能在此脚本中添加一些错误陷阱,并消除放置冗长的完整资源ID(-ParentId)的要求 该脚本从具有三个标题GroupName,DisplayName和ParentId的excel导入数据。

谢谢

1 个答案:

答案 0 :(得分:0)

确保您能够读取CSV文件,并且其格式正确。使用下面的代码片段,我能够读取CSV并创建子级管理组。为了避免一次又一次地给出父ID,您可以先获取父对象,然后在代码中使用它。

下面的代码段应该会有所帮助。

$parentObject = Get-AzManagementGroup -GroupName "ParentGroup"
$DataSheet = Import-Csv -path "xx.csv"
foreach($data in $DataSheet)
{
   $GroupName=$data.GroupName
   $DisplayName=$data.DisplayName
   New-AzManagementGroup -GroupName $GroupName -DisplayName $DisplayName   
   -ParentObject $parentObject
}

下面是CSV格式的数据。

csv table

希望以上信息对您有帮助。