"Een item met dezelfde sleutel is al toegevoegd" Fout bij het openen van een lijst in VAMT 2.0 op een computer met Windows 7

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 2383895 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Symptomen

Wanneer u een lijst (.cil) in Volume Activation Management Tool (VAMT) 2.0 op een computer met Windows 7 opent, wordt het volgende foutbericht weergegeven:

Een item met dezelfde sleutel is al toegevoegd.

Oorzaak

Dit probleem kan optreden als er meerdere netwerkadapters in de computer zijn en deze netwerkadapters hetzelfde MAC-adres hebben. Dit probleem kan bijvoorbeeld optreden als u twee netwerkadapters voor een virtuele machine hebt en u deze netwerkadapters hebben hetzelfde MAC-adres configureren.

Als u in dit geval het .cil-bestand opent, ziet u de volgende vermelding:

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>

Oplossing

Dit probleem handmatig verwijderen dubbele vermeldingen uit de.LSC of gebruik de volgende code te automatiseren, maken een

PowerShell script automatiseren.
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);




Volg deze stappen op een computer met Windows 7:
  1. Kopieer uw opgeslagen.LSC bestand c:\script. Bijvoorbeeld c:\script\saved.cil
  2. Broncode opgenomen in dit KB-artikel naar het Klembord kopiëren
  3. Klik op Start, alle programma's, Bureau-accessoires, Windows Powershell, "Windows powershell ise"
  4. In Windows PowerShell op in het venster Untitled1.ps1
  5. Plak de inhoud van het script uit dit artikel
  6. Klik op bestand, opslaan als, c:\script\ScrubCil.ps1
  7. Klik op Start, alle programma's, Bureau-accessoires, Windows Powershell, 'Windows powershell'
  8. Typ de volgende opdrachten achter de powershell
    cd \script
    .\ScrubCil.ps1 saved.cil

Opmerking: U moet instellen ExecutionPolicy wijzigen in RemoteSigned afhankelijk van uw configuratie powershell


Eigenschappen

Artikel ID: 2383895 - Laatste beoordeling: dinsdag 22 maart 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Windows 7 Enterprise
Trefwoorden: 
kbmt KB2383895 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:2383895

Geef ons 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