用C#能不能通过硬件之类的识别判断一台机器是服务器还是PC?

解决方案 »

  1.   

    服务器和PC有什么明确的标志来区分吗,PC机也可以当服务器用啊。
      

  2.   

    每一台PC都有成为服务器的合法权力,受到法律保护。每一台服务器都有成为PC的权力,但道德上不受认可,群众会予以遣责。请尊重服务器或PC及其主人的合法权益。
      

  3.   

    就是不知道是不是大部分服务器都是双CUP的?
    ================
    绝对不是。我们单位四台服务器,有三台是单个至强CPU(P4 2.6~P4 3.0),只有一个是双CPU的,反而是P3*2,老机。
      

  4.   

    服务器一般都有相对固定的IP地址,为什么不用IP地址区分呢?或者用所谓网卡的MAC地址。要么,在网上查一下看看INTEL CPU作为服务器用的至强之类的CPU包含什么和普通CPU不一样的‘序列号’之类的东西。还有一般服务器的计算机名都是什么什么Server,试着用计算机名区分一下也可以嘛。
      

  5.   

    很简单,不过好象不能马上判断出来
     可以先判断是否为外网IP
     再判断是否为固定IP
     满足上面两个,就可以断定是服务器.
      

  6.   

    这些服务器上任何东西都可能在PC上有,特别是开发人员的PC就比服务器还服务器。
      

  7.   

    我不同意部分人的说法,服务器和PC的区分主要看运行状态不能PC==服务器 首先从硬件上看,服务器运行不需要显示器. 远程进行管理. 家用PC甚至你自己的工作PC,模拟服务器环境,毕竟是动态IP,我不相信谁的工作环境是固定IP地址(外网).内网不用说了.
     再一个从开没开3389服务和其他一些服务上也能区分
     如开了3389端口等,多方面判断,只凭一点是不能判断服务器和PC的区别
      

  8.   

    另外提醒楼主,判断CPU数量也是不对的
    服务器从机架上拿下来使用,就等同于PC
    如果放在机架上,固定IP了,那就是服务器. 谁的PC是固定外网IP地址?  如果有,恭喜你,你可以在家里办服务器托管业务了.
      

  9.   

    补充,如果你说的服务器包括文件或共享服务器,就是运行在公司内网里的.
    那只能用读取BIOS的方法,但只能判断品牌服务器.
      

  10.   

    看完天下无双的三张膏药,我终于明白了,放在机架上,N天关一次的就是服务器!咋一看,很可笑,不过细想想,很有道理,这些机器的职责,就是提供服务,如果这些机器被拿下来用来长时间执行前台任务,那就是PC.
    不过结论还是一个,没有标准......
      

  11.   

    我这还有一个贴子,都半个月了,一直没有找到答案,顺便带一下人气:
    http://community.csdn.net/Expert/topic/4974/4974147.xml?temp=.9565241
      

  12.   

    谁的PC是固定外网IP地址?  如果有,恭喜你,你可以在家里办服务器托管业务了.
    ——————————————————————————————————————
    不知道你是否用过有线的网络。还有很多。另外所谓“没有监视器”,总不能用眼睛去看吧?你用软件怎么去确认没有监视器呢?即使能够判断,你怎么知道软件公司开发环境里的所有机器都是要开着监视器的呢?
      

  13.   

    另外关于托管问题,不是什么单纯固定外网IP地址的问题。现在大家仅仅需要域名可以解析到,并不在乎是静态解析还是动态解析。搞托管业务,要看是否合法。其次是带宽。现有的任何一个公网连接,不管是优先还是ADSL,都是可以直接作为web服务的。动态域名解析的知识应该普及了吧?!
      

  14.   

    ???????????????????????????????????
    我高开发的时候就把pc做服务器用了.小的管理软件什么的,就可以用pc当服务器.如果我愿意的话,我也可以把服务器当pc来用,爽呀!这个还要判断???????晕
      

  15.   

    参考这个http://java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.html
      

  16.   

    '下面的vb script 脚本可以判断机器类型
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colChassis = objWMIService.ExecQuery _
        ("Select * from Win32_SystemEnclosure")
    For Each objChassis in colChassis
        For  Each strChassisType in objChassis.ChassisTypes
            Select Case strChassisType
                Case 1
                    Wscript.Echo "Other"
                Case 2
                    Wscript.Echo "Unknown"
                Case 3
                    Wscript.Echo "Desktop"
                Case 4
                    Wscript.Echo "Low Profile Desktop"
                Case 5
                    Wscript.Echo "Pizza Box"
                Case 6
                    Wscript.Echo "Mini Tower"
                Case 7
                    Wscript.Echo "Tower"
                Case 8
                    Wscript.Echo "Portable"
                Case 9
                    Wscript.Echo "Laptop"
                Case 10
                    Wscript.Echo "Notebook"
                Case 11
                    Wscript.Echo "Handheld"
                Case 12
                    Wscript.Echo "Docking Station"
                Case 13
                    Wscript.Echo "All-in-One"
                Case 14
                    Wscript.Echo "Sub-Notebook"
                Case 15
                    Wscript.Echo "Space Saving"
                Case 16
                    Wscript.Echo "Lunch Box"
                Case 17
                    Wscript.Echo "Main System Chassis"
                Case 18
                    Wscript.Echo "Expansion Chassis"
                Case 19
                    Wscript.Echo "Sub-Chassis"
                Case 20
                    Wscript.Echo "Bus Expansion Chassis"
                Case 21
                    Wscript.Echo "Peripheral Chassis"
                Case 22
                    Wscript.Echo "Storage Chassis"
                Case 23
                    Wscript.Echo "Rack Mount Chassis"
                Case 24
                    Wscript.Echo "Sealed-Case PC"
                Case Else
                    Wscript.Echo "Unknown"
                End Select
        Next
    Next
      

  17.   

    呵呵,不好意思的说,我的机器有公网地址,也是一台PC机!服务器和PC根本没有本质的区别,在win平台上在unix平台上,有些操作系统一下子就能检测出来,如aix,安装这个,全部都是服务器!
      

  18.   

    操作系统的版本 Professoin版PC Server或A Server服务器
      

  19.   

    地區:北京
    年限:2年
    技術:.Net BS开发
    工資:avg>>5K + 福利,人性化公司,不加班,工作开心,心情愉快。
    公司性質:汽车门户网站,国内汽车行业前三名。 PS: 透露点消息,我们公司正在招.net BS开发人员,如果哪位同仁想换工作,是一个不错的机会选择,加[email protected] 说应聘即可!
      

  20.   

    每一台PC都有成为服务器的合法权力,受到法律保护。每一台服务器都有成为PC的权力,但道德上不受认可,群众会予以遣责。请尊重服务器或PC及其主人的合法权益。
      

  21.   

    PC和服务器,并不是对立的。所以你的标题列的不恰当。根据你的后来补充描述,你其实是想区分客户用机和服务用机。我建议你根据机器的操作系统来判断,一般,在实际应用的业务系统中,这两种用机的OS软件是有很大的差异的。例如:
    客户端常用win98、win2000 professional、winxp等
    服务端常用win2000 server、win2000 advance server等
      

  22.   

    没有明显区别,2个cpu可能是工作站,不一定是服务器
      

  23.   

    楼主,在www.shbarcode.com里面有,你可以参考一下!
      

  24.   

    判断RAID不行,俺的PC就是RAID1的磁盘阵列(XP系统) 。
    SASI和双电源也不行!有的低档服务器就不是SASI和双电源。
      

  25.   

    很简单,不过好象不能马上判断出来
     可以先判断是否为外网IP
     再判断是否为固定IP
     满足上面两个,就可以断定是服务器.
    ====================================
    我们公司是通过一个小路由器上网的,符合你的上边条件,可以说它是服务器么?路由器上边也可以装软件么/
    我只是想多了解点东西..
      

  26.   

    客户端常用win98、win2000 professional、winxp等
    服务端常用win2000 server、win2000 advance server等
    ===================================================
    “常用”
      

  27.   

    我身边的大多数开发用PC安装Windows203。服务器操作系统哦!