用于定制在Vsphere Hypervisor中配置的VM的平台

问题描述 投票:0回答:1

我能够使用Vsphere提供程序来配置VM并加入域,但是当我尝试将文件复制或执行Powershell命令到所配置的服务器时,它失败了。在我的模板中,我已启用count

resource "vsphere_virtual_machine" "vm" {

  count = var.vm_count
  resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
....
}

这将允许基于输入验证来创建多个虚拟机

在Windows定制中]

   customize {
      windows_options {
        computer_name = "${var.host_prefix}${count.index + 1}"
        join_domain           = "domainname"
        domain_admin_user     = "username"
        domain_admin_password = "password"
        time_zone             = "004"
      }

已启用DHCP用于

  network_interface {

      }

使用以上代码,我能够创建虚拟机并将其成功添加到域控制器。

发布,我想在每个虚拟机中启用iis,我编写了以下代码

  resource "null_resource" "example_provisioner" {


      connection {
        host =  "${var.host_prefix}${count.index + 1}"
        type  = "winrm"
        user  = "username"
        password = "password"
        insecure = false
        agent = true
      }



  // copy our example script to the server
  provisioner "file" {
    source      = "e://iis.ps1"
    destination = "c://iis.ps1"
  }


  // change permissions to executable and pipe its output into a new file
  provisioner "remote-exec" {
    inline = [
      "powershell.exe c://iis.ps1",
       ]
  }
  }

以下是当我使用主机名= "${var.host_prefix}${count.index + 1}".时提供空值的错误PS E:\ terraform \ vmware>地形计划var.host_prefix输入值:abchostname

var.vm_count输入值:1

错误:在非计数上下文中引用“计数”

在资源"null_resource" "example_provisioner":中的base.tf行140上>

 140:     host = "${var.host_prefix}${count.index + 1}"

“ count”对象只能在“ resource”和“ data”块中使用,并且只能在设置“ count”参数时。

有人可以帮助我使用带有count参数的vpshere资源在新配置的vm上运行powershell命令。

我能够使用Vsphere提供程序来配置VM并加入域,但是当我尝试将文件复制或执行Powershell命令到所配置的服务器时,它失败了。在我的模板中,我...

windows powershell terraform customization vsphere
1个回答
0
投票

您如何将您的虚拟机名称设置为与Windows计算机名称相同的名称?

© www.soinside.com 2019 - 2024. All rights reserved.