【问题标题】:How to retrieve xenstore parameters from WMI interface如何从 WMI 接口检索 xenstore 参数
【发布时间】:2013-12-08 01:00:10
【问题描述】:

我正在尝试使用 WMI 从 xenstore 检索一些参数(具体来说,我希望在创建 VM IP 地址后使用this script 更改它)。

根据this article,看来我应该能够做类似的事情:

从 xenserver CLI:

xe vm-param-set uuid=e66660e9-85e1-1f99-3229-1dfa7d1065a8 xenstore-data:data/TempValue=test

然后在 powershell 脚本中:

$base = gwmi -n root\wmi -cl CitrixXenStoreBase 
$sid = $base.AddSession("MyNewSession") 
$session = gwmi -n root\wmi -q "select * from CitrixXenStoreSession where SessionId=$($sid.SessionId)" 
$output = $session.GetValue("data/TempValue").value
log "$output"

但这似乎并没有检索到我期望的值。

我注意到的一件事是,如果我从 powershell 脚本设置值,当我运行前一个脚本时,它似乎始终如一地检索该值:

$base = gwmi -n root\wmi -cl CitrixXenStoreBase 
$sid = $base.AddSession("MyNewSession") 
$session = gwmi -n root\wmi -q "select * from CitrixXenStoreSession where SessionId=$($sid.SessionId)" 
$session.SetValue("data/TempValue","This is a string")

似乎跨会话保留设置值,但是当我返回 CLI 并尝试查找该值时,我什么也没得到:

xe vm-param-list uuid=e66660e9-85e1-1f99-3229-1dfa7d1065a8 | grep TempValue

所以归根结底,我想要么:

  1. 了解如何在执行 xe vm-param-set 命令后在 WMI 脚本中检索 xenstore 参数。
  2. 了解如何在 xenserver CLI 中设置参数,其方式与上述示例中 $session.SetValue 的工作方式相同。

【问题讨论】:

    标签: powershell citrix xen


    【解决方案1】:

    没关系,看起来这是我的用户错误。我在 VM 启动后设置值。看起来必须在 VM 启动之前设置参数(或者应该重新启动 VM)。

    【讨论】:

      猜你喜欢
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 2016-09-30
      • 2021-11-21
      • 2011-07-23
      相关资源
      最近更新 更多