i have created Windows VM “windows2019srv” and with customize block i have joined to the domain after that i want to run one PowerShell script which is installing some agent required. but i am getting error like:
Error: remote-exec provisioner error
with vsphere_virtual_machine.vm,
on main.tf line 94, in resource "vsphere_virtual_machine" "vm":
94: provisioner "remote-exec" {
timeout - last error: unknown error Post "https://10.144.35.15:5986/wsman":
dial tcp 10.144.35.15:5986: connectex: No connection could be made because
the target machine actively refused it.
terraform version:
Terraform v1.5.1
on windows_amd64
provider version:
vsphere = {
source = “hashicorp/vsphere”
version = “2.4.1”
}
terraform config:
terraform {
required_providers {
vsphere = {
source = "hashicorp/vsphere"
version = "2.4.1"
}
}
}
provider "vsphere" {
vsphere_server = local.config.vsphere_server
user = local.config.vsphere_username
password = local.config.vsphere_password
allow_unverified_ssl = var.vsphere_insecure
}
data "vsphere_datacenter" "datacenter" {
name = local.config.vsphere_datacenter
}
data "vsphere_network" "network" {
name = local.config.vsphere_network
datacenter_id = data.vsphere_datacenter.datacenter.id
}
data "vsphere_compute_cluster" "cluster" {
name = local.config.vsphere_cluster
datacenter_id = data.vsphere_datacenter.datacenter.id
}
data "vsphere_resource_pool" "pool" {
name = format("%s%s", data.vsphere_compute_cluster.cluster.name, "/Resources")
datacenter_id = data.vsphere_datacenter.datacenter.id
}
data "vsphere_datastore" "datastore" {
name = local.config.vsphere_datastore
datacenter_id = data.vsphere_datacenter.datacenter.id
}
data "vsphere_virtual_machine" "template" {
name = local.config.vsphere_template
datacenter_id = data.vsphere_datacenter.datacenter.id
}
resource "vsphere_virtual_machine" "vm" {
name = local.config.vm_name
num_cpus = local.config.vm_cpus
memory = local.config.vm_memory
firmware = local.config.vm_firmware
efi_secure_boot_enabled = local.config.vm_efi_secure_boot_enabled
guest_id = data.vsphere_virtual_machine.template.guest_id
datastore_id = data.vsphere_datastore.datastore.id
resource_pool_id = data.vsphere_resource_pool.pool.id
network_interface {
network_id = data.vsphere_network.network.id
}
disk {
label = "disk0"
size = data.vsphere_virtual_machine.template.disks[0].size
eagerly_scrub = data.vsphere_virtual_machine.template.disks[0].eagerly_scrub
thin_provisioned = data.vsphere_virtual_machine.template.disks[0].thin_provisioned
}
clone {
template_uuid = data.vsphere_virtual_machine.template.id
customize {
timeout = 20
windows_options {
computer_name = local.config.vm_name
time_zone = 045
organization_name = local.config.organization_name
join_domain = local.config.domain
domain_admin_user = local.config.domain_admin_username
domain_admin_password = local.config.domain_admin_password
admin_password = local.config.vm_admin_password
auto_logon = true
run_once_command_list = ["cmd.exe /C Powershell.exe –ExecutionPolicy Bypass -file \\cable\\efv-dfs\\Workspaces\\InfraOpen\\VMware_Templates\\Automation_Scripts\\VM_Deployment\\VM_Deploy_RunOnce_Script_V1.0.ps1"]
}
network_interface {
ipv4_address = local.config.vm_ipv4_address
ipv4_netmask = local.config.vm_ipv4_netmask
}
ipv4_gateway = local.config.vm_ipv4_gateway
dns_suffix_list = local.config.vm_dns_suffix_list
dns_server_list = local.config.vm_dns_server_list
}
}
lifecycle {
ignore_changes = [
clone[0].template_uuid,
]
}
provisioner "remote-exec" {
inline = [
"Powershell.exe –ExecutionPolicy Bypass -Command Write-Host 'hello'",
"Powershell.exe –ExecutionPolicy Bypass -Command Write-Host 'world'"
]
connection {
type = "winrm"
https = true
user = "<username>"
password = "<password>"
agent = false
host = vsphere_virtual_machine.vm.default_ip_address
}
}
}
in script i have mentioned two command for testing
anyone pls suggest me on the issue