Open
Description
Vagrant version
2.2.19
Host operating system
Windows 10 10.0.19044.1415
Guest operating system
Ubuntu 20.04. But I think it does not matter, as this code is host specific.
Vagrantfile
config.vm.provider 'hyperv' do |hv, config|
...
config.vm.synced_folder '.', '/vagrant',
type: 'smb',
smb_username: ENV['VAGRANT_SMB_USERNAME'] || ENV['USER'],
smb_password: ENV['VAGRANT_SMB_PASSWORD']
...
The full Vagrantfile is at https://github.com/rgl/ubuntu-vagrant/blob/master/example/Vagrantfile.
Debug output
The relevant part is:
INFO subprocess: Starting process: ["C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0/powershell.EXE", "-NoLogo", "-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-Command", "$p = Start-Process -FilePath powershell -ArgumentList @('-NoLogo', '-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-EncodedCommand', 'JABwACAAPQAgAFMAdABhAHIAdAAtAFAAcgBvAGMAZQBzAHMAIAAtAEYAaQBsAGUAUABhAHQAaAAgAHAAbwB3AGUAcgBzAGgAZQBsAGwAIAAtAEEAcgBnAHUAbQBlAG4AdABMAGkAcwB0ACAAQAAoACcALQBOAG8ATABvAGcAbwAnACwAIAAnAC0ATgBvAFAAcgBvAGYAaQBsAGUAJwAsACAAJwAtAE4AbwBuAEkAbgB0AGUAcgBhAGMAdABpAHYAZQAnACwAIAAnAC0ARQB4AGUAYwB1AHQAaQBvAG4AUABvAGwAaQBjAHkAJwAsACAAJwBCAHkAcABhAHMAcwAnACwAIAAnAC0ARQBuAGMAbwBkAGUAZABDAG8AbQBtAGEAbgBkACcALAAgACcASgBnAEEAZwBBAEMASQBBAFEAdwBBADYAQQBDADgAQQBTAEEAQgBoAEEASABNAEEAYQBBAEIAcABBAEUATQBBAGIAdwBCAHkAQQBIAEEAQQBMAHcAQgBXAEEARwBFAEEAWgB3AEIAeQBBAEcARQBBAGIAZwBCADAAQQBDADgAQQBaAFEAQgB0AEEARwBJAEEAWgBRAEIAawBBAEcAUQBBAFoAUQBCAGsAQQBDADgAQQBaAHcAQgBsAEEARwAwAEEAYwB3AEEAdgBBAEQASQBBAEwAZwBBAHkAQQBDADQAQQBNAFEAQQA1AEEAQwA4AEEAWgB3AEIAbABBAEcAMABBAGMAdwBBAHYAQQBIAFkAQQBZAFEAQgBuAEEASABJAEEAWQBRAEIAdQBBAEgAUQBBAEwAUQBBAHkAQQBDADQAQQBNAGcAQQB1AEEARABFAEEATwBRAEEAdgBBAEgAQQBBAGIAQQBCADEAQQBHAGMAQQBhAFEAQgB1AEEASABNAEEATAB3AEIAbwBBAEcAOABBAGMAdwBCADAAQQBIAE0AQQBMAHcAQgAzAEEARwBrAEEAYgBnAEIAawBBAEcAOABBAGQAdwBCAHoAQQBDADgAQQBjAHcAQgBqAEEASABJAEEAYQBRAEIAdwBBAEgAUQBBAGMAdwBBAHYAQQBIAE0AQQBaAFEAQgAwAEEARgA4AEEAYwB3AEIAbwBBAEcARQBBAGMAZwBCAGwAQQBDADQAQQBjAEEAQgB6AEEARABFAEEASQBnAEEAZwBBAEMASQBBAFEAdwBBADYAQQBGAHcAQQBjAGcAQgBuAEEARwB3AEEAWABBAEIAMQBBAEcASQBBAGQAUQBCAHUAQQBIAFEAQQBkAFEAQQB0AEEASABZAEEAWQBRAEIAbgBBAEgASQBBAFkAUQBCAHUAQQBIAFEAQQBYAEEAQgBsAEEASABnAEEAWQBRAEIAdABBAEgAQQBBAGIAQQBCAGwAQQBDAEkAQQBJAEEAQQBpAEEASABZAEEAWgB3AEIAMABBAEMAMABBAFoAUQBBADIAQQBHAE0AQQBaAFEAQQB4AEEARABjAEEATwBBAEIAaQBBAEcARQBBAE0AQQBBADUAQQBEAGcAQQBOAGcAQgBqAEEARABRAEEATQBnAEEAdwBBAEQASQBBAE8AUQBCAGwAQQBHAE0AQQBNAFEAQQB6AEEARwBVAEEATgBBAEIAagBBAEcAUQBBAE4AQQBCAGkAQQBEAEkAQQBNAEEAQQB4AEEAQwAwAEEATgBnAEIAaABBAEcAUQBBAE4AUQBCAG0AQQBHAFEAQQBZAGcAQgBqAEEARwBJAEEAWgBnAEEAeQBBAEcAVQBBAFkAUQBCAGgAQQBEAGsAQQBNAHcAQgBpAEEARwBRAEEATgBnAEEAeQBBAEcAWQBBAE8AUQBBAHkAQQBEAE0AQQBNAHcAQQB6AEEARwBFAEEATQBnAEIAbABBAEQAWQBBAFoAUQBBADEAQQBDAEkAQQBJAEEAQQBpAEEASABZAEEAWgB3AEIAMABBAEMAMABBAFoAUQBBADIAQQBHAE0AQQBaAFEAQQB4AEEARABjAEEATwBBAEIAaQBBAEcARQBBAE0AQQBBADUAQQBEAGcAQQBOAGcAQgBqAEEARABRAEEATQBnAEEAdwBBAEQASQBBAE8AUQBCAGwAQQBHAE0AQQBNAFEAQQB6AEEARwBVAEEATgBBAEIAagBBAEcAUQBBAE4AQQBCAGkAQQBEAEkAQQBNAEEAQQB4AEEAQwAwAEEATgBnAEIAaABBAEcAUQBBAE4AUQBCAG0AQQBHAFEAQQBZAGcAQgBqAEEARwBJAEEAWgBnAEEAeQBBAEcAVQBBAFkAUQBCAGgAQQBEAGsAQQBNAHcAQgBpAEEARwBRAEEATgBnAEEAeQBBAEcAWQBBAE8AUQBBAHkAQQBEAE0AQQBNAHcAQQB6AEEARwBFAEEATQBnAEIAbABBAEQAWQBBAFoAUQBBADEAQQBDAEkAQQBJAEEAQQA3AEEAQwBBAEEAWgBRAEIANABBAEcAawBBAGQAQQBBAGcAQQBDAFEAQQBUAEEAQgBCAEEARgBNAEEAVgBBAEIARgBBAEYAZwBBAFMAUQBCAFUAQQBFAE0AQQBUAHcAQgBFAEEARQBVAEEATwB3AEEAPQAnACkAIAAtAFAAYQBzAHMAVABoAHIAdQAgAC0AVwBpAG4AZABvAHcAUwB0AHkAbABlACAASABpAGQAZABlAG4AIAAtAFcAYQBpAHQAIAAtAFIAZQBkAGkAcgBlAGMAdABTAHQAYQBuAGQAYQByAGQATwB1AHQAcAB1AHQAIAAnAEMAOgAvAFUAcwBlAHIAcwAvAFIAVQBJAEcAfgAxAC4ATABPAFAALwBBAHAAcABEAGEAdABhAC8ATABvAGMAYQBsAC8AVABlAG0AcAAvAHYAYQBnAHIAYQBuAHQAMgAwADIAMgAwADEAMAAzAC0ANAA0ADQANAAtADEAZABhAGoAaAAyAGQALwBzAHQAZABvAHUAdAAuAHQAeAB0ACcAIAAtAFIAZQBkAGkAcgBlAGMAdABTAHQAYQBuAGQAYQByAGQARQByAHIAbwByACAAJwBDADoALwBVAHMAZQByAHMALwBSAFUASQBHAH4AMQAuAEwATwBQAC8AQQBwAHAARABhAHQAYQAvAEwAbwBjAGEAbAAvAFQAZQBtAHAALwB2AGEAZwByAGEAbgB0ADIAMAAyADIAMAAxADAAMwAtADQANAA0ADQALQAxAGQAYQBqAGgAMgBkAC8AcwB0AGQAZQByAHIALgB0AHgAdAAnADsAIABpAGYAKAAkAHAAKQB7ACAAZQB4AGkAdAAgACQAcAAuAEUAeABpAHQAQwBvAGQAZQA7ACAAfQBlAGwAcwBlAHsAIABlAHgAaQB0ACAAMQAgAH0A') -PassThru -WindowStyle Hidden -Wait -Verb RunAs; if($p){ exit $p.ExitCode; }else{ exit 1 }"]
INFO subprocess: Command not in installer, restoring original environment...
DEBUG subprocess: Selecting on IO
DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 31998
DEBUG subprocess: Exit status: 1
ERROR warden: Error occurred: Exporting an SMB share failed! Details about the failure are shown
below. Please inspect the error message and correct any problems.
Host path:
Stderr:
Stdout:
INFO warden: Beginning recovery process...
Expected behavior
The SMB share should have been created without any error.
Actual behavior
It failed to create the SMB with an unknown error.
After decoding the logged script from above, this comes down to:
& "C:/HashiCorp/Vagrant/embedded/gems/2.2.19/gems/vagrant-2.2.19/plugins/hosts/windows/scripts/set_share.ps1" "C:\rgl\ubuntu-vagrant\example" "vgt-e6ce178ba0986c42029ec13e4cd4b201-6ad5fdbcbf2eaa93bd62f92333a2e6e5" "vgt-e6ce178ba0986c42029ec13e4cd4b201-6ad5fdbcbf2eaa93bd62f92333a2e6e5" ; exit $LASTEXITCODE;
Which , when manually executed, returns this:
The syntax of this command is:
NET SHARE
sharename
sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
[/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents| Programs | BranchCache | None]
sharename [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents | Programs | BranchCache | None]
{sharename | devicename | drive:path} /DELETE
sharename \\computername /DELETE
share path: C:\rgl\ubuntu-vagrant\example
error
Looking at that set_share.ps1 script, I have a couple of questions:
- Why is it using
net share
instead of theNew-SmbShare
cmdlet (which is supported from Windows 2012R2+)?- NB Replacing
net share
withNew-SmbShare
worked for me.
- NB Replacing
- Why is it granting permissions to
Everyone
instead of thesmb_username
given in theVagrantfile
? - There's a logical error in the
for
loop. It should use the-lt
(less than) operator instead of-le
(less than or equal).- NB Without this, that script will always print the odd
WARNING: empty path argument encountered - complete
message.
- NB Without this, that script will always print the odd
Would a PR be acceptable for fixing this (at least 1 and 3)?
Metadata
Metadata
Assignees
Labels
No labels