我管理的客户服务器运行的是最新版本的 VMware ESXi - 8.0U2 Enterprise Plus,但我相信自从我多年前开始使用 ESXi 以来,这种情况就一直存在。
每次您登录 vSphere 的 Web 客户端并单击虚拟机时,列表都会以随机顺序显示(可能按照添加顺序)。您必须记住按 AZ 排序。有时,如果您不注意,名称相似的虚拟机可能会出现在您通常希望看到另一个虚拟机的位置(按 AZ 排序时)。
我们如何才能永久地保持虚拟机列表按字母顺序排序?
讨论的是每个单独服务器上的 ESXi/vSphere,而不是 vCenter。
我在网上查了一下,答案是没出现变得显而易见。
以下是另一个用户的示例截图:
答案1
以下是初步尝试坦普猴用户脚本:
// ==UserScript==
// @name ESXi - Keep VMs sorted alphabetically
// @namespace http://serverfault.com
// @website https://serverfault.com/questions/1157687/how-to-keep-vms-sorted-alphabetically-in-vmware-esxi-vsphere
// @version 0.04
// @description When the VMs list in ESXi loads, this script will sort them alphabetically - you're free to sort them yourself afterwards!
// @author Public domain
// @match https://123.45.67.89/ui/
// @icon https://www.google.com/s2/favicons?sz=64&domain=vmware.com
// @grant none
// @run-at document-end
// @require http://code.jquery.com/jquery-latest.min.js
// ==/UserScript==
(function() {
'use strict';
var $ = window.$;
$(document).ready(function(){
window.setTimeout(function() {
var languages = ['Virtual machine', 'Machine virtuelle', 'Máquina virtual', 'Virtuelle Maschine', 'Macchina virtuale', '虚拟机', '虛擬機器', '가상 시스템', '仮想マシン'];
$(languages).each(function(index, value) {
$(`esx-vm-list th[data-title="${languages[index]}"`).click();
});
console.log('Sorted VMs alphabetically!');
}, 15000);
});
})();
替换123.45.67.89
为您服务器的 IP 地址或您访问 ESXi 的地址。
您可以使用通配符,如123.45.67.*
Tampermonkey,或者您可以复制该行以添加其他主机文档。
它可以做某事:
- 加载后立即运行,而不是等待 15 秒
- (如果您的服务器加载页面的时间超过 15 秒,那么它将不会按字母顺序对虚拟机进行排序,但它会正常失败)
- 每次在 UI 中更改页面时都会运行
- (而不是只在您通过书签进入页面时运行
https://123.45.67.89/ui/#/host/vms
)
- (而不是只在您通过书签进入页面时运行
- 使用本地 jQuery,而不是从网上下载
- (ESXi 已经使用了 jQuery,您可以通过
$
控制台访问它,而无需用户脚本)
- (ESXi 已经使用了 jQuery,您可以通过
距离上次编写用户脚本已经有一段时间了!
如果你想编辑这个答案并解决上述任何问题,那么请这样做 - 这是一个社区维基
答案2
不确定你为什么被否决。
但是......不幸的是,VMware ESXi vSphere 中没有内置功能可以永久保持 VM 列表默认按字母顺序排序。