"Et element med samme nøgle er allerede tilføjet" vises, når du åbner en liste i VAMT 2.0 på en computer, der kører Windows 7

Oversættelser af artikler Oversættelser af artikler
Artikel-id: 2383895 - Få vist de produkter, som denne artikel refererer til.
Udvid alle | Skjul alle

Symptomer

Når du åbner en liste (typen .cil) i enheden aktivering Management værktøj (VAMT) 2.0 på en computer, der kører Windows 7, får du muligvis følgende fejlmeddelelse:

Et element med samme nøgle er allerede tilføjet.

Årsag

Dette problem kan opstå, hvis der er flere netværkskort i computeren, og disse netværk netværkskort har samme MAC-adresse. Dette problem kan for eksempel opstå, hvis du har to netværkskort til en virtuel maskine, og du kan konfigurere disse netværkskort, hvis du vil have den samme MAC-adresse.

Hvis du skal åben filen .CIL i denne situation, kan du se en post, der ligner følgende:

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

At vi skal slette dublerede poster fra den.CIL-filen, gå til den "Løse det for mig"afsnit. Hvis du vil slette dublerede poster fra den.CIL-filen selv, gå til den "Lad mig selv løse det."afsnit.

Løse det for mig



Du kan løse problemet automatisk, skal du klikke på den løse det knappen eller hyperlinket. Klik derefter på køre i dialogboksen Filoverførsel boks, og følg trinnene i guiden Løs det. .


Løse problemet
Microsoft Fix it 50785


Noter
  • Vælg en.CIL-filen, som du vil slette dublerede poster til.
  • Rettelsen den løsning fungerer ikke, hvis VAMT(Volume Activation Management Tool)-2.0 ikke er installeret på standardstien.
  • Denne guide er muligvis kun på engelsk. Den automatiske rettelse fungerer dog også for andre sprogversioner af Windows.
  • Hvis du ikke på den computer, der har problemet, medmindre rettelsen den løsning på et flashdrev eller en CD og derefter køre den på den computer, der har problemet.

Gå derefter til den "Dette løser problemet?"afsnit.



Lad mig selv løse det.

Du kan løse dette problem ved manuelt at slette dublerede poster fra den.CIL for at automatisere denne proces, kan du bruge følgende kildekode til at oprette en

PowerShell-script til at automatisere.
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ølg disse trin på en computer med Windows 7:
  1. Kopier dine gemte.CIL-filen til c:\script. For eksempel c:\script\saved.cil
  2. Kopier koden medtages fra denne KB-artikel til Udklipsholder
  3. Klik på Start, alle programmer, tilbehør, Windows Powershell, "Windows powershell ise"
  4. I Windows PowerShell ved at klikke i vinduet Untitled1.ps1
  5. Indsætte indholdet af scriptet fra denne artikel
  6. Klik på filer, Gem som, c:\script\ScrubCil.ps1
  7. Klik på Start, alle programmer, tilbehør, Windows Powershell, højre-Klik på "Windows powershell" og vælge "Kør som Administrator"
  8. Ved powershell-prompten skal du skrive følgende kommandoer
    cd \script
    set-Udførselspolitikken ubegrænset
    .\ScrubCil.ps1 saved.cil


Dette løser problemet?

  • Kontroller, om problemet er løst. Hvis problemet er løst, er du færdig med dette afsnit. Hvis problemet ikke er løst, kan du Kontakt support.
  • Vi ville sætte pris på din feedback. Vil give feedback eller rapportere problemer med denne løsning, skal du skrive en kommentar til den "Løse det for mig"blog eller send os en email.

Egenskaber

Artikel-id: 2383895 - Seneste redigering: 21. juni 2014 - Redigering: 2.0
Oplysningerne i denne artikel gælder:
  • Windows 7 Enterprise
Nøgleord: 
kbfixme kbmsifixme kbmt KB2383895 KbMtda
Machine-translated Article
VIGTIGT: Denne artikel er blevet oversat af Microsofts oversættelses program og er dermed ikke oversat af et menneske. Microsoft udbyder både artikler oversat af maskiner såvel som af mennesker så du vil have adgang til alle artikler in vores videns database på dit eget sprog. Alligevel, vil en maskine-oversat artikel ikke altid være perfekt. Der kan forekomme alfabetiske, grammatiske samt strukturelle fejl, ligesom når en udlændinge måtte lave fejl når han taler vores sprog. Microsoft står ikke til ansvar for ukorrektheder, fejl eller skade som måtte forårsages af forkerte oversættelser af indholdet eller kunders brug af samme. Microsoft opdaterer hyppigt maskine-oversættelses programmet.
Dette er den engelske version af artiklen: 2383895

Send 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