Virhe "Samaa avainta käyttävä kohde on jo lisätty" avattaessa luetteloa VAMT 2.0:ssa Windows 7 -tietokoneessa

Oire

Kun avaat luettelon (.cil) VAMT (Volume Activation Management Tool) 2.0 -työkalussa Windows 7 -tietokoneessa, näyttöön saattaa tulla seuraavankaltainen virhesanoma:

Samaa avainta käyttävä kohde on jo lisätty.

Syy

Tämä ongelma saattaa ilmetä, jos tietokoneessa on useita verkkosovittimia ja näillä verkkosovittimilla on sama MAC-osoite. Tämä ongelma voi ilmetä esimerkiksi, jos näennäiskoneessa on kaksi verkkosovitinta ja määrität näille verkkosovittimille saman MAC-osoitteen.

Jos avaat .cil-tiedoston tässä tilanteessa, näet seuraavankaltaisen merkinnän:

NetworkName="contoso.com" Id="e3f3f83c-f050-4d81-9117-xx">
<MacAddresses>
<MacAddress>00:11:11:CF:FC:xx</MacAddress>
<MacAddress>00:11:11:CF:FC:xx</MacAddress>
</MacAddresses>

Ratkaisu

Jos haluat, että kahdentuneet merkinnät poistetaan .CIL-tiedostosta puolestasi, siirry Korjaa ongelma puolestani -osaan. Jos haluat poistaa kahdentuneet merkinnät .CIL-tiedostosta mieluummin itse, siirry Haluan korjata ongelman itse -osaan.

Korjaa ongelma puolestani



Jos haluat, että tämä ongelma korjataan automaattisesti, napsauta Fix it -ratkaisun painiketta tai linkkiä. Valitse Tiedostojen lataaminen -valintaikkunassa Suorita ja noudata ohjatun Fix it -toiminnon ohjeita.




Huomautuksia
  • Valitse .CIL-tiedosto, jonka kahdentuneet merkinnät haluat poistaa.
  • Fix it -ratkaisu ei toimi, jos VAMT (Volume Activation Management Tool) 2.0:aa ei ole asennettu oletuspolkuun.
  • Tämä ohjattu toiminto saattaa olla vain englanninkielinen. Automaattinen korjaus toimii kuitenkin myös muiden Windowsin kieliversioiden kanssa.
  • Jos et ole käyttämässä tietokonetta, jossa tämä ongelma ilmenee, tallenna Fix it -ratkaisu muistitikkuun tai CD-levylle ja suorita se sitten tietokoneessa, jossa ongelma ilmenee.

Siirry sitten Korjasiko tämä ongelman? -osaan.



Haluan korjata ongelman itse

Voit kiertää tämän ongelman poistamalla kahdentuneet merkinnät manuaalisesti .CIL-tiedostosta tai automatisoimalla tämän prosessin käyttämällä seuraavaa lähdekoodia

automatisoitavan PowerShell-komentosarjan luomiseen.
param($inputFilePath, $vamtDirPath)

$cilFilePath = Resolve-Path $inputFilePath;

if (!$cilFilePath)

{

Write-Error "CIL-kohdetiedoston odotettu nimi";

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 "Virhe yritettäessä ladata VAMT-kokoonpanoa. Anna oikea VAMT-asennuspolku, jos VAMT ei ole asennettuna oletushakemistoon.";

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);







Tee sitten seuraavat toimet Windows 7 -tietokoneessa:
  1. Kopioi tallennettu .CIL-tiedosto kansioon c:\script. Esimerkiksi c:\script\saved.cil
  2. Kopioi tässä KB-artikkelissa oleva lähdekoodi leikepöydälle.
  3. Valitse Käynnistä, Kaikki ohjelmat, Apuohjelmat, Windows PowerShell, "Windows powershell ise"
  4. Napsauta Windows PowerShellissä jotakin kohtaa Untitled1.ps1-ikkunassa.
  5. Liitä tämän artikkelin komentosarjan sisältö.
  6. Valitse Tiedosto, Tallenna nimellä, c:\script\ScrubCil.ps1
  7. Valitse Käynnistä, Kaikki ohjelmat, Apuohjelmat, Windows PowerShell, napsauta hiiren kakkospainikkeella kohtaa "Windows powershell" ja valitse Suorita järjestelmänvalvojana
  8. Kirjoita powershell-komentokehotteeseen seuraavat komennot.
    cd \script
    set-executionpolicy unrestricted
    .\ScrubCil.ps1 saved.cil


Korjasiko tämä ongelman?

  • Tarkista, onko ongelma korjattu. Jos ongelma on korjattu, sinun ei tarvitse tehdä muita tässä osassa kuvattuja toimia. Jos ongelmaa ei ole korjattu, voit ottaa yhteyttä tukeen.
  • Arvostamme palautettasi. Voit antaa meille palautetta tai ilmoittaa tähän ratkaisuun liittyvistä ongelmista jättämällä kommentin Fix it for me (Korjaa ongelma puolestani) -blogiin tai lähettämällä meille sähköpostia.
Ominaisuudet

Artikkelin tunnus: 2383895 – Viimeisin tarkistus: 20.12.2011 – Versio: 1

Palaute