2012-09-28 77 views
0

因此,從我工作的地方簽訂勞動合同的學校只是訂購新電腦,我們必須維護一個序列號數據庫到資產標籤以及重命名計算機以反映其資產標籤。我有SN和AT關聯在一個CSV文件中,我想要做的是編寫一個C#應用程序,它從運行的計算機獲取序列號,然後查詢服務器的名稱。有沒有人知道一種方式來做到這一點(我讀過的東西暗示它將通過system.management,但我不再找到)。不幸的是,我無法訪問其中一臺目標計算機,甚至無法訪問同一品牌的其中一臺,直到我需要它工作。檢索製造序列號

那麼,品牌之間有沒有差異,他們把他們的序列號?

回答

8

嘗試Win32_BaseBoard WMI對象的SerialNumber屬性:

ManagementObjectSearcher searcher = 
    new ManagementObjectSearcher("SELECT Product, SerialNumber FROM Win32_BaseBoard"); 

ManagementObjectCollection information = searcher.Get(); 
foreach (ManagementObject obj in information) 
{ 
    foreach (PropertyData data in obj.Properties) 
     Console.WriteLine("{0} = {1}", data.Name, data.Value); 
    Console.WriteLine(); 
} 

searcher.Dispose(); 

來源:Retrieving Motherboard Serial Number using WMI

+0

感謝怪異想到的是,當我使用的BIOS不踢腳線是工作,但我並不想在那裏星期一調試,因爲我使它與我的戴爾,而不是他們的Lenovos合作。 – David

+0

你說得對,我只是用'wmic'試過,'Win32_BaseBoard'不能識別。它可以和'BIOS'和'BaseBoard'一起使用,雖然'BaseBoard'似乎沒有返回與'BIOS'相同的值。它可能是製造商特定的。什麼是一個小調試如此糟糕?如果不能訪問這些特定的機器,你絕對不會100%確定它會工作。 –

+0

嗯,我在時間緊迫,但經過一番思考,如果我只是追加所有可能有用的WMI信息,然後通過做一個string.contains()進行比較。只要信息存在,但應該是我所看到的,這應該很好。無論如何感謝您的幫助,您爲我節省了幾個煩人的時間;我的成像過程現在應該完全自動化。 – David