2013-12-08 3 views
2

WMI를 사용하여 xenstore에서 일부 매개 변수를 검색하려고합니다 (특히 this script을 사용하여 VM IP 주소를 변경 한 후 변경하려고합니다). PowerShell 스크립트에서 다음WMI 인터페이스에서 xenstore 매개 변수를 검색하는 방법

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

:

$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" 

은 XenServer CLI에서

:

this article에 따르면, 난 그냥 같은 일을 할 수있을 것 같아 그러나 그것은 내가 기대하는 가치를 검색하는 것처럼 보이지 않습니다. 내가 눈치

한 가지 내가 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. $ session.SetValue가 위의 예제에서 작동하는 것과 같은 방식으로 xenserver CLI에서 매개 변수를 설정하는 방법을 알고 있어야합니다.

답변

0

내 생각 엔 사용자 오류였습니다. VM이 이미 시작된 후에 값을 설정하고있었습니다. VM을 시작하기 전에 매개 변수를 설정해야합니다 (또는 VM을 다시 시작해야하는 것처럼 보입니다).

관련 문제