0

我正在尝试修改计算机上的所有快捷方式。该脚本工作正常,但时不时会抛出一个错误,即对象的 .Target 属性不可用。由于我的查询只查找扩展名为 .lnk 的文件,因此绝不应该是这种情况。(有关此错误的更多详细信息,您可以在此处查看 MS 文档:http ://technet.microsoft.com/en-us/library/ff406382.aspx#H25 )

有问题的脚本:

strComputer = "."

Set wshShell    = WScript.CreateObject("WScript.Shell")

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile WHERE Extension = 'lnk' AND Drive = 'C:'")

For Each objFile in colFiles

    If InStr(1, ucase(objFile.Target), "METER.EXE") Then
        Set objShortcut = wshShell.CreateShortcut(objFile.Name)
                Wscript.Echo "FIXING: " & objShortcut.TargetPath
        End If
Next

好奇的:这个脚本的目的是修复我们实验室机器上的几十个快捷方式,这些快捷方式以前被修改为支持“本土”许可/计量应用程序。在所有情况下,原始 .EXE 路径都已从目标中删除,但仍可以从快捷方式的图标路径中找到。

谢谢

编辑:完整的错误信息。它似乎在重新启动后出现得更频繁,但在我运行脚本 2-3 次后就不会出现。

Microsoft VBScript 运行时错误:对象不支持此属性或方法:'objFile.Target'

4

1 回答 1

0

CIM_DataFile没有Target财产。

我相信您打算Win32_ShortcutFile改用。

于 2013-02-06T11:41:45.583 回答