用vbs实现更改计算机的说明的代码
用vbs实现更改计算机的说明的代码
发布时间:2016-12-28 来源:查字典编辑
摘要:问:您好,脚本专家!在使用Windows资源管理器连接到远程计算机时,可以在“详细信息”窗格中看见该计算机的说明。如何更改计算机的说明?--...

问:

您好,脚本专家!在使用Windows资源管理器连接到远程计算机时,可以在“详细信息”窗格中看见该计算机的说明。如何更改计算机的说明?

--GF

答:

您好,GF。只是为了确保每个人都清楚我们谈论的内容,我们不会谈论ActiveDirectory中的“说明”属性,而是谈论在整个网络范围内广播的计算机说明。(如果您真正想知道的是如何更改ActiveDirectory中的“说明”属性,请参阅此“您好,脚本专家!”专栏。)

例如,在WindowsXP中,您可通过执行以下操作来查看计算机说明:右键单击“我的电脑”,单击“属性”,然后查看“系统属性”对话框的“计算机名称”选项卡中的内容:

如您所述,如果使用Windows资源管理器连接到该计算机,则该说明还会出现在“详细信息”窗格中:

我们也认为这很令人兴奋。

那么如何更改计算机说明呢?是这样,您可以启动Regedit.exe,然后手动更改注册表值HKEY_LOCAL_MACHINESystemCurrentControlSetServiceslanmanserverparameterssrvcomment。或运行与以下脚本类似的脚本即可:

复制代码 代码如下:

ConstHKEY_LOCAL_MACHINE=&H80000002

strComputer="."

SetobjRegistry=GetObject_

("winmgmts:"&strComputer&"rootdefault:StdRegProv")

strKeyPath="SystemCurrentControlSetServiceslanmanserverparameters"

strValueName="srvcomment"

strDescription="Descriptionchangedprogrammatically"

objRegistry.SetStringValueHKEY_LOCAL_MACHINE,strKeyPath,strValueName,strDescription

这当然容易啦;相处了这么长时间,您真的认为我们会突然开始为您的问题提供复杂而又费解的答案吗?我们先是定义一个名为HKEY_LOCAL_MACHINE的常量并将其值设置为&H80000002;过一会儿,我们将使用此常量来告诉脚本我们要处理的注册表配置单元。然后,我们连接到WMI服务(在本例中,它位于本地计算机上,不过修改远程计算机上注册表的操作也差不多同样简单),并绑定到StdRegProv类。(而该类(正如我们所不厌其烦地告诉大家的)恰好位于rootdefault命名空间中。)

接下来,我们为三个变量赋值:

strKeyPath="SystemCurrentControlSetServiceslanmanserverparameters"

strValueName="srvcomment"

strDescription="Descriptionchangedprogrammtically"

变量strKeyPath表示注册表HKEY_LOCAL_MACHINE部分内的路径;strValueName表示要更改的注册表值(srvcomment);还有strDescription,没错:strDescription表示新的计算机说明。您的观察力很敏锐。

注意:我们想要说的是,你们在这方面要比我们强得多,但我们不想让经理对此有任何了解。的确如此:对于一位Microsoft经理来说,了解情况将是最为重要的!

现在我们所要做的就是调用SetStringValue方法,同时将HKEY_LOCAL_MACHINE和我们的三个变量作为方法参数进行传递:

objRegistry.SetStringValueHKEY_LOCAL_MACHINE,strKeyPath,strValueName,strDescription

像这样的脚本真的确实会使生活变得有意义,不是吗?

注意:请注意,即使是在注册表中进行此更改,新说明可能仍要在计算机重新启动后才会生效。这只不过是一个需要注意的地方。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新vbs学习
热门vbs学习
脚本专栏子分类