提取FQDN参数字符串并将其分块以在变量中使用(Azure ARM模板)

时间:2019-02-05 12:47:07

标签: json azure azure-template

我正在创建一个Azure ARM模板,用于将VM部署到现有的Active Directory中。我正在使用jsonaddomainextension进行部署的AD联接部分,我想为计算机对象指定特定的OU路径。 jsonaddomainextension具有用于执行此操作的参数,但它需要完整构造的OU路径。由于该模板是由不具备AD素养的用户部署的,要求他们输入正确的OU路径可能会流下眼泪(可能是我的遗憾)。

用户需要输入的参数之一是域的FQDN。

       "Domain Name": {
        "defaultValue": "DOMAIN.CO.UK",
        "type": "string",
        "metadata": {
            "description": "Enter domain name"
        }

我想做的就是抓取这个字符串,并用它来构建一个变量,然后以OU格式“ OU = Servers,DC = DOMAIN,DC = CO,DC = UK”传递给jsonaddomainextension。 (服务器容器始终是相同的名称)。这是我遇到的困难/需要技巧的地方。

先行可能吗?我们将很高兴收到关于我将如何执行此操作的任何提示/提示。

1 个答案:

答案 0 :(得分:0)

您可以为此使用字符串操作功能,如下所示:

"modifiedstring": "[replace(parameters('domainname'), '.', ',DC=)]"
"oupath": "[concat('OU=Servers,DC=', variables('modifiedstring'))]"

这将导致用,DC=替换所有点,并将结果与​​OU=Servers,DC=前缀串联。然后您可以将结果用作:

"property": "[variables('oupath')]"

参考:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-string