如何取得服务器的硬件信息?

winsalau 2003-09-26 11:24:51
加精
如何取得服务器的硬件信息?
如CPU型号
CPU个数
内存的大小等
...全文
103 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
goody9807 2003-09-26
  • 打赏
  • 举报
回复
up
cnlamar 2003-09-26
  • 打赏
  • 举报
回复
using System.Management;

拜托,你贴的是那个版本的呀,using System.Management;都找不到
jjcccc 2003-09-26
  • 打赏
  • 举报
回复
干脆让别人替你写程序吧。
winsalau 2003-09-26
  • 打赏
  • 举报
回复
我要的只是
CPU型号
CPU个数
内存的大小
jjcccc 2003-09-26
  • 打赏
  • 举报
回复
这个许多人问国过了,给你一个老外写的类。可以自己扩充。不过因为是web程序,你的aspnet用户在服务器上得有足够的权限:

using System;
using System.Text;
using System.Runtime.InteropServices;
using System.Management;

namespace MachineInfo
{
public class GetInfo
{

/// <summary>
/// return Volume Serial Number from hard drive
/// </summary>
/// <param name="strDriveLetter">[optional] Drive letter</param>
/// <returns>[string] VolumeSerialNumber</returns>
public string GetVolumeSerial(string strDriveLetter)
{
if( strDriveLetter=="" || strDriveLetter==null) strDriveLetter="C";
ManagementObject disk =
new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter +":\"");
disk.Get();
return disk["VolumeSerialNumber"].ToString();
}

/// <summary>
/// Returns MAC Address from first Network Card in Computer
/// </summary>
/// <returns>[string] MAC Address</returns>
public string GetMACAddress()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
string MACAddress=String.Empty;
foreach(ManagementObject mo in moc)
{
if(MACAddress==String.Empty) // only return MAC Address from first card
{
if((bool)mo["IPEnabled"] == true) MACAddress= mo["MacAddress"].ToString() ;
}
mo.Dispose();
}
MACAddress=MACAddress.Replace(":","");
return MACAddress;
}
/// <summary>
/// Return processorId from first CPU in machine
/// </summary>
/// <returns>[string] ProcessorId</returns>
public string GetCPUId()
{
string cpuInfo = String.Empty;
string temp=String.Empty;
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if(cpuInfo==String.Empty)
{// only return cpuInfo from first CPU
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
}
return cpuInfo;
}
}
}
xavier_lee 2003-09-26
  • 打赏
  • 举报
回复
you can get it from reg.

or

find a ocx/dll or other activex.
airless 2003-09-26
  • 打赏
  • 举报
回复
不是吧,在asp.net中确实有这个空间,对象浏览器中的自定义中加入外部组件时,在.NET框架中就有这个选项啊。
winsalau 2003-09-26
  • 打赏
  • 举报
回复
Imports System.Management
不是用在asp.net上的吧?
winsalau 2003-09-26
  • 打赏
  • 举报
回复
大哥
你的Imports System.Management是什么来的?
说未找到Management未命名空间
xiandaliu 2003-09-26
  • 打赏
  • 举报
回复
mark
cnlamar 2003-09-26
  • 打赏
  • 举报
回复
我怎么就没有System.Management这个类?!对象浏览器中都找不到!
acewang 2003-09-26
  • 打赏
  • 举报
回复
Function processorfamily(ByVal procssfam)
Dim processtype
Select Case procssfam
Case 1
processtype = "Other"
Case 2
processtype = "Unknown "
Case 3
processtype = "8086 "
Case 4
processtype = "80286 "
Case 5
processtype = "80386 "
Case 6
processtype = "80486 "
Case 7
processtype = "8087 "
Case 8
processtype = "80287 "
Case 9
processtype = "80387 "
Case 10
processtype = "80487 "
Case 11
processtype = "Pentium brand "
Case 12
processtype = "Pentium Pro "
Case 13
processtype = "Pentium II "
Case 14
processtype = "Pentium processor with MMX technology "
Case 15
processtype = "Celeron "
Case 16
processtype = "Pentium II Xeon "
Case 17
processtype = "Pentium III "
Case 18
processtype = "M1 Family "
Case 19
processtype = "M2 Family "
Case 24
processtype = "K5 Family "
Case 25
processtype = "K6 Family "
Case 26
processtype = "K6-2 "
Case 27
processtype = "K6-3 "
Case 28
processtype = "AMD Athlon Processor Family "
Case 29
processtype = "AMD Duron Processor "
Case 30
processtype = "AMD2900 Family "
Case 31
processtype = "K6-2+ "
Case 32
processtype = "Power PC Family "
Case 33
processtype = "Power PC 601 "
Case 34
processtype = "Power PC 603 "
Case 35
processtype = "Power PC 603+ "
Case 36
processtype = "Power PC 604 "
Case 37
processtype = "Power PC 620 "
Case 38
processtype = "Power PC X704 "
Case 39
processtype = "Power PC 750 "
Case 48
processtype = "Alpha Family "
Case 49
processtype = "Alpha 21064 "
Case 50
processtype = "Alpha 21066 "
Case 51
processtype = "Alpha 21164 "
Case 52
processtype = "Alpha 21164PC "
Case 53
processtype = "Alpha 21164a "
Case 54
processtype = "Alpha 21264 "
Case 55
processtype = "Alpha 21364 "
Case 64
processtype = "MIPS Family "
Case 65
processtype = "MIPS R4000 "
Case 66
processtype = "MIPS R4200 "
Case 67
processtype = "MIPS R4400 "
Case 68
processtype = "MIPS R4600 "
Case 69
processtype = "MIPS R10000 "
Case 80
processtype = "SPARC Family "
Case 81
processtype = "SuperSPARC "
Case 82
processtype = "microSPARC II "
Case 83
processtype = "microSPARC IIep "
Case 84
processtype = "UltraSPARC "
Case 85
processtype = "UltraSPARC II "
Case 86
processtype = "UltraSPARC IIi "
Case 87
processtype = "UltraSPARC III "
Case 88
processtype = "UltraSPARC IIIi "
Case 96
processtype = "68040 "
Case 97
processtype = "68xxx Family "
Case 98
processtype = "68000 "
Case 99
processtype = "68010 "
Case 100
processtype = "68020 "
Case 101
processtype = "68030 "
Case 112
processtype = "Hobbit Family "
Case 120
processtype = "Crusoe TM5000 Family "
Case 121
processtype = "Crusoe TM3000 Family "
Case 128
processtype = "Weitek "
Case 130
processtype = "Itanium Processor "
Case 144
processtype = "PA-RISC Family "
Case 145
processtype = "PA-RISC 8500 "
Case 146
processtype = "PA-RISC 8000 "
Case 147
processtype = "PA-RISC 7300LC "
Case 148
processtype = "PA-RISC 7200 "
Case 149
processtype = "PA-RISC 7100LC "
Case 150
processtype = "PA-RISC 7100 "
Case 160
processtype = "V30 Family "
Case 176
processtype = "Pentium III Xeon "
Case 177
processtype = "Pentium III Processor with Intel SpeedStep Technology "
Case 178
processtype = "Pentium 4 "
Case 179
processtype = "Intel Xeon "
Case 180
processtype = "AS400 Family "
Case 181
processtype = "Intel Xeon processor MP "
Case 182
processtype = "AMD AthlonXP Family "
Case 183
processtype = "AMD AthlonMP Family "
Case 184
processtype = "Intel Itanium 2 "
Case 185
processtype = "AMD Opteron Family "
Case 190
processtype = "K7 "
Case 200
processtype = "IBM390 Family "
Case 201
processtype = "G4 "
Case 202
processtype = "G5 "
Case 250
processtype = "i860 "
Case 251
processtype = "i960 "
Case 260
processtype = "SH-3 "
Case 261
processtype = "SH-4 "
Case 280
processtype = "ARM "
Case 281
processtype = "StrongARM "
Case 300
processtype = "6x86 "
Case 301
processtype = "MediaGX "
Case 302
processtype = "MII "
Case 320
processtype = "WinChip "
Case 350
processtype = "DSP "
Case 500
processtype = "Video Processor "
End Select
ListBox1.Items.Add("Family: " & processtype)

End Function
Function CpuStat(ByVal CpuStNUM)
Dim stat
Select Case CpuStNUM
Case 0
stat = "Unknown "
Case 1
stat = "CPU Enabled "
Case 2
stat = "CPU Disabled by User via BIOS Setup "
Case 3
stat = "CPU Disabled By BIOS (POST Error) "
Case 4
stat = "CPU is Idle "
Case 5
stat = "Reserved "
Case 6
stat = "Reserved "
Case 7
stat = "Other "
End Select
ListBox1.Items.Add("CpuStatus: " & stat)
End Function
Function processortype(ByVal proctypenum)
Dim proctype
Select Case proctypenum
Case 1
proctype = "Other "
Case 2
proctype = "Unknown "
Case 3
proctype = "Central Processor "
Case 4
proctype = "Math Processor "
Case 5
proctype = "DSP Processor "
Case 6
proctype = "Video Processor "
End Select
ListBox1.Items.Add("Processor Type: " & proctype)

End Function
End Class

acewang 2003-09-26
  • 打赏
  • 举报
回复
使用Win32_Processor列出处理器的信息
Imports System.Management
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click

Dim ProcQuery As New SelectQuery("Win32_Processor")
Dim ProcSearch As New ManagementObjectSearcher(ProcQuery)
Dim ProcInfo As ManagementObject

For Each ProcInfo In ProcSearch.Get()
Call processorfamily(ProcInfo("Family").ToString)
ListBox1.Items.Add("Description: " & ProcInfo("Description").ToString())
ListBox1.Items.Add("caption: " & ProcInfo("caption").ToString())
ListBox1.Items.Add("Architecture: " & ProcInfo("Architecture").ToString())
Call processortype(ProcInfo("ProcessorType").ToString())
Call CpuStat(ProcInfo("CpuStatus").ToString)
ListBox1.Items.Add("MaxClockSpeed: " & ProcInfo("MaxClockSpeed").ToString() & "MHZ")
ListBox1.Items.Add("L2CacheSpeed: " & ProcInfo("L2CacheSpeed").ToString() & "MHZ")
ListBox1.Items.Add("ExtClock: " & ProcInfo("L2CacheSpeed").ToString() & "MHZ")
ListBox1.Items.Add("ProcessorId: " & ProcInfo("ProcessorId").ToString())
ListBox1.Items.Add("AddressWidth: " & ProcInfo("AddressWidth").ToString() & "Bits")
ListBox1.Items.Add("DataWidth: " & ProcInfo("DataWidth").ToString() & "Bits")
ListBox1.Items.Add("Version: " & ProcInfo("Version").ToString())
ListBox1.Items.Add("ExtClock: " & ProcInfo("ExtClock").ToString() & "MHZ")
Next
End Sub

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧