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

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
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 .




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.
ativação volume fixit corrigir fixme

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2383895 - Última Revisão: 06/23/2014 23:24:00 - Revisão: 2.0

Windows 7 Enterprise

  • kbfixme kbmsifixme kbmt KB2383895 KbMtpt
Comentários