"En post med samma nyckel har redan lagts till" felmeddelande när du öppnar en lista i VAMT 2.0 på en dator med Windows 7

Artikelöversättning Artikelöversättning
Artikel-id: 2383895 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

Symptom

När du öppnar en lista (CIL) i Volume Activation Management Tool VAMT-verktyget () 2.0 på en dator med Windows 7 kan hända det att följande felmeddelande visas:

En post med samma nyckel har redan lagts till.

Orsak

Det här problemet kan uppstå om det finns flera nätverkskort i datorn och dessa nätverkskort har samma MAC-adress. Problemet kan till exempel uppstå om du har två nätverkskort för en virtuell dator och du kan konfigurera dessa nätverkskort har samma MAC-adress.

Om du öppnar på .cil-filen i den här situationen finns en post av följande slag:

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>

Lösning

För att vi ska ta bort dubbla poster från den.CIL-filen, gå till den "Lös det åt mig"avsnittet. Om du vill ta bort dubblettposter från den.CIL-filen själv, gå till den "Jag löser det själv"avsnittet.

Lös det åt mig



Om du vill åtgärda problemet automatiskt genom att klicka på den Fix it knappen eller länken. Klicka på Kör i dialogrutan Filhämtning rutan och följ anvisningarna i Fix it -guiden.


Åtgärda problemet
Microsoft Fix it 50785


Obs!
  • Välj en.CIL-filen som du vill ta bort dubblettposter för.
  • Korrigeringen den lösningen fungerar inte om inte VAMT(Volume Activation Management Tool) 2.0 är installerat på standardsökvägen.
  • Den här guiden kan vara på engelska. Men fungerar den automatiska korrigeringsfilen även för andra språkversioner av Windows.
  • Om du inte sitter vid datorn där problemet finns kan du spara Fix det lösningen på ett flashminne eller en CD och sedan köra den på rätt dator.

Gå sedan till den "Löstes problemet?"avsnittet.



Jag löser det själv

Undvik det här problemet du manuellt ta bort dubblettposter från den.CIL eller Använd följande källkoden som automatiserar processen för att skapa en

PowerShell-skript för att automatisera.
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);




Följ dessa steg på en dator med Windows 7:
  1. Kopiera den sparade.CIL-filen till c:\script. Till exempel c:\script\saved.cil
  2. Kopiera källkoden i denna KB-artikel till Urklipp
  3. Klicka på Start, alla program, Tillbehör, Windows Powershell, "Windows powershell ise"
  4. I Windows PowerShell genom att klicka i fönstret Untitled1.ps1
  5. Klistra in innehållet i skriptet från den här artikeln
  6. Klicka på Arkiv, Spara som, c:\script\ScrubCil.ps1
  7. Klicka på Start, alla program, Tillbehör, Windows Powershell, höger Klicka på "Windows powershell" och välj "Kör som administratör"
  8. Skriv följande kommandon i Kommandotolken powershell
    CD-\script
    set-körningsprincipen obegränsad
    .\ScrubCil.ps1 saved.cil


Löstes problemet?

  • Kontrollera om problemet är borta. Om problemet är borta är du klar med det här avsnittet. Om problemet inte är åtgärdat kan du Kontakta support.
  • Skicka oss gärna dina synpunkter. Vill ge oss feedback eller rapportera eventuella problem med den här lösningen kan du skriva en kommentar på den "Lös det åt mig"bloggen eller skicka oss ett e-post.

Egenskaper

Artikel-id: 2383895 - Senaste granskning: den 23 juni 2014 - Revision: 2.0
Informationen i denna artikel gäller:
  • Windows 7 Enterprise
Nyckelord: 
kbfixme kbmsifixme kbmt KB2383895 KbMtsv
Maskinöversatt
VIKTIGT: Denna artikel har översatts av Microsofts programvara för maskin-översättning och möjligen efterredigerats via CTF-teknologi av Microsofts community istället för av en professionell mänsklig översättare. För att du på ditt eget språk skall få tillgång till samtliga Knowledge Base-artiklar erbjuder Microsoft både mänskligt översatta såväl som maskinöversatta artiklar samt artiklar som efterredigerats av en community. En maskinöversatt artikel likväl som en artikel som blivit efterredigerad av en community är dock inte alltid helt perfekt, då de kan innehålla misstag i ordförrådet, syntax- och grammatikfel. Microsoft är inte ansvarigt för några felaktigheter, misstag eller skador orsakade av felöversättningar eller för våra kunders bruk av innehållet. Microsoft uppdaterar ofta sin programvara för maskinöversättning samt de verktyg som förbättrar den maskinöversatta efterredigeringen.
Den engelska versionen av artikeln är följande: 2383895

Ge feedback

 

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