我们正在根据Windows 10企业ISO构建自定义的Vagrant基本框。
此框是使用Packer制作的,以发布推荐的基本WinRM配置:
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="512"}
winrm set winrm/config @{MaxTimeoutms="1800000"}
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
然后进行一些自定义(安装Chocolatey,...)
我们将此基础框导入Vagrant中,然后打算根据预期用途以不同的方式进行配置。
让我们假设这个最小的示例Vagrantfile:
config.vm.box = "com/windows10"
config.vm.boot_timeout = 1000
config.vm.provision "shell", inline: "echo INLINE PROVISION", privileged: false
在Vagrant 2.2.4上按原样运行时,一切正常。但是,如果我们删除privileged: false
参数(因此默认设置为true),则配置将陷入困境。
以vagrant up --debug
开头时,它停留在这一行:
...
if (!$?) { if($LASTEXITCODE) { exit $LASTEXITCODE } else { exit 1 } } with id: FB368A90-6EBB-46CE-B23A-3852DF9D6334
DEBUG winrmshell: [WinRM] creating command_id: FB368A90-6EBB-46CE-B23A-3852DF9D6334 on shell_id 5201F8B8-CD47-4977-B1F6-5D159B530E86
DEBUG winrmshell: [WinRM] Waiting for output...
我们错过了什么吗?
有没有办法使默认设置(即特权)成功?