Некоторое время назад я опубликовал вопрос с просьбой сценария VB удалить ярлык "TeamViewer 12 Host" с любого компьютера и с любого рабочего стола, если он существует. Местный не удаленный. Я запустил его на своей рабочей станции Windows 10, и он работал. Это даже компенсировало перенаправление моего рабочего стола на сервер. Проблема в том, что я не могу заставить его работать на чужом компьютере. На всех остальных, даже если они являются локальными администраторами, они получают ошибку "Отказано в доступе", когда он пытается удалить ее. Они тоже местные администраторы. Я даже пытался запустить его из командной строки с повышенными правами. Нет радости Странно то, что я могу перейти к нему через проводник и удалить его без проблем. Только думаю, что я могу думать, что это что-то в сценарии. Есть идеи, что происходит?
' Specify filename to remove from user desktops
strShortcut = "TeamViewer 12 Host.lnk"
' Create file system object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
' Find root of user data folder (C:\USERS on recent versions of Windows)
strUsers = objFSO.GetParentFolderName(objFSO.GetParentFolderName(objShell.SpecialFolders("Desktop")))
Set objUsers = objFSO.GetFolder(strUsers)
' Check each user folder, and look for our file in the DESKTOP subfolder
For Each objFolder In objUsers.SubFolders
strCheck = objFolder & "\Desktop\" & strShortcut
Wscript.Echo "Checking:" & strCheck
' If shortcut file exists remove it
If objFSO.FileExists(strCheck) Then
Wscript.Echo "Deleting:" & strCheck
objFSO.DeleteFile(strCheck)
End If
Next