WinRM与远程执行连接超时- Azure Terraform


connection {
type = "winrm"
user = "testadmin"
password = "Password1234!"
host = azurerm_public_ip.example.ip_address

}粮食供应者"remote-exec"{

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

更多信息请参考以下链接:-

  • 所以线程|Terraform - Azure Windows VM winrm连接问题

执行给定任务的另一种方法是使用OpenSSH而不是WinRM。但是,您需要在Windows服务器上安装OpenSSH Server并打开一个端口,不一定是端口22

您可以使用windows-capability安装OpenSSH服务器。

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

最新更新