"Ein Element mit demselben Schlüssel wurde bereits hinzugefügt" Fehler beim Öffnen von einer Liste mit VAMT 2.0 auf einem Computer unter Windows 7

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 einem Windows 7-basierten 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 im Computer vorhanden sind und diese Netzwerkadapter dieselbe MAC-Adresse haben. Dieses Problem kann beispielsweise auftreten, wenn Sie zwei Netzwerkadapter für eine virtuelle Maschine, und Sie konfigurieren diese Netzwerkadapter 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

Haben uns löschen Sie die doppelten Einträge aus der.CIL-Datei für Sie, gehen Sie zu den "Für mich zu beheben"Abschnitt. Wenn Sie es vorziehen, löschen Sie die doppelten Einträge aus der.CIL-Datei selbst, fahren Sie mit dem "Lassen Sie mich manuell beheben"Abschnitt.

Für mich zu beheben



Um dieses Problem automatisch beheben möchten, klicken Sie auf die Fix it Schaltfläche bzw. Verknüpfung. Klicken Sie dann auf Ausführen Klicken Sie im Feld Dateidownload Dialogfeld ein, und führen Sie die Schritte in der Fix it Assistent.


Dieses Problem zu beheben.
Microsoft Fix it 50785


Notizen
  • Bitte wählen Sie ein.CIL-Datei die Sie für die doppelte Einträge löschen möchten.
  • Die Fix it Lösung funktioniert nicht, wenn der VAMT(Volume Activation Management Tool) 2.0 nicht im Standardpfad installiert ist.
  • Dieser Assistent möglicherweise nur in englischer Sprache. Die automatische Korrektur funktioniert jedoch auch für andere Sprachversionen von Windows.
  • Wenn Sie nicht auf dem Computer, das Problem, speichern Sie die Fehlerbehebung ist, es Lösung auf ein Flashlaufwerk oder eine CD, und führen Sie es auf dem Computer, das Problem auftritt.

Fahren Sie mit dem "Wurde das Problem behoben?"Abschnitt.



Lassen Sie mich manuell beheben

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

PowerShell-Skript zur Automatisierung.
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);




Dann gehen Sie folgendermaßen vor, auf einem Computer unter Windows 7:
  1. Kopieren Sie Ihre gespeicherten.CIL-Datei zu 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, Windows Powershell, klicken Sie rechts auf "Windows Powershell" und wählen Sie "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 Probleme mit dieser Lösung zu informieren, lassen Sie einen Kommentar über das "Für mich zu beheben"Blog oder senden Sie uns eine e-Mail.

Eigenschaften

Artikel-ID: 2383895 - Geändert am: Dienstag, 1. November 2011 - Version: 1.2
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 und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
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