Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit 4b69069

Browse files
authored
Merge pull request #4404 from davemay99/4342-powercli-collision
Fix issue #4342 - PowerShell cmdlet name collision with VMware PowerCLI
2 parents 7c1c8d7 + 15095c9 commit 4b69069

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

drivers/hyperv/hyperv.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func (d *Driver) GetURL() (string, error) {
128128
}
129129

130130
func (d *Driver) GetState() (state.State, error) {
131-
stdout, err := cmdOut("(", "Get-VM", d.MachineName, ").state")
131+
stdout, err := cmdOut("(", "hyper-v\\Get-VM", d.MachineName, ").state")
132132
if err != nil {
133133
return state.None, fmt.Errorf("Failed to find the VM status")
134134
}
@@ -205,7 +205,7 @@ func (d *Driver) Create() error {
205205
return err
206206
}
207207

208-
if err := cmd("New-VM",
208+
if err := cmd("hyper-v\\New-VM",
209209
d.MachineName,
210210
"-Path", fmt.Sprintf("'%s'", d.ResolveStorePath(".")),
211211
"-SwitchName", quote(virtualSwitch),
@@ -214,37 +214,37 @@ func (d *Driver) Create() error {
214214
}
215215

216216
if d.CPU > 1 {
217-
if err := cmd("Set-VMProcessor",
217+
if err := cmd("hyper-v\\Set-VMProcessor",
218218
d.MachineName,
219219
"-Count", fmt.Sprintf("%d", d.CPU)); err != nil {
220220
return err
221221
}
222222
}
223223

224224
if d.MacAddr != "" {
225-
if err := cmd("Set-VMNetworkAdapter",
225+
if err := cmd("hyper-v\\Set-VMNetworkAdapter",
226226
"-VMName", d.MachineName,
227227
"-StaticMacAddress", fmt.Sprintf("\"%s\"", d.MacAddr)); err != nil {
228228
return err
229229
}
230230
}
231231

232232
if d.VLanID > 0 {
233-
if err := cmd("Set-VMNetworkAdapterVlan",
233+
if err := cmd("hyper-v\\Set-VMNetworkAdapterVlan",
234234
"-VMName", d.MachineName,
235235
"-Access",
236236
"-VlanId", fmt.Sprintf("%d", d.VLanID)); err != nil {
237237
return err
238238
}
239239
}
240240

241-
if err := cmd("Set-VMDvdDrive",
241+
if err := cmd("hyper-v\\Set-VMDvdDrive",
242242
"-VMName", d.MachineName,
243243
"-Path", quote(d.ResolveStorePath("boot2docker.iso"))); err != nil {
244244
return err
245245
}
246246

247-
if err := cmd("Add-VMHardDiskDrive",
247+
if err := cmd("hyper-v\\Add-VMHardDiskDrive",
248248
"-VMName", d.MachineName,
249249
"-Path", quote(diskImage)); err != nil {
250250
return err
@@ -257,7 +257,7 @@ func (d *Driver) Create() error {
257257
func (d *Driver) chooseVirtualSwitch() (string, error) {
258258
if d.VSwitch == "" {
259259
// Default to the first external switche and in the process avoid DockerNAT
260-
stdout, err := cmdOut("(Get-VMSwitch -SwitchType External).Name")
260+
stdout, err := cmdOut("(hyper-v\\Get-VMSwitch -SwitchType External).Name")
261261
if err != nil {
262262
return "", err
263263
}
@@ -271,7 +271,7 @@ func (d *Driver) chooseVirtualSwitch() (string, error) {
271271
return switches[0], nil
272272
}
273273

274-
stdout, err := cmdOut("(Get-VMSwitch).Name")
274+
stdout, err := cmdOut("(hyper-v\\Get-VMSwitch).Name")
275275
if err != nil {
276276
return "", err
277277
}
@@ -327,7 +327,7 @@ func (d *Driver) waitStopped() error {
327327

328328
// Start starts an host
329329
func (d *Driver) Start() error {
330-
if err := cmd("Start-VM", d.MachineName); err != nil {
330+
if err := cmd("hyper-v\\Start-VM", d.MachineName); err != nil {
331331
return err
332332
}
333333

@@ -343,7 +343,7 @@ func (d *Driver) Start() error {
343343

344344
// Stop stops an host
345345
func (d *Driver) Stop() error {
346-
if err := cmd("Stop-VM", d.MachineName); err != nil {
346+
if err := cmd("hyper-v\\Stop-VM", d.MachineName); err != nil {
347347
return err
348348
}
349349

@@ -369,7 +369,7 @@ func (d *Driver) Remove() error {
369369
}
370370
}
371371

372-
return cmd("Remove-VM", d.MachineName, "-Force")
372+
return cmd("hyper-v\\Remove-VM", d.MachineName, "-Force")
373373
}
374374

375375
// Restart stops and starts an host
@@ -384,7 +384,7 @@ func (d *Driver) Restart() error {
384384

385385
// Kill force stops an host
386386
func (d *Driver) Kill() error {
387-
if err := cmd("Stop-VM", d.MachineName, "-TurnOff"); err != nil {
387+
if err := cmd("hyper-v\\Stop-VM", d.MachineName, "-TurnOff"); err != nil {
388388
return err
389389
}
390390

@@ -406,7 +406,7 @@ func (d *Driver) GetIP() (string, error) {
406406
return "", drivers.ErrHostIsNotRunning
407407
}
408408

409-
stdout, err := cmdOut("((", "Get-VM", d.MachineName, ").networkadapters[0]).ipaddresses[0]")
409+
stdout, err := cmdOut("((", "hyper-v\\Get-VM", d.MachineName, ").networkadapters[0]).ipaddresses[0]")
410410
if err != nil {
411411
return "", err
412412
}
@@ -440,7 +440,7 @@ func (d *Driver) generateDiskImage() (string, error) {
440440
}
441441

442442
log.Infof("Creating VHD")
443-
if err := cmd("New-VHD", "-Path", quote(fixed), "-SizeBytes", fixedDiskSize, "-Fixed"); err != nil {
443+
if err := cmd("hyper-v\\New-VHD", "-Path", quote(fixed), "-SizeBytes", fixedDiskSize, "-Fixed"); err != nil {
444444
return "", err
445445
}
446446

@@ -462,12 +462,12 @@ func (d *Driver) generateDiskImage() (string, error) {
462462
}
463463
file.Close()
464464

465-
if err := cmd("Convert-VHD", "-Path", quote(fixed), "-DestinationPath", quote(diskImage), "-VHDType", "Dynamic", "-DeleteSource"); err != nil {
465+
if err := cmd("hyper-v\\Convert-VHD", "-Path", quote(fixed), "-DestinationPath", quote(diskImage), "-VHDType", "Dynamic", "-DeleteSource"); err != nil {
466466
return "", err
467467
}
468468

469469
if isWindowsAdmin {
470-
if err := cmd("Resize-VHD", "-Path", quote(diskImage), "-SizeBytes", toMb(d.DiskSize)); err != nil {
470+
if err := cmd("hyper-v\\Resize-VHD", "-Path", quote(diskImage), "-SizeBytes", toMb(d.DiskSize)); err != nil {
471471
return "", err
472472
}
473473
}

drivers/hyperv/powershell.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func parseLines(stdout string) []string {
5555
}
5656

5757
func hypervAvailable() error {
58-
stdout, err := cmdOut("@(Get-Command Get-VM).ModuleName")
58+
stdout, err := cmdOut("@(Get-Command hyper-v\\Get-VM).ModuleName")
5959
if err != nil {
6060
return err
6161
}

0 commit comments

Comments
 (0)