- 首页
- 河南专业网站建设加盟
- 正文
中国直销部直销平台官网_武汉网页设计公司招聘_大涌网络平台推广_大数据专业建设规划
def main():vcenter_host = "192.168.x.x" #也可以是一个域名vcenter_user = "test@vsphere.local"vcenter_password = "test"service_instance = connect_to_vcenter(vcenter_host, vcenter_user, vcenter_password)if not service_instance:return# 显示菜单以供用户选择操作print("请选择要执行的操作:")print("0. 关机")print("1. 开机")print("2. 重启") # 获取用户选择的操作choice = input("请输入选项的编号: ")# 根据用户选择执行相应的操作if choice in ["0", "1", "2"]:# 对每个虚拟机执行相同的操作for vm_name in vm_names:try:vm = Nonecontainer = service_instance.content.rootFolderviewType = [vim.VirtualMachine]recursive = TruecontainerView = service_instance.content.viewManager.CreateContainerView(container, viewType, recursive)for managedEntity in containerView.view:if managedEntity.name == vm_name:vm = managedEntitybreakif vm:if choice == "0":if vm.runtime.powerState == vim.VirtualMachinePowerState.poweredOn:vm.PowerOff()print(f"虚拟机 {vm_name} 已关机。")else:print(f"虚拟机 {vm_name} 已经是关机状态。")elif choice == "1":if vm.runtime.powerState == "poweredOff":vm.PowerOn()print(f"虚拟机 {vm_name} 已开机。")else:print(f"虚拟机 {vm_name} 已经是开机状态。")elif choice == "2":vm.Reset()print(f"虚拟机 {vm_name} 已重启。")else:print(f"无法找到虚拟机 {vm_name}")except Exception as e:print(f"无法执行操作 {choice} 对虚拟机 {vm_name}: {str(e)}")else:print("无效的选项,请重新运行脚本并输入正确的选项编号。")# 断开与 vCenter 主机的连接connect.Disconnect(service_instance)if __name__ == "__main__":main()