"Položky se stejným klíčem již byl přidán" Chyba při otevření seznamu v VAMT 2.0 v počítači se systémem Windows 7

Překlady článku Překlady článku
ID článku: 2383895 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Při otevření seznamu (s příponou CIL) v objemu Aktivace správy nástroj VAMT () 2.0 v počítači se systémem Windows 7 se může zobrazit následující chybová zpráva:

Položky se stejným klíčem již byl přidán.

Příčina

K tomuto problému může dojít, pokud je v počítači více síťových adaptérů a tyto adaptéry sítě mají stejnou adresu MAC. Tomuto problému může například dojít, pokud máte dva síťové adaptéry pro virtuální počítač a konfigurovat tyto síťové adaptéry na stejnou adresu MAC.

Pokud otevřete soubor s příponou CIL v této situaci, zobrazí položka podobná následující:

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>

Řešení

Chcete-li tento problém vyřešit, ručně odstranit duplicitní položky z.CIL nebo chcete-li tento proces automatizovat, vytvořte pomocí následující zdrojový kód

PowerShell skript pro automatizaci.
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);




V počítači se systémem Windows 7, postupujte takto:
  1. Kopírovat vaše uložené.CIL soubor c:\script. Například c:\script\saved.cil.
  2. Kopírování součástí zdrojového kódu z tohoto článku KB do schránky
  3. Klepněte na tlačítko Start, všechny programy, příslušenství, prostředí Windows Powershell, "Windows powershell ise"
  4. Prostředí Windows PowerShell, klepněte v okně Untitled1.ps1
  5. Vložit obsah skriptu z tohoto článku
  6. Klepněte na soubor, uložit jako, c:\script\ScrubCil.ps1
  7. Klepněte na tlačítko Start, všechny programy, příslušenství, prostředí Windows Powershell, "Windows powershell"
  8. Powershell příkazovém řádku zadejte následující příkazy
    CD \script
    .\ScrubCil.ps1 saved.cil

Poznámka: Budete pravděpodobně muset změnit nastavení ExecutionPolicy na RemoteSigned v závislosti na konfiguraci powershell


Vlastnosti

ID článku: 2383895 - Poslední aktualizace: 17. května 2011 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Windows 7 Enterprise
Klíčová slova: 
kbmt KB2383895 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:2383895

Dejte nám zpětnou vazbu

 

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