文章編號: 2383895 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

當您開啟清單 (.cil) 中的磁碟區啟用管理工具 (VAMT) 2.0 的 Windows 7 電腦上時,您可能會收到下列錯誤訊息:

已經加入具有相同索引鍵的項目。

發生的原因

如果在電腦上,有多個網路介面卡,這些網路介面卡有相同的 MAC 位址,可能會發生這個問題。例如如果您有兩個網路介面卡的虛擬機器,而且您設定這些網路介面卡讓它們有相同的 MAC 位址,可能會發生這個問題。

如果您在此情況下開啟.cil 檔案,您會看到類似下列的項目:

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

解決方案

如果要刪除重複的項目,從我們。CIL 檔案,請移至"為我修正它」 一節。如果您想要刪除的重複項目。CIL 檔案自己時,請移至"讓我自行修正此問題」 一節。

為我修正它



若要自動修正此問題,請按一下 [修正 按鈕或連結。然後按一下 [執行 檔案下載] 對話方塊中,並依照Fix it精靈中的步驟。


修正這個問題
Microsoft Fix it 50785


注意
  • 請選取。您想要刪除的重複項目 CIL 檔案。
  • 修正它的方案無法運作如果預設路徑中沒有安裝 VAMT(Volume Activation Management Tool) 2.0。
  • fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff不過,自動修正程式也適用於其他語言版本的 Windows。
  • 如果您不在發生問題,請將此修正程式的電腦上它方案加入至快閃磁碟機或 CD,然後在發生問題的電腦上加以執行。

接著,請移至"這樣是否已修正問題??」 一節。



讓我自行修正此問題

若要解決這個問題,請手動刪除從重複的項目。CIL 或來自動化此程序,請使用下列的程式碼來建立

Powershell 指令檔來自動化。
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);




然後,在 Windows 7 電腦上執行下列步驟:
  1. 複製您已儲存。CIL 檔案 c:\script。例如 c:\script\saved.cil
  2. 此 KB 文件包含的原始程式碼複製到剪貼簿
  3. 按一下 [開始,所有程式、 [附屬應用程式、 Windows Powershell,「 Windows powershell ise"
  4. 在 Windows PowerShell 中,按一下 [Untitled1.ps1] 視窗中
  5. 在 [指令碼,從這篇文章的內容貼上
  6. 按一下 [檔案] [另存成、 c:\script\ScrubCil.ps1
  7. 按一下開始,所有程式、 [附屬應用程式,Windows Powershell、 滑鼠右鍵按一下 「 Windows powershell 」,選擇 [以系統管理員身分執行 」
  8. 在 powershell 提示字元中輸入下列命令
    cd \script
    不受限制的設定-executionpolicy
    .\ScrubCil.ps1 saved.cil


這樣是否已修正問題??

  • 請檢查是否已修正問題。如果問題已修正,您用完這一節。如果問題尚未修正,您可以 請連絡支援部門.
  • 我們非常感謝您的意見反應。若要提供意見反應或報告此解決方案的任何問題,請留下註解 」為我修正它「 部落格內容或傳送給我們 電子郵件.

屬性

文章編號: 2383895 - 上次校閱: 2014年6月24日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Windows 7 Enterprise
關鍵字:?
kbfixme kbmsifixme kbmt KB2383895 KbMtzh
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:2383895
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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