public void GetEnvironmentVariablesSample()
 {
     #region Example: Enumerating Environment Variables on the GuestOS without VixCOM
     // connect to a local virtual machine and power it on
     VMWareVirtualHost virtualHost = new VMWareVirtualHost();
     virtualHost.ConnectToVMWareWorkstation();
     VMWareVirtualMachine virtualMachine = virtualHost.Open(@"C:\Users\dblock\Virtual Machines\Windows XP Pro SP3 25GB\WinXP Pro SP3 25GB.vmx");
     virtualMachine.PowerOn();
     virtualMachine.WaitForToolsInGuest();
     virtualMachine.LoginInGuest("Administrator", "admin123");
     Shell guestShell = new Shell(virtualMachine);
     Dictionary<string, string> guestEnvironmentVariables = guestShell.GetEnvironmentVariables();
     Console.WriteLine(guestEnvironmentVariables["ProgramFiles"]);
     #endregion
 }
 public void TestGetEnvironmentVariables()
 {
     foreach (VMWareVirtualMachine virtualMachine in _test.PoweredVirtualMachines)
     {
         Shell guestShell = new Shell(virtualMachine);
         Dictionary<string, string> guestEnvironmentVariables = guestShell.GetEnvironmentVariables();
         Dictionary<string, string>.Enumerator guestEnumerator = guestEnvironmentVariables.GetEnumerator();
         while (guestEnumerator.MoveNext())
         {
             Console.WriteLine(string.Format("{0}: {1}",
                 guestEnumerator.Current.Key, guestEnumerator.Current.Value));
         }
         Assert.IsTrue(guestEnvironmentVariables.ContainsKey("Path"));
         Assert.IsTrue(guestEnvironmentVariables.ContainsKey("USERPROFILE"));
     }
 }
        public bool GetGuestEnvironmentVariable(string name, out string result)
        {
            if (_simulationOnly)
            {
                result = name;
                return true;
            }

            if (_guestEnvironmentVariables == null)
            {
                Shell guestShell = new Shell(_vm);
                _guestEnvironmentVariables = guestShell.GetEnvironmentVariables();
            }

            return _guestEnvironmentVariables.TryGetValue(name, out result);
        }