Erro "um item com a mesma chave já foi adicionado" quando você abrir uma lista no VAMT 2.0 em um computador baseado no Windows 7

Traduções deste artigo Traduções deste artigo
ID do artigo: 2383895 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Quando você abrir uma lista (CIL) no gerenciamento de ferramenta VAMT (Volume Activation) 2.0 em um computador baseado no Windows 7, você pode receber a seguinte mensagem de erro:

Um item com a mesma chave já foi adicionado.

Causa

Esse problema pode ocorrer se houver vários adaptadores de rede no computador e esses adaptadores de redes têm o mesmo endereço MAC. Por exemplo, esse problema pode ocorrer se você tiver dois adaptadores de rede para uma máquina virtual e configurar esses adaptadores de rede para ter o mesmo endereço MAC.

Se você abrir o arquivo. cil nessa situação, você verá uma entrada semelhante à seguinte:

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

Resolução

Para que possamos exclua as entradas duplicadas dos.Arquivo CIL para você, vá para a "Corrigir para mim"a seção. Se preferir excluir as entradas duplicadas dos.CIL arquivos sozinho, vá para a "Deixar-me corrigir sozinho"a seção.

Corrigir para mim



Para corrigir esse problema automaticamente, clique no corrigi-lo botão ou link. Em seguida, clique em executar na caixa de diálogo Download de arquivo caixa e siga as etapas no assistente Fix it .


Corrigir este problema.
Microsoft Fix it 50785


Observações
  • Selecione um.Arquivo CIL que deseja excluir as entradas duplicadas.
  • A correção-solução não funciona se o VAMT(Volume Activation Management Tool) 2.0 não está instalado no caminho padrão.
  • É possível que este assistente só esteja em inglês. No entanto, a correção automática também funciona para outras versões de idioma do Windows.
  • Se você não estiver no computador que apresenta o problema, salve a solução de Corrigir em uma unidade flash ou CD e, depois, execute a solução no computador que possui o problema.

Em seguida, vá para a "Isso corrigiu o problema?"a seção.



Deixar-me corrigir sozinho

Para contornar esse problema, exclua manualmente as entradas duplicadas dos.CIL ou para automatizar esse processo, use o seguinte código-fonte para criar um

Script do 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);




Em seguida, execute estas etapas em um computador com Windows 7:
  1. Copie a salvo.Arquivo CIL c:\script. Por exemplo, c:\script\saved.cil
  2. Copie o código-fonte incluído neste artigo de KB na área de transferência
  3. Clique em Iniciar, todos os programas, Acessórios, Windows Powershell, "O Windows powershell ise"
  4. No Windows PowerShell clique na janela de Untitled1.ps1
  5. Colar conteúdo de script deste artigo
  6. Clique em arquivo, salvar como, c:\script\ScrubCil.ps1
  7. Clique em Iniciar, todos os programas, Acessórios, Windows Powershell, à direita em "Windows powershell" e escolha "Executar como administrador"
  8. No prompt do powershell, digite os seguintes comandos
    CD \script
    set-executionpolicy irrestrito
    .\ScrubCil.ps1 saved.cil


Isso corrigiu o problema?

  • Verifique se o problema está corrigido. Se o problema for corrigido, você terá concluído esta seção. Se o problema não for corrigido, você poderá Contate o suporte.
  • Apreciamos seus comentários. Para fornecer comentários ou relatar quaisquer problemas com essa solução, deixe um comentário sobre o "Corrigir para mim"blog ou envie-em um e-mail.

Propriedades

ID do artigo: 2383895 - Última revisão: segunda-feira, 23 de junho de 2014 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Windows 7 Enterprise
Palavras-chave: 
kbfixme kbmsifixme kbmt KB2383895 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
Clique aqui para ver a versão em Inglês deste artigo: 2383895

Submeter comentários

 

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