Prikazuje se pogreška "An item with the same key has already been added" ("Stavka s tim ključem već je dodana") kada otvorite popis u dodatku VAMT 2.0 na računalu sa sustavom Windows 7

Prijevod članka Prijevod članka
ID članka: 2383895 - Pregledajte proizvode na koje se odnosi ovaj članak.
Proširi sve | Sažmi sve

SIMPTOMI

Kada otvorite popis (.cil) u alatu za upravljanje količinskom aktivacijom (VAMT) 2.0 na računalu sa sustavom Windows 7, možda se prikaže sljedeća poruka o pogrešci:

"An item with the same key has already been added" ("Već je dodana stavka s istim ključem")

UZROK

Problem se može pojaviti ako na računalu postoji nekoliko mrežnih prilagodnika koji imaju istu MAC adresu. Na primjer, problem se može pojaviti ako imate dva mrežna prilagodnika za virtualni stroj i konfigurirate ih tako da imaju istu MAC adresu.

Ako u ovom slučaju otvorite .cil datoteku, vidjet ćete unos nalik na sljedeći:

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

RJEŠENJE

Da bismo umjesto vas izbrisali duplicirane unose u .CIL datoteci, prijeđite na odjeljak "Popravite mi to". Ako biste radije sami izbrisali duplicirane unose u .CIL datoteci, idite na odjeljak "Popravit ću to sam".

Popravite mi to



Da biste automatski riješili problem, kliknite gumb ili vezu Fix it (Popravak). Zatim kliknite Run (Pokreni) u dijaloškom okviru File Download (Preuzimanje datoteke) te slijedite korake koje preporučuje čarobnjak Fix it (Popravak).


Riješi taj problem
Microsoftov popravak 50785


Napomene
  • Odaberite .CIL datoteku u kojoj želite izbrisati duplicirane stavke.
  • Rješenje za popravak ne funkcionira ako VAMT (alat za upravljanje količinskom aktivacijom) 2.0 nije instaliran na zadanu stazu.
  • Čarobnjak je možda samo na engleskom jeziku. No automatsko popravljanje funkcionira i u verzijama sustava Windows na drugim jezicima.
  • Ako trenutno ne radite na računalu na kojemu se pojavljuje problem, rješenje za popravak možete spremiti na izbrisivi memorijski pogon ili na CD, a zatim ga pokrenuti na računalu na kojem se problem pojavljuje.

Sada prijeđite na odjeljak "Je li to riješilo problem?".



Popravit ću to sam

Da biste zaobišli taj problem, ručno obrišite duplicirane stavke u .CIL datoteci ili, da biste automatizirali proces, upotrijebite sljedeći izvorni kôd kako biste stvorili

Powershell skriptu za automatizaciju.
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);




Zatim slijedite ove korake na računalu sa sustavom Windows 7:
  1. Kopirajte spremljenu .CIL datoteku u c:\script. Na primjer, c:\script\saved.cil
  2. Kopirajte izvorni kôd iz ovog članka baze znanja u međuspremnik
  3. Kliknite Start, All Programs (Svi programi), Accessories (Pomagala), Windows Powershell, "Windows powershell ise"
  4. U programu Windows PowerShell kliknite prozor Untitled1.ps1
  5. Zalijepite sadržaj skripte iz ovog članka
  6. Kliknite File (Datoteka), save as (spremi kao), c:\script\ScrubCil.ps1
  7. Kliknite Start, All Programs (Svi programi), Accessories (Pomagala), desnom tipkom miša kliknite Windows Powershell i odaberite "Run as Administrator" (Pokreni kao administrator).
  8. U redak powershell upišite sljedeće naredbe
    cd \script
    set-executionpolicy unrestricted
    .\ScrubCil.ps1 saved.cil


Je li to riješilo problem?

  • Provjerite je li problem riješen. Ako je problem riješen, gotovi ste s ovim odjeljkom. Ako problem nije riješen, obratite se službi za podršku.
  • Voljeli bismo od vas dobiti povratne informacije. Da biste nam poslali povratne informacije ili prijavili eventualne probleme s ovim rješenjem, ostavite komentar na blogu "Popravite mi to" ili nam pošaljite poruku e-pošte.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Svojstva

ID članka: 2383895 - Posljednja izmjena: 20. prosinca 2011. - Revizija: 1.0
ODNOSI SE NA:
  • Windows 7 Enterprise
Ključne riječi: 
kbfixme kbmsifixme KB2383895

Pošaljite povratne informacije

 

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