我正在嘗試使用Vix API,並試圖接收我正在處理的虛擬機的一些信息。我需要的信息是虛擬機連接的域,以及註冊(即有權訪問)特定虛擬機的用戶列表。 我嘗試使用'谷歌'和文檔(https://www.vmware.com/support/developer/vc-sdk/visdk2xpubs/ReferenceGuide/),但我找不到如何獲取此信息。試圖分配一些可能包含域名的對象,但沒有幫助。使用Vix API獲取虛擬機的域名和用戶列表
0
A
回答
0
我不知道這是否會幫助你,但下面是一個Delphi 項目的提取物(使用相同的Vix指數COM/OLE接口如VBScript)從環境下獲取 當前用戶名一個Win7虛擬機。希望代碼 可以直接轉換爲vbScript或VBA。顯然, 您可以以類似的方式檢索任何其他環境變量(例如用戶域)的值。
我已經通過VIX指數COM API相當徹底的外觀和沒有發現任何這將檢索虛擬機可用的登錄ID的列表。因此,如果我必須這樣做,我會編寫一個小型實用程序應用程序在VM中運行以獲取它們。 (您可能已經知道,但它是簡單的通過VIX指數界面運行在虛擬機的應用程序。)
代碼
type
TForm1 = class(TForm)
[...]
VixLib : IVixLib;
Job : IJob;
Host : IHost;
VM : IVM;
Err : Int64;
vWaitParams : OleVariant;
vResults : OleVariant;
vValue : OleVariant;
Msg : String;
end;
[...]
procedure TForm1.GetUserName;
begin
// Prior to calling this code, you need to have successfully called
// LogInGuest on the VM via Vix
// change USERNAME to USERDOMAIN in the following line to get the domain
Job := VM.ReadVariable(VIX_GUEST_ENVIRONMENT_VARIABLE, 'USERNAME', 0, Nil);
vWaitParams := VarArrayOf([VIX_PROPERTY_JOB_RESULT_VM_VARIABLE_STRING]);
Err := Job.Wait(vWaitParams, vValue);
if Err <> 0 then
raise Exception.Create('Error %d', [Err]);
Msg := vValue[0];
Caption := Msg;
end;
相關問題
- 1. 虛擬主機和域名列表
- 2. 從虛擬機獲取用戶名
- 3. 使用Puppet獲取虛擬機中的主機虛擬機
- 4. 如何使用VMWare API獲取虛擬機名稱?
- 5. 使用VBoxManage獲取正在運行的虛擬機列表
- 6. 獲取衍生虛擬機ID的API?
- 7. 如何在虛擬機關機時獲取Azure中的虛擬機列表
- 8. 可以通過Google +域名API獲取域名下的用戶列表?
- 9. 使用虛擬網絡的自定義主機名域名
- 10. 如何使用vCloud SDK獲取虛擬機的「全名」?
- 11. 虛擬域名和子域名使用mod_rewrite
- 12. c#API從MOR獲取虛擬機的名字
- 13. 子域和虛擬主機
- 14. 使用Python提供的Virtualbox虛擬機的列表名稱
- 15. 獲取用戶名和域名(域\用戶)在ASP.Net C#
- 16. 獲取用戶名和域名在C++
- 17. 如何獲取win32 API的域用戶帳戶列表?
- 18. shell腳本將域名列表添加到apache虛擬主機
- 19. Apache2設置使用Django項目的子域名虛擬主機
- 20. 使用Apache虛擬主機的子域名
- 21. 如何使用谷歌API獲取域名郵件列表
- 22. Joomla跨假虛擬子域名和主域名的永久用戶會話
- 23. 如何獲取虛擬表的名稱?
- 24. 獲取虛擬機信息
- 25. 使用aws api創建新虛擬機
- 26. 使用java獲取虛擬機(linux)的CPU使用情況
- 27. 無法使用VIX api來啓動虛擬機,使用msiexec安裝軟件,然後創建快照
- 28. 獲取應用服務器下的真實(虛擬)主機名
- 29. 使用PHP創建REST API:獲取請求主機的域名
- 30. 查詢註冊的虛擬機時,VMware VIX API FindItems()方法永不返回