Заранее прошу прощения, если на этот вопрос уже был дан ответ, я ничего об этом не нашел.
Я работаю над PowerCLi 6.0 для vSphere 6.
I иметь все разрешения для определенной папки c (называемой «XXXFolder»), но не для всего хоста. В этой папке я пытаюсь автоматизировать операции выключения / включения с помощью C#.
VMware.Vim.VimClientImpl myClient = new VimClientImpl();
myClient.Connect("https://" + hostName + ":443/sdk");
myClient.Login(userName, passWord);
NameValueCollection propertyFilter = new NameValueCollection();
propertyFilter.Add("name", "VMName");
VMware.Vim.VirtualMachine myVM = (VirtualMachine)myClient.FindEntityView(typeof(VirtualMachine), null, propertyFilter, null);
Операция powerOff отлично работает следующим образом:
myVM.PowerOffVM();
Но для PowerOn , он принимает в качестве аргумента хост, на котором размещена виртуальная машина. Что-то вроде:
myVM.PowerOn(myVM.Runtime.Host);
Но поскольку у меня нет разрешений на хосте (напомню, только в указанной папке c, в которой находится виртуальная машина), я выхожу в исключение со следующим сообщением :
"Permission to perform this operation was denied."
Обратите внимание, что следующая команда Powershell отлично работает:
Start-VM -VM $myVM
Кто-нибудь знает в C#, как включить виртуальную машину, которая находится в определенном c папка?
Большое спасибо за помощь.