T086学习网 | 站长学院 | 技术文档 | 成语 | 歇后语 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论 | 欣欣百宝箱

脚本的故事(2004年9月)

【 Microsoft TechNet作者:脚本专家 更新时间:2006-05-09 | 字体:
[导读]脚本的故事 2004 年 9 月 虫子爬进来了,但却赖着不走 启动 Script Debugger 分步执行代码 最后一步 设置和删除断点 处理变量 运行脚本命令 脚本专家的绝学秘笈 结束语 虫子爬进来了,但却赖着不走 我们都曾听说过海...

运行脚本命令

那么,与在脚本运行时查询脚本并获取有关脚本所执行操作的信息相比,到底有没有 更好的办法呢?没有,当然没有,除非您能在脚本运行时真的向其发送命令。但这是很荒谬的;在脚本运行时无法向其发送命令。难道真的能行……

让我们看另一个简单的小脚本,它返回有关 Internet Explorer 附加组件的信息:

strComputer = "atl-ws-01"
Set objWMIService = GetObject("winmgmts:\" & strComputer _
    & "
ootcimv2ApplicationsMicrosoftIE")
Set colIESettings = objWMIService.ExecQuery _
    ("Select * from MicrosoftIE_Object")
For Each strIESetting in colIESettings
    Wscript.Echo "Code base: " & strIESetting.CodeBase
    Wscript.Echo "Program file: " & strIESetting.ProgramFile
    Wscript.Echo "Status: " & strIESetting.Status
Next

正如所编写的一样,此脚本连接到远程计算机 (atl-ws-01),然后从 MicrosoftIE_Object 类中检索某些信息。又是老一套,是吧?我们想通过在 Script Debugger 中分步执行来测试此脚本,因此,我们装载此脚本,按 F8 键运行第一行代码,该行将变量 strComputer 的值设置为 atl-ws-01。

但是,此时我们意识到有一个问题:我们突然想起计算机 atl-ws-01 没有联机。因为我们无法连接到该计算机,所以脚本注定会失败。您一定以为我们必须退出 Script Debugger,更改脚本(将其指向另一台计算机),然后重新运行脚本,是吧?

错。脚本有问题吗?问题是出在我们要连接到由变量 strComputer 表示的计算机。这没有什么问题,只是 strComputer 的值当前为 atl-ws-01,而该计算机没有联机。但您知道吗?实际上,这并不是 什么问题。在我们运行用于连接到远程计算机的代码行之前,我们只需要将 strComputer 的值更改为已联机的 某台计算机即可(例如,我们可以将 strComputer 更改为“.”以便针对本地计算机运行脚本)。您猜该怎么做?是的,这次您说对了,我们就是在命令窗口中做到这一点的:

text

只需在命令窗口中键入相应的命令并按 Enter 键;果不其然,脚本中的 strComputer 的值将更改为圆点 (.)。这真的 很棒!

您也可以输入更复杂的命令。例如,请考虑以下脚本,它用于返回本地计算机上安装的所有服务的名称:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer _
    & "
ootcimv2")
For Each objItem in colItems
    Wscript.Echo "Name: " & objItem.Name
Next

非常棒,是吧?美中不足的是缺少了一行代码,该行代码实际上从 Win32_Service 类检索信息。该脚本应该 类似于以下内容:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer _
    & "
ootcimv2")
Set colItems = objWMIService.ExecQuery _
    ("Select * From Win32_Service")
For Each objItem in colItems
    Wscript.Echo "Name: " & objItem.Name
Next

不过,没有关系。只需在 Script Debugger 中装载脚本,并分步执行前两行代码。在到达缺少的第三行代码时,不要慌;在命令窗口中键入缺少的代码行,然后按 Enter 键:

text

只需从此处单步执行该代码,脚本就会报告本地计算机上安装的所有服务的名称,这与预想的一模一样。

上一页 [4] [5] [6] 7 [8] [9] 下一页
  • 转载请注明来源:IT学习网 网址:http://www.t086.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
更多
留言建议ASP探针PHP探针站长Enjoy的Blog
© 2017 T086学习网 - T086.com(原itlearner.com)
RunTime:9.94ms QueryTime:7