求救:我希望在Windows Server 2003里面实现用命令行刷新硬件列表,以扫描硬件改动,怎么实现?

jdsucheng 2008-04-02 02:54:55
如题
...全文
225 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsucheng 2008-04-03
  • 打赏
  • 举报
回复
谢谢专家指导,我也用的devcon, 我把Devcon在放在远程计算机上的C:\下,然后用WMIC名令创建远程进程实现了远程刷新硬件列表

这是我的命令行
wmic /node: %ServerName% process call create "c:\devcon /rescan"

scz123 2008-04-02
  • 打赏
  • 举报
回复
devcon 不错,下载收藏了
yx07004212 2008-04-02
  • 打赏
  • 举报
回复
支持用devcon命令
wjqblog 2008-04-02
  • 打赏
  • 举报
回复
要是我就用devcon
自己BAIDU一下用法好了
chensijian 2008-04-02
  • 打赏
  • 举报
回复
学习,顶!
scz123 2008-04-02
  • 打赏
  • 举报
回复
如果是想搜索新硬件,还真不知道该用什么命令。系统的PNP可以自动搜索到新硬件,所以估计也没必要手动刷新搜索。
如果是想查看设备的变动,倒是可以用命令行来实现。

方法一、使用WMIC(WMI命令行)

使用WMIC需要管理员权限,第一次运行会进行安装和配置。

运行下面的命令可以把系统中的驱动列表保存到sysdriver.txt:
[code=BatchFile]wmic SYSDRIVER get DisplayName >sysdriver.txt[/code]

再次运行,然后使用fc就可以判断是否有变动
[code=BatchFile]wmic SYSDRIVER get DisplayName >sysdriver1.txt
fc sysdirver.txt sysdriver1.txt[/code]

方法二、使用WMI脚本

可以使用js或vbs来运行脚本,不需要管理员权限。

如下方法可以得到驱动类表,然后就可以使用fc比较两次运行的结果了:

[code=BatchFile]cscript //NoLogo sysdriver.vbs >sysdriver.txt[/code]

sysdriver.vbs内容如下
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_SystemDriver", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
WScript.Echo objItem.DisplayName
Next

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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