将新的Azure VM加入域:是否需要重新启动?

3yhwsihp  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(165)

我正在使用Powershell和JSON模板在Azure上创建一个VM。模板包括this bit,因此加入操作应该是配置操作的一部分。
但是我们的网络部。说我们需要重新启动新机器以确保它正确连接。所以我的问题是:

    • 什么时候 * 进行join操作?
      • 我们是否真的需要重新启动新的VM(或者它是配置的一部分,因此 * 不 * 需要)?
    • 如何 * 在配置过程中重新启动新的VM(理想情况下,使用另一个JSON片段)?
      **更新:**以下是相关片段。注意这里有一个"Restart": "true"部分,这是我不确定的地方。
{
    "apiVersion": "[variables('apiVersion')]",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "name": "[concat(parameters('vmName'),'/joindomain')]",
    "location": "[resourceGroup().location]",
    "dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"],
    "properties": {
        "publisher": "Microsoft.Compute",
        "type": "JsonADDomainExtension",
        "typeHandlerVersion": "1.0",
        "settings": {
            "Name": "[parameters('domainToJoin')]",
            "OUPath": "[parameters('ouPath')]",
            "User": "[concat(parameters('domainToJoin'), '\\', parameters('domainUsername'))]",
            "Restart": "true",
            "Options": "[parameters('domainJoinOptions')]"
        },
        "protectedsettings": {
            "Password": "[parameters('domainPassword')]"
        }
    }
}
eeq64g8w

eeq64g8w1#

如果你已经设置了"Restart": "true",那么你可以考虑在你能够登录后重新启动它们。
该过程应该是配置计算机、登录计算机并设置其用户名/密码。然后运行任何进一步的扩展。包括域的加入一个。
如果域加入脚本设置为重新启动,则它将在加入后重新启动。如果查看部署日志,您应该能够看到这一点。

7rtdyuoh

7rtdyuoh2#

我刚刚用几个扩展测试了这个(是二头肌扩展,但无论如何都编译成JSON。

**建议:**如果您正在部署多个扩展,或者在添加扩展后有其他任务要执行,请停用从“JoinDomain”扩展重新启动。它会导致不可预见的错误。在我的例子中,我的TeamServicesAgent报告了一个错误,因为连接到部署组所花费的时间比预期的时间长,然后joinDomain扩展成功,到这种情况发生时,我收到了VstsAgent的日志错误,说明:

System.Runtime.InteropServices.COMException (0x8007045B): A system shutdown is in progress. (Exception from HRESULT: 0x8007045B)

我花了很多时间才意识到domainjoin扩展实际上是这样做的。
通过过滤虚拟机中的事件查看器日志来实现

41,1074,1076,6005,6006,6008,6009,6013
resource IaaSAntimalware_ext 'Microsoft.Compute/virtualMachines/extensions@2023-03-01' = [for vmName in vmNames: {
  name: '${vmName}/IaaSAntimalware'
  location: location
  tags: {
    CostAllocationCode: 'TOBESPECIFIED'
    CostAllocationType: 'TOBESPECIFIED'
    Environment: 'TOBESPECIFIED'
  }
  properties: {
    autoUpgradeMinorVersion: true
    publisher: 'Microsoft.Azure.Security'
    type: 'IaaSAntimalware'
    typeHandlerVersion: '1.3'
    settings: {
      AntimalwareEnabled: true
      RealtimeProtectionEnabled: 'true'
      ScheduledScanSettings: {
        isEnabled: 'false'
        day: '7'
        time: '120'
        scanType: 'Quick'
      }
    }
  }
}]

resource TeamServicesAgent_ext 'Microsoft.Compute/virtualMachines/extensions@2023-03-01' = [for vmName in vmNames: {
  name: '${vmName}/TeamServicesAgent'
  location: location
  properties: {
    publisher: 'Microsoft.VisualStudio.Services'
    type: 'TeamServicesAgent'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {
      VSTSAccountName: 'https://<organization>.visualstudio.com/'
      TeamProject: '<team project>'
      DeploymentGroup: deploymentGroup
      AgentName: vmName
    }
    protectedSettings: {
      PATToken: PAT
    }
  }
}]

resource DomainJoin_ext 'Microsoft.Compute/virtualMachines/extensions@2023-03-01' = [for vmName in vmNames: {
  name: '${vmName}/joindomain'
  location: location
  properties: {
    publisher: 'Microsoft.Compute'
    type: 'JsonADDomainExtension'
    typeHandlerVersion: '1.3'
    autoUpgradeMinorVersion: true
    settings: {
      name: domainToJoin
      ouPath: ouPath
      user: domainUsername
      restart: false
      options: domainJoinOptions
    }
    protectedSettings: {
      Password: domainPassword
    }
  }
}]

相关问题