设为首页 收藏本站
查看: 1011|回复: 0

[经验分享] vmware view 的多种接口

[复制链接]

尚未签到

发表于 2018-6-6 13:43:59 | 显示全部楼层 |阅读模式
  最近遇到一些客户的对view的自动化及监控的需求,但vmware 对view 的官方集成指南仅仅是提供了powershell的cmdlet,而且能实现的作用太少,效率太低下。
  很是纠结,vsphere那边的vcenter的 sdk较为成熟,而且提供的接口足够满足客户的需求。

  

  摸索了一番,总结下大概以下办法来实现vmware view的接口工作
  一、 官方的powershell , 可参考《vmware view 集成指南》 ,相当简单,在VCS上实现直接运行powershell cmdlet就可以。 但有很多功能无法实现,例如:
  

  1. 在view manager是可以实现从一个池中删除其中一个桌面,并可以选择是否从vcenter中删  除。但view powershell无法实现
  
  
   2. 无法实现查看这台桌面目前所使用的快照是哪个?
   例如:我的父虚拟机如果有两个快照
  /octc1_datacenter_1/vm/parentvm_esxi01/snapshot01
  /octc1_datacenter_1/vm/parentvm_esxi01/snapshot01/snapshot02
  

   无法查看出这个桌面具体是使用的是哪个快照?
  

   3. view策略可以针对到具体的池,而powerCLI无法实现。

  

  二、通过view LDAP 进行操作 ,因为vmware VCS的核心实现其实是microsoft的LDS,LDS已经实现了分布式应用程序的配置存储,所以vmware view VCS的数据存储是使用AD LDS来做的,在VCS打开ADSI编辑器,打开dc=vdi,dc=vmware,dc=int路径
  

  以下为powershell操作LDAP范例,请具体按自己实际情况调整。
  
  function connect-ldap {
  param($ldap)
  $tmpObj = New-Object System.DirectoryServices.DirectoryEntry($ldap)
  $tmpObj.psbase.Username=$username;
  $tmpObj.psbase.Password=$password;
  $tmpObj
  }
  
  
  function view-remove-desktop {
  param($name)
  $desktop = view-get-desktop $name
  $desktopCN = $desktop.cn
  $paeMemberDNOf = $desktop."pae-MemberDNOf" | extract_cn
  if($paeMemberDNOf) {
  $poolObj = view-get-pool -field cn -value $paeMemberDNOf
  $newPae = ($poolObj."pae-MemberDN" | where {$_ -notmatch $desktopCN}) | %{ if($_) { $_.tostring() } }
  if($newPae) { $poolObj."pae-MemberDN" = $newPae } else { $poolObj."pae-MemberDN" = @() }
  try { $poolObj.commitchanges() } catch { throw $error[0] }
  write "Removed $name from $($poolObj.cn)"
  } else { write "Desktop not a member of any pools" }
  }
  


  

  三、可通过https请求模拟webclient对viewmanager的操作 ,先使用wireshark分析浏览器访问view manager的报文,使用AMF3协议进行post传参,抓取报文看response信息。(引用EMC clintonskitson的方法, 可以用java BlazeDS 调AMF3去操作 vmware view manager实现接口
  

  第三种方式参考 http://velemental.com/2012/01/31/powershell-and-adobe-amf3/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-519362-1-1.html 上篇帖子: VMware下Oracle Linux安装详解 下篇帖子: VMware虚拟机三种网络模式的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表