connection {
type = "winrm"
user = "testadmin"
password = "Password1234!"
host = azurerm_public_ip.example.ip_address
} 配置者“远程执行”{
script = "C:\\Proj\\Fali\\vm\\DC.ps1"
}
我已经打开了所有端口
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "*"
source_address_prefix = "*"
destination_address_prefix = "*"
运行 PS 脚本期间连接超时, 提到的是代码片段
解决上述问题的解决方法之一;
您可以通过配置文件名并为其提供超时值,在
example.tf
文件中使用以下格式。
connection {
host = azurerm_public_ip.win_pubip.fqdn
type = "winrm"
port = 5985
https = false
timeout = "2m"
user = var.username
password = var.password
}
provisioner "file" {
source = "files/yourfile.ps1"
destination = "c:/terraform/yourfile.ps1"
}
provisioner "remote-exec" {
inline = [
"PowerShell.exe -ExecutionPolicy Bypass c:\\terraform\\yourfile.ps1",
]
有关如何配置和执行配置脚本的完整信息,请参阅此
GitHub Sample code
欲了解更多信息,请参阅以下链接:-
执行给定任务的另一种方法是使用 OpenSSH 而不是 WinRM。但是,您需要在 Windows 服务器上安装 OpenSSH Server 并打开一个端口,不一定是端口 22
您可以使用 Windows 功能安装 OpenSSH 服务器。