Errore "un elemento con la stessa chiave Ŕ giÓ stato aggiunto" quando si apre un elenco di VAMT 2.0 in un computer basato su Windows 7

Traduzione articoli Traduzione articoli
Identificativo articolo: 2383895 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sintomi

Quando si apre un elenco (CIL) nel Volume Activation Management Tool (VAMT) 2.0 in un computer basato su Windows 7, Ŕ possibile che venga visualizzato il seguente messaggio di errore:

╚ giÓ stato aggiunto un elemento con la stessa chiave.

Cause

Questo problema pu˛ verificarsi se sono presenti pi¨ schede di rete nel computer e le schede di reti hanno lo stesso indirizzo MAC. Ad esempio questo problema pu˛ verificarsi se si dispongono di due schede di rete per una macchina virtuale e configurare le schede di rete per avere lo stesso indirizzo MAC.

Se si apre il file CIL in questo caso, presente una voce simile al seguente:

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>

Risoluzione

Per noi eliminare le voci duplicate dal.File CIL, Vai al "Risolvere il problema per me"sezione. Se si preferisce eliminare le voci duplicate dal.CIL file manualmente, visitare il "Risolvere il problema manualmente"sezione.

Risolvere il problema per me



Per risolvere il problema automaticamente, fare clic sui Fix it pulsante o sul collegamento. Fare clic su eseguire nella finestra di dialogo Download File e seguire i passaggi della procedura guidata Fix it .


Risolvere il problema
Microsoft Fix it 50785


Note
  • Selezionare un.File CIL che si desidera eliminare le voci duplicate per.
  • La correzione tale soluzione non funziona se VAMT(Volume Activation Management Tool) 2.0 non Ŕ installato nel percorso predefinito.
  • Questa procedura guidata potrebbe essere solo in lingua inglese. Tuttavia, la correzione automatica funziona anche per le versioni di Windows in altre lingue.
  • Se non si Ŕ nel computer in cui si verifica il problema, salvare la soluzione Fix it in un'unitÓ memoria flash o su un CD, quindi eseguirla sul computer che presenta il problema.

Quindi, visitare il "Il problema Ŕ stato risolto?"sezione.



Risolvere il problema manualmente

Per ovviare a questo problema, eliminare manualmente le voci duplicate dal.CIL o per automatizzare questo processo, utilizzare il codice sorgente riportato di seguito per creare un

Script di PowerShell per automatizzare.
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);




Quindi, attenersi alla seguente procedura su un computer Windows 7:
  1. Copiare l'oggetto salvato.File CIL c:\SCRIPT.. Ad esempio c:\script\saved.cil
  2. Copiare il codice sorgente fornito da questo articolo della Knowledge Base negli Appunti
  3. Fare clic su Start, tutti i programmi, Accessori, Windows Powershell, "Windows powershell ise"
  4. In Windows PowerShell fare clic su nella finestra Untitled1.ps1
  5. Incollare il contenuto dello script da questo articolo
  6. Fare clic su File, Salva con nome, c:\script\ScrubCil.ps1
  7. Fare clic su Start, tutti i programmi, Accessori, Windows Powershell, a destra fare clic su "Windows powershell" e scegliere "Esegui come amministratore"
  8. Powershell dal prompt dei comandi digitare i seguenti comandi
    \script CD
    set-executionpolicy illimitato
    .\ScrubCil.ps1 saved.cil


Il problema Ŕ stato risolto?

  • Controllare se il problema Ŕ stato risolto. Se il problema viene risolto, non Ŕ necessario continuare con questa sezione. Se il problema non viene risolto, Ŕ possibile contattare il supporto tecnico.
  • Ci piacerebbe ricevere commenti e suggerimenti. Per fornire commenti o segnalare problemi relativi a questa soluzione, lasciare un commento sul "Risolvere il problema per me"blog o inviare un messaggio di posta elettronica.

ProprietÓ

Identificativo articolo: 2383895 - Ultima modifica: domenica 22 giugno 2014 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Windows 7 Enterprise
Chiavi:á
kbfixme kbmsifixme kbmt KB2383895 KbMtit
Traduzione automatica articoli
IMPORTANTE: il presente articolo Ŕ stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l?obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre Ŕ perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilitÓ per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualitÓ della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2383895
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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