Using pyvmomi, how do you switch servers?

  Kiến thức lập trình

In my vSphere Client, I have two servers, Dev and Prod. Using the script found at, only the VMs in Prod are listed, but none of the VMs in Dev are found.

The code doesn’t seem to show a way to select a server. How do you set the server so that all the VMs in Dev can be listed?

#!/usr/bin/env python
# (copyright removed for brevity)

Python program for listing the VMs on an ESX / vCenter host

import re
from pyVmomi import vmodl, vim
from tools import cli, service_instance

def print_vm_info(virtual_machine):
    Print information for a particular virtual machine or recurse into a
    folder with depth protection
    # print statement removed for brevity

def main():
    Simple command-line program for listing the virtual machines on a system.

    parser = cli.Parser()
    parser.add_custom_argument('-f', '--find', required=False,
                               action='store', help='String to match VM names')
    args = parser.get_args()
    si = service_instance.connect(args)

        content = si.RetrieveContent()

        container = content.rootFolder  # starting point to look into
        view_type = [vim.VirtualMachine]  # object types to look for
        recursive = True  # whether we should look into it recursively
        container_view = content.viewManager.CreateContainerView(
            container, view_type, recursive)

        children = container_view.view
        if args.find is not None:
            pat = re.compile(args.find, re.IGNORECASE)
        for child in children:
            if args.find is None:
                if is not None:

    except vmodl.MethodFault as error:
        print("Caught vmodl fault : " + error.msg)
        return -1

    return 0

# Start program
if __name__ == "__main__":