"Ein Element mit demselben Schlüssel wurde bereits hinzugefügt" Fehler beim Öffnen einer Liste in VAMT 2.0 auf einem Windows 7-basierten computer

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 2383895 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie eine Liste (CIL) im Volume Activation Management Tool (VAMT) 2.0 auf Windows 7-Computer öffnen, erhalten Sie die folgende Fehlermeldung angezeigt:

Ein Element mit demselben Schlüssel wurde bereits hinzugefügt.

Ursache

Dieses Problem kann auftreten, wenn mehrere Netzwerkadapter auf dem Computer vorhanden sind, und diese Netze Adapter dieselbe MAC-Adresse haben. Dieses Problem kann beispielsweise auftreten, wenn Sie verfügen über zwei Netzwerkadapter für einen virtuellen Computer, und Sie diese Netzwerkadapter konfigurieren um dieselbe MAC-Adresse haben.

Wenn Sie in diesem Fall die CIL-Datei öffnen, sehen Sie einen Eintrag, der dem folgenden ähnelt:

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ösung

Löschen Sie die doppelten Einträge aus haben die.CIL-Datei, fahren Sie mit dem "Problem automatisch beheben"Abschnitt. Wenn Sie es vorziehen, löschen Sie die doppelten Einträge aus der.CIL-Datei dann selbst ausführen, fahren Sie mit dem "Problem manuell beheben"Abschnitt.

Problem automatisch beheben



Um dieses Problem automatisch zu beheben, klicken Sie auf die beheben Schaltfläche oder den Link. Klicken Sie auf Ausführen im Dialogfeld " Dateidownload " ein, und führen Sie die Schritte im Fix it -Assistenten.


Dieses Problem beheben.
Microsoft Fix it 50785


Hinweise
  • Bitte wählen Sie ein.CIL-Datei die für die doppelte Einträge löschen möchten.
  • Diese Fix it-Lösung funktioniert nicht, wenn VAMT(Volume Activation Management Tool) 2.0 nicht im Standardpfad installiert ist.
  • Dieser Assistent kann nur auf Englisch verfügbar sein. Die automatische Korrektur funktioniert auch für andere Sprachversionen von Windows.
  • Wenn Sie nicht auf dem Computer angemeldet sind, auf dem das Problem besteht, speichern Sie heruntergeladene Datei auf einem mobilen Speichermedium (Flashdrive/CD/etc.) und führen Sie es auf dem Computer aus, auf welchem das Problem auftritt.

Dann gehen Sie zu den "Wurde das Problem behoben?"Abschnitt.



Problem manuell beheben

Um dieses Problem zu umgehen, löschen Sie manuell die doppelten Einträge aus der.CIL oder um diesen Prozess zu automatisieren, verwenden Sie den folgenden Quellcode zur Erstellung einer

PowerShell-Skript zu automatisieren.
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);




Anschließend gehen Sie auf einem Computer unter Windows 7 folgendermaßen vor:
  1. Kopieren Sie Ihre gespeicherten.CIL-Datei c:\script. Zum Beispiel c:\script\saved.cil
  2. Kopieren Sie den enthaltenen Quellcode aus diesem KB-Artikel in die Zwischenablage
  3. Klicken Sie auf Start, alle Programme, Zubehör, Windows Powershell, "Windows Powershell Ise"
  4. In Windows PowerShell klicken Sie im Fenster "Untitled1.ps1"
  5. Fügen Sie den Inhalt des Skripts aus diesem Artikel
  6. Klicken Sie auf Datei, speichern unter, c:\script\ScrubCil.ps1
  7. Klicken Sie auf Start, alle Programme, Zubehör und Windows Powershell, klicken Sie auf "Windows Powershell" rechts und wählen Sie die Option "Als Administrator ausführen"
  8. Geben Sie an der Powershell-Eingabeaufforderung die folgenden Befehle
    CD \script
    Set-Executionpolicy unrestricted
    .\ScrubCil.ps1 saved.cil


Wurde das Problem behoben?

  • Überprüfen Sie, ob das Problem behoben ist. Wenn das Problem behoben ist, sind Sie mit diesem Abschnitt fertig. Wenn das Problem nicht behoben ist, können Sie Kontakt zum support.
  • Wir schätzen Ihr Feedback. Um Feedback zu geben oder über Probleme mit dieser Lösung zu informieren, Schreiben Sie einen Kommentar für die "Problem automatisch beheben"Blog, oder senden Sie uns eine e-Mail.

Eigenschaften

Artikel-ID: 2383895 - Geändert am: Samstag, 21. Juni 2014 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Windows 7 Enterprise
Keywords: 
kbfixme kbmsifixme kbmt KB2383895 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 2383895
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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