VMware Workstation: ระงับเครื่องเสมือนทั้งหมดด้วย vmrun


3

ฉันรู้ว่าฉันสามารถระงับเครื่องเสมือน VMware ที่กำหนดบนบรรทัดคำสั่งด้วย:

vmrun suspend /path/to/virtual_machine_file.vmx

มีวิธีใดที่จะระงับเครื่องเสมือนทั้งหมดพร้อมกันvmrunหรือไม่ สิ่งที่ชอบvmrun suspend all?

คำตอบ:


2

ฉันหวังว่าจะได้คำตอบง่ายๆ แต่เนื่องจากไม่มีสักเล่มฉันจึงเขียนสคริปต์ของตัวเอง ฉันหวังว่านี่จะเป็นประโยชน์กับใครบางคน! มันอยู่ใน ruby ​​- เมื่อเรียกใช้มันจะเรียกใช้vmrun listเพื่อรับรายการของ VM ที่ใช้งานทั้งหมดตัดออกจากบรรทัดแรก ("VM ที่รันทั้งหมด: x") และเรียกใช้vmrun suspendบนบรรทัดที่เหลือทั้งหมด

#!/usr/bin/ruby

VMRUN='/usr/bin/vmrun'

vms = []
open("|#{VMRUN} list") do |p| vms = p.readlines.map {|l| l.chomp } end
vms.shift
vms.each do |vmxfile|
  print "Suspending #{vmxfile}"
  system("#{VMRUN} suspend #{vmxfile}")
end

2

คำตอบเวอร์ชันไฟล์แบตช์ Windows ที่นี่ (โพสต์ที่ 3): http://communities.vmware.com/thread/92951?tstart=0

ฉันไม่ได้ทำซ้ำการแก้ปัญหาโดยตรงเพราะมันยืมรหัสจากผู้เขียนต้นฉบับในลิงค์ด้านบนและพวกเขาสมควรได้รับเครดิตของพวกเขา ฉันเพิ่งทำสิ่งที่พวกเขาทำและปรับเปลี่ยนให้หยุดการใช้งาน VM ทั้งหมดชั่วคราว (สคริปต์ต้นฉบับหยุดทำงานชั่วคราวสำรองข้อมูลและดำเนินการต่อ)


1

ฉันต้องการวิธีการทำเช่นนี้และเคล็ดลับสำหรับฉันที่นี่คือ vmrun โซลูชันบรรทัดคำสั่งอย่างง่ายของฉัน (จากไดเร็กทอรี VMware):

for /f "tokens=* skip=1" %a in ('vmrun list') do vmrun suspend "%a"

หากอยู่ในไฟล์ bat:

for /f "tokens=* skip=1" %%a in ('vmrun list') do vmrun suspend "%%a"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.