在ESX上用SDK(c#)的CreateFolder方法

ALCAT 2011-08-05 05:14:42
想在ESX上用SDK(c#)的CreateFolder方法创建新的文件夹 ,发现有个老外写的比较详细

The CreateFolder() method needs to be called from either the vmFolder (VM/template view) or hostFolder (host/cluster view). You first need to get a reference to specific datacenter you want to create the folder and then from there you can get access to vmFolder or hostFolder as seen from datacenter managed object: http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.Datacenter.html

下面是代码:


// Get The Data Center. "ha-datacenter" is the name of the datacenter
ManagedObjectReference dcmor
= GetDecendentMoRef(null, "Datacenter", "ha-datacenter");



//ManagedObjectReference vmFolderMor
// = (ManagedObjectReference)GetDynamicProperty(dcmor, "vmFolder");
//MessageBox.Show("vmFolderMor.type " + vmFolderMor.type);
//MessageBox.Show("vmFolderMor.Value " + vmFolderMor.Value);



// Default Host
ManagedObjectReference hostFolderMor
= (ManagedObjectReference)GetDynamicProperty(dcmor, "hostFolder");
MessageBox.Show("hostFolderMor.type " + hostFolderMor.type);
MessageBox.Show("hostFolderMor.Value " + hostFolderMor.Value);



if (hostFolderMor == null)
{
MessageBox.Show("The parent folder does no exist!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return false;
}



// However, when debugged here, it return an error " The operation is not supported on the object."

if ((_service.CreateFolder(hostFolderMor, "UBUNTEST")) == null)
{
MessageBox.Show("Folder created failed!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return false;
}



但是无论是vmFolder或者hostFolder,在执行到 CreateFolder()的时候就报错"The operation is not supported on the object."。

想不明白,但是确实是用这个方法才行,不解。。。

很急,求高人指点!!!

或者能给个用HTTP协议在远程服务器上创建文件夹得方法也行,不胜感激!
...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ALCAT 2011-09-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dpf587 的回复:]
是在esxi里操作,还是vcenter server里???
[/Quote]
都不是,操纵ESXi的
dpf587 2011-09-16
  • 打赏
  • 举报
回复
是在esxi里操作,还是vcenter server里???
ALCAT 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuzhanhui 的回复:]

解决了吗
[/Quote]

解决了,不过是调用MakeDirectory的方法。
ALCAT 2011-08-12
  • 打赏
  • 举报
回复
还是没法解决啊!
jshzp 2011-08-05
  • 打赏
  • 举报
回复
“用HTTP协议在远程服务器上创建文件夹”,试试WebClient类。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧