脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - VBS - 用vbs实现判断计算机是笔记本还是台式机的代码

用vbs实现判断计算机是笔记本还是台式机的代码

2020-07-22 13:44VBS代码网 VBS

尽管我们并不知道您自己是怎么解决这个问题的。大家知道,有一个很小的称为 Win32_SystemEnclosure 的傻瓜式 WMI 类

ChassisTypes 属性可以告诉您,您使用的是笔记本电脑、台式计算机还是其他类型的计算机。哦,输入。以下脚本可以让您知道您使用的是哪种类型的计算机:

复制代码 代码如下:


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 
Wscript.Echo strChassisType 
Next 
Next 



好吧,以上脚本只是在一定程度上让您知道您使用的是哪种类型的计算机。实际上,ChassisType 属性返回的是一个数字,这就是说当我们在面前的计算机上运行这个脚本时,我们将得到 10。那么,什么是 10 呢?根据WMI SDK,它指的是笔记本计算机。猜一猜会发生什么呢?没错!

但您并不必每次检查计算机类型时都参考 SDK。以下经过扩展的脚本使用一个 Select Case 语句,它可将这些整数转换为更有意义的内容: 

复制代码 代码如下:


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



在您提问以前,不,我们并不知道这些大多数计算机类型是什么,也不知道便携式计算机、膝上型计算机以及笔记本计算机之间有什么区别。我们也不知道 ChassisTypes 属性为什么存储为数组。那是否意味着一台计算机可以有多种计算机类型?不要问我们,我们也不知道。让我们喘口气吧:毕竟我们只是 Microsoft Scripting Guy,可不是 Microsoft Hardware Guy

延伸 · 阅读

精彩推荐
  • VBSWINDOWS脚本实践:为SAP补丁制作的VBS脚本代码

    WINDOWS脚本实践:为SAP补丁制作的VBS脚本代码

    本文主要分享WINDOWS脚本实践:为SAP补丁制作的VBS脚本代码,有需要的童鞋可以参考下...

    脚本之家3232020-07-06
  • VBSVBS教程:正则表达式简介 -正则表达式语法

    VBS教程:正则表达式简介 -正则表达式语法

    正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的...

    VBS教程网3302019-11-25
  • VBSAdsutil.vbs 在脚本攻击中的妙用[我非我原创]

    Adsutil.vbs 在脚本攻击中的妙用[我非我原创]

    adsutil.vbs是什么?相信用过IIS的网管员不会不知道。这是IIS自带的提供于命令行下管理IIS的一个脚本。位于%SystemDrive%\Inetpub\AdminScripts目录下。...

    VBS教程网2312020-07-07
  • VBSVBS文本文件操作实现代码

    VBS文本文件操作实现代码

    这篇文章主要介绍了VBS文本文件操作实现代码,需要的朋友可以参考下...

    VBS代码网8912020-08-12
  • VBS灵活实用VBS入门教程应用篇

    灵活实用VBS入门教程应用篇

    上一篇文章我们了解了VBS编程的一些基础知识,要更深入地学习还要学习选择结构和循环结构。 ...

    VBS教程网5742020-07-01
  • VBSVBS数组深入浅出

    VBS数组深入浅出

    VBS数组在应用中没有像其他语句那么广泛,VBS数组存在不少功能上的局限性(如二维数组的定义、赋值),在使用上也没有java等语言那么便捷...

    VBS教程网2962020-08-18
  • VBS雷客图ASP站长安全助手vbs测试版代码

    雷客图ASP站长安全助手vbs测试版代码

    雷客图ASP站长安全助手是一个基于ASP的帮助站长维护网站安全的程序。这个版本(vbs测试版)主要用于服务器本地运行以查找ASP木马。此版本为测试版,希...

    脚本之家2312020-07-03
  • VBSVBS编程教程 (第1篇)

    VBS编程教程 (第1篇)

    VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言....

    VBS教程网4812020-07-15