Ошибка при подключении к ESXI через python vsphere API - PullRequest
0 голосов
/ 19 января 2020

Я создаю сценарий, который запрашивает у пользователя полное доменное имя узла, затем сценарий переводит этот узел в режим обслуживания. Я запускаю сценарий на управляющем компьютере Windows, который явно подключен к esxi-vcsa, на котором установлены эти хосты. 11.11.11.5 - это IP-адрес vcsa.

from pyvim import connect
from pyVmomi import vim

fqdnInput = input("Enter FQDN of host: ")


host = connect.ConnectNoSSL("11.11.11.5", 443, root, lassword)
searcher = host.content.searchIndex
host = searcher.FindByDnsName(dnsName=fqdnInput, vmSearch=False)
host.EnterMaintenanceMode(0)

Когда я запускаю этот скрипт, я получаю следующую ошибку после ввода имени FQDN. (Я попробовал как только имя хоста, так и полное имя host.domain).

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\task4.py", line 14, in <module>
    host = connect.ConnectNoSSL("11.11.11.5", 443, "root", "Pa$$w0rd")
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\pyvim\connect.py", line 308, in ConnectNoSSL
    mechanism=mechanism)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\pyvim\connect.py", line 266, in Connect
    keyFile, certFile, thumbprint, sslContext, connectionPoolTimeout)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\pyvim\connect.py", line 390, in __Login
    x = content.sessionManager.Login(user, pwd, None)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\pyVmomi\VmomiSupport.py", line 706, in <lambda>
    self.f(*(self.args + (obj,) + args), **kwargs)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\pyVmomi\VmomiSupport.py", line 512, in _InvokeMethod
    return self._stub.InvokeMethod(self, info, args)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\pyVmomi\SoapAdapter.py", line 1397, in InvokeMethod
    raise obj # pylint: disable-msg=E0702
pyVmomi.VmomiSupport.NoPermission: (vim.fault.NoPermission) {
   dynamicType = <unset>,
   dynamicProperty = (vmodl.DynamicProperty) [],
   msg = 'Permission to perform this operation was denied.',
   faultCause = <unset>,
   faultMessage = (vmodl.LocalizableMessage) [],
   object = 'vim.Folder:group-d1',
   privilegeId = 'System.View'
}

Помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 05 февраля 2020

Похоже, вы имеете дело с проблемой разрешений, а не с Python. Я предполагаю, что поисковик не работает, то есть используемая учетная запись вообще не имеет доступа к инвентарю vCenter.

Вы пытались переключиться на другую учетную запись? Возможно, учетная запись "Administrator@vsphere.local"?

...