用vbs实现更改计算机的说明的代码

所属分类: 脚本专栏 / vbs 阅读数: 966
收藏 0 赞 0 分享

问:
您好,脚本专家!在使用 Windows 资源管理器连接到远程计算机时,可以在“详细信息”窗格中看见该计算机的说明。如何更改计算机的说明?
-- GF
答:
您好,GF。只是为了确保每个人都清楚我们谈论的内容,我们不会谈论 Active Directory 中的“说明”属性,而是谈论在整个网络范围内广播的计算机说明。(如果您真正想知道的是如何更改 Active Directory 中的“说明”属性,请参阅此“您好,脚本专家!”专栏。)
例如,在 Windows XP 中,您可通过执行以下操作来查看计算机说明:右键单击“我的电脑”,单击“属性”,然后查看“系统属性”对话框的“计算机名称”选项卡中的内容:
如您所述,如果使用 Windows 资源管理器连接到该计算机,则该说明还会出现在“详细信息”窗格中:
我们也认为这很令人兴奋。
那么如何更改计算机说明呢?是这样,您可以启动 Regedit.exe,然后手动更改注册表值 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lanmanserver\parameters\srvcomment。或运行与以下脚本类似的脚本即可:

复制代码 代码如下:

Const HKEY_LOCAL_MACHINE = &H80000002 
strComputer = "." 
Set objRegistry = GetObject _ 
    ("winmgmts:\\" & strComputer & "\root\default:StdRegProv") 
strKeyPath = "System\CurrentControlSet\Services\lanmanserver\parameters" 
strValueName = "srvcomment" 
strDescription = "Description changed programmatically" 
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strDescription 
这当然容易啦;相处了这么长时间,您真的认为我们会突然开始为您的问题提供复杂而又费解的答案吗?我们先是定义一个名为 HKEY_LOCAL_MACHINE 的常量并将其值设置为 &H80000002;过一会儿,我们将使用此常量来告诉脚本我们要处理的注册表配置单元。然后,我们连接到 WMI 服务(在本例中,它位于本地计算机上,不过修改远程计算机上注册表的操作也差不多同样简单),并绑定到 StdRegProv 类。(而该类(正如我们所不厌其烦地告诉大家的)恰好位于 root\default 命名空间中。)
接下来,我们为三个变量赋值:
strKeyPath = "System\CurrentControlSet\Services\lanmanserver\parameters"
strValueName = "srvcomment"
strDescription = "Description changed programmtically"
变量 strKeyPath 表示注册表 HKEY_LOCAL_MACHINE 部分内的路径;strValueName 表示要更改的注册表值 (srvcomment);还有 strDescription,没错:strDescription 表示新的计算机说明。您的观察力很敏锐。
注意:我们想要说的是,你们在这方面要比我们强得多,但我们不想让经理对此有任何了解。的确如此:对于一位 Microsoft 经理来说,了解情况将是最为重要的!
现在我们所要做的就是调用 SetStringValue 方法,同时将 HKEY_LOCAL_MACHINE 和我们的三个变量作为方法参数进行传递:
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strDescription
像这样的脚本真的确实会使生活变得有意义,不是吗?
注意:请注意,即使是在注册表中进行此更改,新说明可能仍要在计算机重新启动后才会生效。这只不过是一个需要注意的地方。

更多精彩内容其他人还在看

vbscript Split函数用法详解(字符串转数组函数)

本文详细介绍了vbscript中split函数的用法,有关split函数的一些实例,vbscript中split函数的语法介绍,有需要的朋友参考下
收藏 0 赞 0 分享

VBS实现将Excel表格保存为txt文本

希望能够找到个能给excel表另存为TXT的VBS代码,虽然另存为可以选择,但还是需要直接VBS执行这一步另存为TXT格式的,应该如何写代码呢
收藏 0 赞 0 分享

vbs解决处理TXT文本数据相关问题实现代码

使用vbs处理txt数据时,会遇到一些问题,本文将提供详细的解决方法,希望可以帮助你们
收藏 0 赞 0 分享

关于vbs 生成静态页面过程中出现的问题

访问某个aspx页面,然后把服务器返回的页面以filestream 的形式保存为html格式,接下来将介绍实现代码
收藏 0 赞 0 分享

dim函数第三个参数设置截取字符的长度问题

dim函数的第三个参数,也就是截取字符的长度,我在设置这个的时候,出了些问题,提示无效的过程调用或参数,本文详细介绍如何解决
收藏 0 赞 0 分享

邪恶的eval和new Function使用介绍

这些代码可以干什么?可以肯定的是可以干很多猥琐的事
收藏 0 赞 0 分享

WScript.Shell对象SpecialFolders属性未公开文档分享

WshShell对象的SpecialFolders属性返WshSpecialFolders 对象,该对象是一个特殊文件夹集合,其中包含整套Windows特殊文件夹
收藏 0 赞 0 分享

用VBS修改(设置)系统时间和日期的代码

用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题。那么怎样用 VBS 修改系统的时间呢
收藏 0 赞 0 分享

VBS For Next循环的一些细节

For Next 语句是 VBS 中常用的循环语句,你可能已经用过无数次 For Next 循环,但是你是否注意过它的一些细节呢
收藏 0 赞 0 分享

VBS For Next循环的陷阱分享

在《VBS For Next循环的一些细节》中说到了 For Next 循环的控制变量仅仅在循环开始前求值一次,但是其中存在一处陷阱
收藏 0 赞 0 分享
查看更多