Грешка "елемент със същия ключ вече е добавен", когато отворите външен списък в VAMT 2.0 на компютър с Windows 7

Преводи на статии Преводи на статии
ID на статията: 2383895 - Преглед на продукти, за които се отнася тази статия.
Разгъване на всички | Сгъване на всички

Симптоми

Когато отворите външен списък (.cil) в Том Активизирам управление инструмент (VAMT) 2.0 на компютър с Windows 7, можете да получите следното съобщение за грешка:

Елемент със същия ключ вече е добавен.

Причина

Този проблем може да възникне, ако в компютъра има няколко мрежови карти, а тези мрежови адаптери имат един и същ MAC адрес. Например този проблем може да възникне, ако имате два мрежови адаптери за виртуална машина и конфигурирате тези мрежови адаптери да имат един и същ MAC адрес.

Ако отворите .cil файла в тази ситуация, ще видите запис, подобно на следното:

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

Разрешение

Да ни изтриете дублираните записи Препоръчано от.CIL файл за вас, отидете на "Коригиране". Ако предпочитате да изтриете дублираните записи Препоръчано от.CIL файла сами, отидете на "Нека реша проблема сам".

Коригиране



За да решите автоматично този проблем, щракнете върху го оправя бутон или връзка. След това щракнете върху тичам в Изтегляне на файл диалоговия прозорец и следвайте стъпките в съветника на Fix го .


Коригиране на проблема
Microsoft Fix it 50785


Бележки
  • Моля, изберете.CIL файл, който искате да изтриете дублираните записи.
  • Fix това решение не работи, ако VAMT(Volume Activation Management Tool) 2.0 не е инсталиран в пътя по подразбиране.
  • Този съветник да е само на английски език. Въпреки това, автоматичната корекция работи и за други езикови версии на Windows.
  • Ако не сте на компютъра, който има този проблем, запишете го решение на флаш устройство или Компактдиск и след това го стартирате на компютъра, който има проблем.

След това, отидете на "Това реши проблема?".



Нека реша проблема сам

За да заобиколите този проблем, изтрийте ръчно дублираните записи от.CIL или да автоматизирате този процес, използвайте следния първичен код за създаване на

PowerShell скрипт, за да автоматизирате.
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);




След това следвайте тези стъпки на компютър с Windows 7:
  1. Копирайте своя записан.CIL файл, за да c:\script. Например c:\script\saved.cil
  2. Копирайте включения първичен код от тази статия от БЗ в клипборда
  3. Щракнете върху Старт, всички програми, аксесоари, Windows Powershell, "Windows powershell ise"
  4. В Windows PowerShell щракнете в прозореца на Untitled1.ps1
  5. Поставяне там съдържанието на скрипта от тази статия
  6. Щракнете върху файл, Запиши като, c:\script\ScrubCil.ps1
  7. Щракнете върху Старт, всички програми, аксесоари, Windows Powershell, щракнете върху "Windows powershell" и изберете "Изпълни като администратор"
  8. В командния въведете следните команди
    CD \script
    комплект-executionpolicy неограничен
    .\ScrubCil.ps1 saved.cil


Това реши проблема?

  • Проверете дали проблемът е решен. Ако проблемът е фиксиран, вие сте готови с този раздел. Ако проблемът не бъде отстранен, можете да свържете се с поддръжка.
  • Ние ще оценявам вашето мнение. За обратна информация или да докладват всякакви проблеми с този разтвор, моля, оставете коментар на "Коригиране"блог или ни изпратете имейл.

Свойства

ID на статията: 2383895 - Последна рецензия: 21 юни 2014 г. - Редакция: 2.0
Важи за:
  • Windows 7 Enterprise
Ключови думи: 
kbfixme kbmsifixme kbmt KB2383895 KbMtbg
Machine-translated Article
ВАЖНО: Тази статия е преведена с използване на софтуер за машинен превод на Microsoft и може да бъде коригирана чрез технологията Рамка за превод от общността (CTF). Microsoft предлага статии, преведени машинно, допълнително редактирани от общността, и статии, преведени от хора, за да може да предостави достъп на много езици до всички статии в нашата База знания. Статиите, преведени машинно и редактирани допълнително, може да съдържат грешки в лексиката, синтаксиса и/или граматиката. Microsoft не носи отговорност за каквито и да било неточности, грешки или вреди, предизвикани от неправилен превод на съдържанието или използването му от нашите клиенти. Повече за CTF – на http://support.microsoft.com/gp/machine-translation-corrections/bg.
Щракнете тук, за да видите версия на тази статия на английски: 2383895

Изпратете обратна информация

 

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