使用 Vagrant 配置 Windows VM 无法执行远程 WinRM 命令

     2023-03-23     55

关键词:

【中文标题】使用 Vagrant 配置 Windows VM 无法执行远程 WinRM 命令【英文标题】:Provisioning Windows VM with Vagrant cannot execute remote WinRM commands 【发布时间】:2021-11-27 14:37:12 【问题描述】:

我正在尝试在现有的 Vagrant 机器上安装一些基本工具,但我的 shell 命令失败,因为 Vagrant 无法执行 WinRM 命令。

我得到以下输出:

❯ vagrant up --provider vmware_workstation
Bringing machine 'default' up with 'vmware_workstation' provider...
==> default: Cloning VMware VM: 'StefanScherer/windows_2019'. This can take some time...
==> default: Verifying vmnet devices are healthy...
==> default: Preparing network adapters...
==> default: Fixed port collision for 3389 => 3389. Now on port 2200.
==> default: Starting the VMware VM...
==> default: Waiting for the VM to receive an address...
==> default: Forwarding ports...
    default: -- 3389 => 2200
    default: -- 5985 => 55985
    default: -- 5986 => 55986
    default: -- 22 => 2222
==> default: Waiting for machine to boot. This may take a few minutes...
    default: WinRM address: 127.0.0.1:55985
    default: WinRM username: vagrant
    default: WinRM execution_time_limit: PT2H
    default: WinRM transport: negotiate
An error occurred executing a remote WinRM command.

Shell: Cmd
Command: hostname
Message: [WSMAN ERROR CODE: 2147942421]: <f:WSManFault Code='2147942421' Machine='127.0.0.1' xmlns:f='http://schemas.microsoft.com/wbem/wsman/1/wsmanfault'><f:Message><f:ProviderFault path='%systemroot%\system32\winrscmd.dll' provider='Shell cmd plugin'>The device is not ready. </f:ProviderFault></f:Message></f:WSManFault>

当我查看虚拟机时,它会打开“你想信任这个网络吗”弹出窗口。当我遵循该过程并接受提示时,配置将按预期继续,但我真的不想等待 Windows 出现并单击按钮。有没有办法实现自动化?

这是我正在使用的 Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "StefanScherer/windows_2019"

  # Setup environment.
  config.vm.provision "shell", path: "provision.ps1"
  # PowerShell must be reloaded, so we'll open up a new instance.
  config.vm.provision "shell", inline: "choco feature enable -n allowGlobalConfirmation"
  config.vm.provision "shell", inline: "choco install firefox azure-cli terraform"

  config.vm.provider "vmware_workstation" do |v|
    v.gui = true
  end
end

【问题讨论】:

【参考方案1】:

没关系。经过更多测试后,我发现我只需要增加 Vagrantfile 中 WinRM 连接的重试次数:

config.winrm.max_tries = 300 # default is 20
config.winrm.retry_delay = 2 #seconds. This is the defaul value and just here for documentation.

这会将超时设置为 10 分钟,这在我的机器上足以启动 Windows VM。然而,默认的 40 秒通常是不够的,有时只能正确配置我的虚拟机。

希望这对任何人都有帮助。

【讨论】:

如何控制 Vagrant 用于配置 VM 的 Chef 版本?

】如何控制Vagrant用于配置VM的Chef版本?【英文标题】:HowtocontroltheversionofChefthatVagrantusestoprovisionVMs?【发布时间】:2012-07-0417:52:31【问题描述】:由于版本0.10.10中的错误,当前的Chef食谱未运行。如何将Vagrant使用的Chef版本升级到... 查看详情

获取在 Vagrant VM 上运行的 LAMP 堆栈(在 Windows 7 主机下),完整说明?

】获取在VagrantVM上运行的LAMP堆栈(在Windows7主机下),完整说明?【英文标题】:GettingaLAMPstackrunningonaVagrantVM(underWindows7host),fullinstructions?【发布时间】:2013-01-1413:21:10【问题描述】:我有一个VagrantVM标准问题lucid32.box正在运行。... 查看详情

vagrant 中的 JS 和 CSS 文件在 VM 之外保存时未正确编码

】vagrant中的JS和CSS文件在VM之外保存时未正确编码【英文标题】:JSandCSSfilesinvagrantnotproperlyencodedwhensavedoutsideoftheVM【发布时间】:2012-09-2818:37:12【问题描述】:我在OSX、Ubuntu和Windows7上运行vagrant,并在主机上使用vim和Netbeans作为ID... 查看详情

Vagrant:如何禁用 Windows 主机的 NFS 同步文件夹?

】Vagrant:如何禁用Windows主机的NFS同步文件夹?【英文标题】:Vagrant:howtodisableNFSsyncfoldersforWindowshost?【发布时间】:2013-08-2607:38:53【问题描述】:我们需要与Linux、MacOS和Windows主机共享VM。但是,对于Linux和MacOS,建议使用NFS共享... 查看详情

(虚拟机)VM 内的 ls /vagrant 挂起

】(虚拟机)VM内的ls/vagrant挂起【英文标题】:ls/vagrantinsidea(virtualbox)VMhangs【发布时间】:2014-02-1416:00:44【问题描述】:我用下面的Vagrant文件配置了一个VM(vagrantup),然后我“vagrantssh”进入它,然后*ls/vagrant*它永远挂起,我... 查看详情

在 Windows 7 主机上使用活动 *** 连接启动时,vagrant 配置的 virtualbox 无法访问互联网

】在Windows7主机上使用活动***连接启动时,vagrant配置的virtualbox无法访问互联网【英文标题】:vagrantprovisionedvirtualboxcannotaccesstheinternetwhenbootedupwithanactive***connectiononthewindows7host【发布时间】:2015-04-0403:02:48【问题描述】:我在设... 查看详情

vagrant中配置局域网端口

1.在自己的电脑中想使用Vagrant在局域网中安装centos,并将其ip释放到局域网中提供给自己的机器访问,这种操作需要在VagrantFile中加入如下配置config.vm.network"private_network",ip:"192.168.21.4"2.解决ssh登录不上去的问题首先vagrant得默认密... 查看详情

在windows上通过vagrant练习ansible

有点曲折,但没办法,还要通过VAGRANT里的ANSIBLE建DOCKER呢。。VagrantFile#-*-mode:ruby-*-#vi:setft=ruby:Vagrant.configure(2)do|config|config.vm.box="ubuntu/trusty64"if(/cygwin|mswin|mingw|bccwin|wince|emx/=~RUBY_PLATFORM)! 查看详情

windows下vagrant的安装使用

vagrant是简便虚拟机操作的一个软件,而使用虚拟机是为了开发环境与生产环境一致(很多开发环境为windows而生产环境为linux),不至于出现在开发环境正常而移步到正式生产环境时出现各种问题,vagrant通过共享文件,可以实现... 查看详情

Fedora 22 上的 NFS Vagrant

】Fedora22上的NFSVagrant【英文标题】:NFSVagrantonFedora22【发布时间】:2015-05-3005:41:59【问题描述】:我正在尝试使用libvirt作为我的提供程序来运行Vagrant。使用rsync是无法忍受的,因为我正在处理一个巨大的共享目录,但是当nfs设置... 查看详情

Vagrant 卡在“等待 VM 启动”

】Vagrant卡在“等待VM启动”【英文标题】:Vagrantstuckin"WaitingforVMtoBoot"【发布时间】:2014-09-2204:19:28【问题描述】:我想先提到这个问题,我确实已经查看了大多数(如果不是全部)流浪的“等待VM启动”故障排除线程:... 查看详情

vagrant在windows下的安装和配置(代码片段)

记录一下安装和配置过程中的一些坑步骤一分别下载vagrant和VirtualBox,我这里下载的是vagrant_1.9.1.msi和VirtualBox-5.1.14-112924-Win.exe步骤二这两个东东安装好之后,我在e盘创建了一个myvagrant目录,作为工程目录,进入该目录,进行添... 查看详情

5运行多个vagrant主机

注释:多虚拟机启动的首选网络连接方式是host-onlynetworking1.一个最简单的配置Vagrant.configure(2) do |config|  config.vm.box = "centos"  config.vm.box_url = "G:/vagrant-centos-6.7 查看详情

windows安装使用vagrant(代码片段)

下载:a.virtualbox:https://www.virtualbox.org/wiki/Downloadsb.vagrant:https://www.vagrantup.com/downloads.htmlc.centos7.box:http://cloud.centos.org/centos/7/vagrant/x86_64/images/安装:a.安装virtualboxb.安装vag 查看详情

Microsoft Edge 不会在 Vagrant VM 中加载本地 nginx 网站

】MicrosoftEdge不会在VagrantVM中加载本地nginx网站【英文标题】:MicrosoftEdgewon\'tloadlocalnginxwebsiteinVagrantVM【发布时间】:2016-11-1423:26:17【问题描述】:我遇到了一个奇怪的问题,即MicrosoftEdge无法加载托管在vagrant虚拟机中的本地CraftCM... 查看详情

vagrant之运维,搭建统一开发环境

     特点:通过vagrant打包环境,可以跨平台使用。意思就是在windows下可以使用ubuntu系统配置的环境使用的平台:windows+64位需要准备的工具:      virtualbox:虚拟机 https://www.virtualbox.org/w... 查看详情

SSH 到 Windows 中的 Vagrant 框?

】SSH到Windows中的Vagrant框?【英文标题】:SSHtoVagrantboxinWindows?【发布时间】:2012-04-1017:20:59【问题描述】:我正在使用Vagrant在Windows中启动VirtualBoxVM。在其他平台,我只能$vagrantssh连接到虚拟机。如何在windows中连接到这个Vagrant盒... 查看详情

将 NFS 与 vagrant 一起使用不起作用

】将NFS与vagrant一起使用不起作用【英文标题】:UsingNFSwithvagrantdoesn\'twork【发布时间】:2014-11-2312:44:51【问题描述】:我的Vagrantfile中有以下内容:config.vm.network:private_network,ip:"10.0.0.103"config.vm.synced_folder".","/vagrant/",type:"nfs"在新盒... 查看详情