"Ya se ha agregado un elemento con la misma clave" error al abrir una lista de VAMT 2.0 en un equipo basado en Windows 7

Seleccione idioma Seleccione idioma
Id. de artículo: 2383895 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Cuando se abre una lista (CIL) en Volume Activation Management Tool (VAMT) 2.0 en un equipo basado en Windows 7, puede recibir el siguiente mensaje de error:

Ya se ha agregado un elemento con la misma clave.

Causa

Este problema puede producirse si hay varios adaptadores de red en el equipo, y estos adaptadores de redes tienen la misma dirección MAC. Por ejemplo, este problema puede producirse si tiene dos adaptadores de red para una máquina virtual y configurar estos adaptadores de red para tener la misma dirección MAC.

Si abre el archivo .cil en esta situación, verá una entrada similar a la siguiente:

NetworkName="contoso.com" Id = "e3f3f83c-f050 - 4 d 81-9117-xx" >
<MacAddresses></MacAddresses>
<MacAddress>00:11:11:CF:FC:xx</MacAddress>
<MacAddress>00:11:11:CF:FC:xx</MacAddress>

Solución

Que eliminar las entradas duplicadas de la.Archivo CIL, ir a la "Corríjanlo por mí. Si desea eliminar las entradas duplicadas de la.CIL archivo usted mismo, ir a la "Déjeme corregirlo yo mismo.

Corríjanlo por mí



Para corregir este problema automáticamente, haga clic en el arreglarlo botón o vínculo. Haga clic en ejecutar en el cuadro de diálogo Descarga de archivos de la caja y siga los pasos del Asistente para corregirlo .


Solucionar el problema
Microsoft Fix it 50785


Notas
  • Por favor, seleccione una.Archivo CIL que desea eliminar las entradas duplicadas para.
  • La solución de Fix It no funciona si la versión 2.0 de VAMT (Volume Activation Management Tool) no está instalada en la ruta de acceso predeterminada.
  • Este asistente puede estar sólo en inglés. Sin embargo, la corrección automática también funciona para otras versiones de idioma de Windows.
  • Si no está en el equipo que tiene el problema, guarde la solución de corrección a una unidad flash o un CD y, a continuación, ejecútela en el equipo que tiene el problema.

A continuación, vaya a la "¿Esto ha solucionado el problema?.



Déjeme corregirlo yo mismo

Para evitar este problema, elimine manualmente las entradas duplicadas de la.CIL o para automatizar este proceso, utilice el código siguiente para crear un

Secuencia de comandos de PowerShell para automatizar.
param($inputFilePath, $vamtDirPath)

$cilFilePath = Resolve-Path $inputFilePath;
if (!$cilFilePath)
{
Write-Error "Expected input file name of target CIL";
exit 1;
}

if ($vamtDirPath)
{
$vamtDirPath = Resolve-Path $vamtDirPath;
}
else
{
$prograPath = [environment]::GetEnvironmentVariable("ProgramFiles(x86)");

if (!$prograPath -or $prograPath -eq "")
{
$prograPath = [environment]::GetEnvironmentVariable("ProgramFiles");
}

$vamtDirPath = $prograPath + "\VAMT 2.0"
}

try
{
$assembly = [System.Reflection.Assembly]::LoadFile($vamtDirPath + "\Vamtrt.dll");
}
catch
{
Write-Error "Error while attempting to load VAMT assembly. Provide the correct path to your VAMT installation if VAMT is not installed to the default directory.";
exit 1;
}

$fileSerializer = new-object Microsoft.SoftwareLicensing.Vamt.FileSerializer($cilFilePath);

$softwareLicensingData = $fileSerializer.Deserialize();

for ($i = 0; $i -lt $softwareLicensingData.Machines.Length; $i++)
{
$machine = $softwareLicensingData.Machines[$i];

if ($machine.MacAddresses.Count -gt 0)
{
$distinctMacAddrs = new-object System.Collections.ObjectModel.Collection[string];

foreach ($mac in $machine.MacAddresses)
{
if (!$distinctMacAddrs.Contains($mac))
{
$distinctMacAddrs.Add($mac);
}
}

$machine.MacAddresses.Clear();

foreach ($distinctMac in $distinctMacAddrs)
{
$machine.MacAddresses.Add($distinctMac);
}
}
}

$fileSerializer.Serialize($softwareLicensingData);




A continuación, siga estos pasos en un equipo con Windows 7:
  1. Copie el guardado.Archivo de código CIL a c:\script. Por ejemplo, c:\script\saved.cil
  2. Copie el código fuente incluido en este artículo KB en el Portapapeles
  3. Haga clic en Inicio, todos los programas, Accesorios, Windows Powershell, "Windows powershell ise"
  4. En Windows PowerShell, haga clic en la ventana de Untitled1.ps1
  5. Pegar el contenido de la secuencia de comandos de este artículo
  6. Haga clic en archivo, guardar como, c:\script\ScrubCil.ps1
  7. Haga clic en Inicio, todos los programas, Accesorios, Windows Powershell, derecha haga clic en "Windows powershell" y elija "Ejecutar como administrador"
  8. En el símbolo del sistema de powershell, escriba los siguientes comandos
    CD \script
    Set-executionpolicy sin restricciones
    .\ScrubCil.ps1 saved.cil


¿Esto ha solucionado el problema?

  • Compruebe si el problema está solucionado. Si se soluciona el problema, ya ha terminado con esta sección. Si no se soluciona el problema, puede Póngase en contacto con soporte técnico.
  • Agradecemos sus comentarios. Para proporcionar comentarios o informar de cualquier problema con esta solución, deja un comentario en el "Corríjanlo por mí"blog o envíenos un correo electrónico.

Propiedades

Id. de artículo: 2383895 - Última revisión: domingo, 22 de junio de 2014 - Versión: 2.0
La información de este artículo se refiere a:
  • Windows 7 Enterprise
Palabras clave: 
kbfixme kbmsifixme kbmt KB2383895 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 2383895

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com