您目前已離線,請等候您的網際網路重新連線

"已經被加入項目具有相同索引鍵 」 時,發生錯誤 VAMT 2.0 中開啟清單的 Windows 7 電腦上

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本: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精靈中的步驟。




注意
  • 請選取。您想要刪除的重複項目 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


這樣是否已修正問題吗?

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

警告:本文為自動翻譯

內容

文章識別碼:2383895 - 最後檢閱時間:06/24/2014 01:01:00 - 修訂: 1.0

Windows 7 Enterprise

  • kbfixme kbmsifixme kbmt KB2383895 KbMtzh
意見反應