Error message when you add a user to a local computer Message error adding a user: "Not enough storage is available to complete this operation"

Symptoms

When you use a Microsoft Windows Server domain controller to join a Microsoft Windows based client computer to a domain, you may receive an error message that resembles the following on the client computer:

The following error occurred attempting to join the domain “domain_name.com”: Not enough storage is available to complete this operation.

Additionally, the following Warning message may be logged in the System log on the client computer.

Cause

This problem occurs because the Kerberos token that is generated during authentication is more than the fixed maximum size. In the original release version of Microsoft Windows 2000, the default value of the MaxTokenSize registry entry was 8,000 bytes. In Windows 2000 with Service Pack 2 (SP2) and in later versions of Windows, the default value of the MaxTokenSize registry entry is 12,000 bytes.

For example, if a user is a member of a group either directly or by membership in another group, the security ID (SID) for that group is added to the user’s token. For a SID to be added to the user’s token, the SID information must be communicated by using the Kerberos token. If the required SID information exceeds the size of the token, authentication is unsuccessful.

Resolution

To resolve this problem, increase the Kerberos token size. To do this, follow these steps on the client computer that logs the Kerberos event.

  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following registry subkey:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

    Note If the Parameters key is not present, create the key. To do this, follow these steps:

    a) Locate and then click the following registry subkey:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos

    b) On the Edit menu, point to New, and then click Key.

    c) Type Parameters, and then press ENTER.

  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type MaxTokenSize, and then press ENTER.
  5. On the Edit menu, click Modify.
  6. In the Base area, click Decimal, type 65535 in the Value data box, and then click OK.
  7. Exit Registry Editor.
  8. Restart the computer.

Related Article: Article ID 935744

How to Find MAC Addresse of NIC in Windows Team This article describes how to get the MAC addresses of all member Network Interface Cards (NICs)

There are lot of instances where the network communications fail when we are teaming up the incorrect network interfaces. Especially when the team members are the partitions of a virtual partition capable Converged Network Adapter (CNA), we need to make sure that we are teaming up correct partitions from different physical ports for redundancy and proper VLAN traffic. In such situations, the primary troubleshooting step related to network team’s connectivity issue is to validate the network team members.

The easiest way to ensure this is to compare the unique attributes of the partitioned interfaces with the data in the network card BIOS or out-of-band management tools (like iDRAC, ILO etc) or other baseboard management controllers. Media Access Control (MAC) addresses of the partitioned interfaces seen by the Operating System are the easiest and reliable unique identifiers in this scenario as the names for the interfaces will be different for different network cards.

The default available option to get the member NIC’s MAC address is to use the PowerShell command Get-NetAdapter <member NIC name>. For that we have to manually find the native teams in the server, their member NICs and then the MAC addresses of the member NICs.

The following short PowerShell script will automate this process and will list down the MAC addresses of the member NICs of all the native windows teams available in the server. The advantage with the below script is that it can be used on any Windows 2012 or Windows 2012 R2 servers without any modifications/inputs.

Script:

foreach ($i in ((Get-NetLbfoTeam).name))
{
Write-Host “`nTeam Name – “$i`n”Team Members: ”
Get-NetAdapter (Get-NetLbfoTeamMember -Team $i).Name | Format-Table
}

The best way is to open notepad, copy and paste this script, then save the file as ‘Save As’ > Select ‘All files’ > then name the file ‘nic.ps1’ > destination > where you want

Open Powershell, and run the file .ps1 from it:

MAC_Addresses_NIC_Team_2012
MAC_Addresses_NIC_Team_2012

Related Article: Technet Microsoft

How to Find a Lost, Missing, Hidden or Removed Network Card In a scenario where you have physically removed hardware from a machine you can no longer see it in device manager.

In a scenario where you have physically removed hardware from a machine you can no longer see it in device manager.  This does not mean that it is gone.  Evidence of that is, if for example you had a network card that had a Static IP address set and you remove the card and add a new one then try to set the IP address to the same as the old NIC you will get an error message. The error might look something like “The IP address 192.168.30.100 you have entered for this network adapter is already assigned to another adapter (Microsoft Virtual machine Bus Network Adapter #3) which is no longer present in the computer.  If the same address is assigned to both adapters and they both become active, only one of them will use this address.  This may result in incorrect system configuration”.  In Windows Server 2008 R2 and Windows 7 it actually gives you an opportunity to “remove the static IP configuration for the absent adapter”. If you say Yes, this will eliminate the IP conflict problem but does not solve the problem of the adapter still being present in the machine.  In older versions of the OS, it was even worse because every time you go into network properties it gives you an error message.  Another way this comes up is if you move a virtual machine from one host to another.  Like in the case of moving from Virtual Server 2005 R2 to Hyper-V or perhaps you are moving from one Hyper-V machine to another but you did not do an export, you just moved the VHD’s and created a new machine.

The IP address XXX.XXX.XXX.XXX you have entered for this network adapter is already assigned to another
The IP address XXX.XXX.XXX.XXX you have entered for this network adapter is already assigned to another

Getting rid of these old devices is actually very simple. Well, it is simple if you know how

Before you proceed, I recommend that you confirm that you have a good backup. I have never had a problem with this but hey, it is your server not mine.

Description

  • You need to run a command prompt so you can set an environment variable prior to opening the Device Manager This will bring up a command windowClick Start – Type the following command and then press ENTER

    cmd
  • Step 2: We have the command window open.  We now need to set the variable (that is the “set” line and then with the variable set, we need to run Device Manager.
    The file name for the Device Manager snap-in is devmgmt.msc.  The first line will not appear to do anything but it is setting the environment for next step.  The second command will actually open the Device Manager but it will be in a “special” mode which allows you to show devices that no longer exists.Type the following commands pressing ENTER after each line

    set devmgr_show_nonpresent_devices=1

    devmgmt.msc

  • Step 3: Now all we have to do is show hidden devices and you will be able to access the devices that are not present in the machine.  This will also turn a checkbox on in front of the Show Hidden Devices menu option.In this Special Device Manager Window; on the menu, click View then Show Hidden Devices
  • Step 4: Now you can just go find the adapter or device that is missing and delete it!  Expand the network adapter (or whatever category of device) and look for the device that needs to be removed.  The error message that you got should tell you the “name” of the device so you just have to go find that named device.  You may also notice while you are there that the icon for the “non-present” or missing device is slightly subdued so that will make it easier to find it if you have many devices in a category.See screen shot belowExpand the network adapter (or whatever category of device) and look for the device that needs to be removed.
    Right-Click the Device and select Uninstall
devmgr_show_nonpresent_devices
devmgr_show_nonpresent_devices

Related Article: VMware KB  | Microsoft Blog Technet

No Guest OS Heartbeats are being received error Troubleshooting Migration compatibility warning: No guest OS heartbeats are being received, from local or remotely

Symptoms
When performing a vMotion migration, this compatibility warning is displayed:

Migration from source_server: No guest OS heartbeats are being received. Either the guest OS is not responding or VMware tools is not configured properly.

No guest OS heartbeats are being received
No guest OS heartbeats are being received

Resolution

This warning indicates that the VMware Tools are either not installed or are not running in the virtual machine.

This message is safe to ignore when performing a migration.

Workaround
To workaround the warning, perform one of these options:

  1. Ensure that the VMware Tools are installed in the virtual machine before performing a migration;
  2. Ensure that the virtual machine has been running long enough for the operating system to be completely started before performing a migration.
  3. Restart the VMware Tools service.

For Linux virtual machine, open shell/terminal and run the command:

  • /etc/init.d/vmware-tools restart

or

  • /etc/vmware-tools/services.sh restart

or

  • service vmware-tools {start|stop|status|restart|force-reload}

For Windows virtual machine, frm RDP session or directly on machine:

  1. Click Start > Run, type services.msc, and press OK.
  2. Right-click VMware Tools Service and click Restart.

You can execute a remote restart of the “VMtools” service from remotely using SC command from command prompt:

sc.exe config “[servicename]” obj= “[.\username]” password= “[password]”

SC Syntax

DESCRIPTION:
 SC is a command line program used for communicating with the
 Service Control Manager and services.
USAGE:
 sc <server> [command] [service name] <option1> <option2>...

The option <server> has the form "\\ServerName"
 Further help on commands can be obtained by typing: "sc [command]"
 Commands:
 query-----------Queries the status for a service, or
 enumerates the status for types of services.
 queryex---------Queries the extended status for a service, or
 enumerates the status for types of services.
 start-----------Starts a service.
 pause-----------Sends a PAUSE control request to a service.
 interrogate-----Sends an INTERROGATE control request to a service.
 continue--------Sends a CONTINUE control request to a service.
 stop------------Sends a STOP request to a service.
 config----------Changes the configuration of a service (persistent).
 description-----Changes the description of a service.
 failure---------Changes the actions taken by a service upon failure.
 failureflag-----Changes the failure actions flag of a service.
 sidtype---------Changes the service SID type of a service.
 privs-----------Changes the required privileges of a service.
 qc--------------Queries the configuration information for a service.
 qdescription----Queries the description for a service.
 qfailure--------Queries the actions taken by a service upon failure.
 qfailureflag----Queries the failure actions flag of a service.
 qsidtype--------Queries the service SID type of a service.
 qprivs----------Queries the required privileges of a service.
 qtriggerinfo----Queries the trigger parameters of a service.
 qpreferrednode--Queries the preferred NUMA node of a service.
 delete----------Deletes a service (from the registry).
 create----------Creates a service. (adds it to the registry).
 control---------Sends a control to a service.
 sdshow----------Displays a service's security descriptor.
 sdset-----------Sets a service's security descriptor.
 showsid---------Displays the service SID string corresponding to an ar
bitrary name.
 triggerinfo-----Configures the trigger parameters of a service.
 preferrednode---Sets the preferred NUMA node of a service.
 GetDisplayName--Gets the DisplayName for a service.
 GetKeyName------Gets the ServiceKeyName for a service.
 EnumDepend------Enumerates Service Dependencies.

The following commands don't require a service name:
 sc <server> <command> <option>
 boot------------(ok | bad) Indicates whether the last boot should
 be saved as the last-known-good boot configuration
 Lock------------Locks the Service Database
 QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
 sc start MyService

example:

(check status of the service)
sc \\you_server_name_or_ip query “vmtools”

(Stop the service)
sc \\you_server_name_or_ip query “vmtools”

(Start the Service)
sc \\you_server_name_or_ip query “vmtools”

From another server on the domain open a command prompt and type the following.
From another server on the domain open a command prompt and type the following.

Results

validation succeed
validation succeed

If your issue continues to exist, reinstall VMware Tools to ensure that you are on the latest version.

 

How To Run Windows Server 2012 and 2012 R2 on ESXi 4.1 Tips and Tricks Run Microsoft Windows Server 2012 and 2012 R2 on ESXi 4.1 with UEFI Rom

If you  are running an ESXi 4.x O.S. you should know that, according with Guest OS Customization Support Matrix (PDF Guest OS Customization Support Matrix VMware ESXi), most recent Windows Server Operating Systems are not Compatibile (2012, 2012R2 and 2016).

VMware Guest OS Customization Support Matrix
VMware Guest OS Customization Support Matrix

With this How-to we will show you how to run Windows Server 2012 and 2012 R2 on ESXi 4.x

I found these set of instructions from VMware communities (VMware communities)

>>Don’t do this for a production environment<<

      1. Create a new VM over the vSphere Client;
      2. As “Guest Operating System” use “Microsoft Windows Server 2008 R2 (64-bit)”;
      3. After VM has been created but before first power on, download the following  bios file and upload it to your ESXi datastore into the folder of the VM;
      4. Now open the .vmx file of the new VM and add the following lines (or edit on the VM advanced option from UI)
    bios440.filename = bios.440.rom
    mce.enable = TRUE
    cpuid.hypervisor.v0 = FALSE
    vmGenCounter.enable = FALSE

    5. Power on VM and Server 2012 will install and run