Kai kompiuteriu, kuriame veikia „Windows 7“, naudodami VAMT 2.0 atidarote sąrašą, pateikiamas klaidos pranešimas „Elementas su tokiu raktu jau įtrauktas“

P OŽ Y M I A I

Kai kompiuteriu, kuriame veikia „Windows 7“, naudodami tomo aktyvinimo valdymo įrankio (VAMT) 2.0 versiją bandote atidaryti sąrašą (.cil), gaunate šį klaidos pranešimą:

„Elementas su tokiu raktu jau įtrauktas“.

P R I EŽ A S T I S

Ši problema gali kilti tada, kai kompiuteryje veikia keletas tinklo plokščių, kurių MAC adresas yra toks pat. Pvz., ši problema gali kilti tada, jei naudojate dvi virtualiojo kompiuterio tinklo plokštes, kurias konfigūruodami nurodėte tokį pat MAC adresą.

Tokiu atveju bandant atidaryti .cil failą bus pateiktas įrašas, panašus į šį:

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>

S P R E N D I M A S

Jei norite, kad įrašų dublikatus iš .CIL failo panaikintume mes, pereikite prie skyriaus Taisyti už mane. Jei įrašų dublikatus iš .CIL failo norite panaikinti patys, pereikite prie skyriaus Leisti taisyti pačiam.

Pataisyti už mane



Norėdami išspręsti problemą automatiškai, spustelėkite mygtuką arba saitą Taisyti. Tada dialogo lange Failo atsisiuntimas spustelėkite Vykdyti ir atlikite vedlio Taisyti nurodomus veiksmus.




Pastabos
  • Pažymėkite .CIL failą, kuriame norite panaikinti įrašų dublikatus.
  • Jei VAMT (tomo aktyvinimo valdymo įrankio) 2.0 versija įdiegta kitaip, nei nurodant numatytąjį kelią, sprendimas „Taisyti“ neveiks.
  • Šis vedlys gali būti tik anglų kalba. Tačiau automatinis taisymas veikia ir „Windows“ kitų kalbų versijose.
  • Jei dirbate kitu kompiuteriu, o ne tuo, kuriame kilo ši problema, sprendimą Taisyti galite įrašyti į „flash“ atmintinę arba CD ir paleisti reikalingame kompiuteryje.

Tada pereikite prie skyriaus „Ar tai išsprendė problemą?



Leisti taisyti pačiam.

Norėdami apeiti šią problemą įrašų dublikatus iš .CIL failo panaikinkite patys arba nustatykite, kad procesas būtų vykdomas automatiškai: naudodami toliau nurodytą šaltinio kodą sukurkite

„PowerShell“ automatizavimo scenarijų.
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);







Tada kompiuteriu, kuriame veikia „Windows 7“, atlikite toliau nurodytus veiksmus.
  1. Įrašytą .CIL failą nukopijuokite į c:\script. Pvz., c:\script\saved.cil.
  2. Įtrauktą šiame KB straipsnyje nurodytą šaltinio kodą nukopijuokite į mainų sritį.
  3. Spustelėkite Pradėti, Visos programos, Reikmenys, „Windows Powershell“, „Windows powershell ise“.
  4. Atidarę „Windows PowerShell“ spustelėkite lange Untitled1.ps1
  5. Įklijuokite šiame straipsnyje pateiktą scenarijaus turinį.
  6. Spustelėkite Failas, Įrašyti kaip, c:\script\ScrubCil.ps1.
  7. Spustelėkite Pradėti, Visos programos, Reikmenys, „Windows Powershell“, tada dešiniuoju pelės mygtuku spustelėkite Windows powershell ir pasirinkite „Paleisti administratoriaus teisėmis“.
  8. Gavę „PowerShell“ raginimą įveskite toliau nurodytas komandas.
    cd \script
    set-executionpolicy unrestricted
    .\ScrubCil.ps1 saved.cil


Ar tai išsprendė problemą?

  • Patikrinkite, ar problema išspręsta. Jei problema išspręsta, nebereikia toliau skaityti šio skyriaus. Jei problema neišspręsta, galite susisiekti su palaikymo tarnyba.
  • Būtume dėkingi už jūsų atsiliepimus. Norėdami pateikti atsiliepimą arba pranešti apie problemas dėl šio sprendimo, palikite komentarą interneto dienoraštyje Pataisyti už mane arba atsiųskite mums el. laišką.
Savybės

Straipsnio ID: 2383895 – Paskutinė peržiūra: 2011-12-20 – Peržiūra: 1

Atsiliepimai