Hello, I am using VMWare Workstation v6.02 with 1.04 VIX API . Trying to execute some VBScript on Guest OS (my script is below, basic VBScript that creates folder on drive C) it runs through w/o any errors, but I do not see folder created in guest. Any suggestions here?
Thanks!
Dim lib
Dim host
Dim vm
Dim err
Dim results
Dim job
Set lib = CreateObject("VixCOM.VixLib")
Set job = lib.Connect(VixCOM.Constants.VIX_API_VERSION, VixCOM.Constants.VIX_SERVICEPROVIDER_VMWARE_WORKSTATION, "MyHost", 0, "administrator", "MyPassword", 0, Nothing, Nothing)
' results needs to be initialized before it's used, even if it's just going to be overwritten.
Set results = Nothing
err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results)
If lib.ErrorIndicatesFailure(err) Then
' Handle the error...
End If
'Open vm
Set host = results(0)
Set job = host.OpenVM("V:\VmImages\eDWinXP\WindowsXPProfessional.vmx", Nothing)
err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results)
If lib.ErrorIndicatesFailure(err) Then
WScript.Echo("Error: " & lib.GetErrorText(err, empty))
WScript.Quit
End If
'Power On Machine
Set vm = results(0)
Set job = vm.PowerOn(VixCOM.Constants.VIX_VMPOWEROP_LAUNCH_GUI, Nothing, Nothing)
err = job.WaitWithoutResults()
If lib.ErrorIndicatesFailure(err) Then
WScript.Echo("Error: " & lib.GetErrorText(err, empty))
WScript.Quit
End If
'Wait for VMWare Tools
Set job = vm.WaitForToolsInGuest(300, Nothing)
err = job.WaitWithoutResults()
If lib.ErrorIndicatesFailure(err) Then
WScript.Echo("Error: " & lib.GetErrorText(err, empty))
WScript.Quit
End If
'Login To Host
Set job = vm.LoginInGuest("MyUser", "MyPassword", 0, Nothing)
err = job.WaitWithoutResults()
If lib.ErrorIndicatesFailure(err) Then
WScript.Echo("Error: " & lib.GetErrorText(err, empty))
WScript.Quit
End If
'Run Script in Guest
Dim vbScript
vbScript = "Dim objFSO, objFolder, strFolder" & VbCrLf
vbScript = vbScript & "strFolder = " & Chr(34) & "C:\TestFolder" & Chr(34) & Vbcrlf
vbScript = vbScript & "Set objFSO = CreateObject(Scripting.FileSystemObject)" & VbCrLf
vbScript = vbScript & "Set objFolder = objFSO.CreateFolder(strFolder)"
'Run Script in Guest
Set job = vm.RunScriptInGuest("c:\Windows\System32\Cscript.exe", vbScript, 0, Nothing, Nothing)
err = job.WaitWithoutResults()
If lib.ErrorIndicatesFailure(err) Then
WScript.Echo("Error: " & lib.GetErrorText(Err, Empty))*
WScript.Quit*
End If
WScript.Echo "Completed"