Solved

VB Script to remove shortcut from desktop

Posted on 2013-01-15
6
726 Views
Last Modified: 2013-01-21
Hello, I have found a new way to deploy desktop shortcuts on our client PC's.  The issue is that I currently have VB scripts running to do the same thing via log on script.  I have attached the code I use to create those icons.  What could I add or change in this script to look for the icon and remove it.  Basically I want to reverse what I have been doing.


'FORCE EXPLICIT VARIABLE DECLARATION
option explicit

'STEP OVER ERRORS FOR CUSTOM ERROR REPORTING
on error resume next

'DECLARE VARIABLES
dim shell, desktopPath, link, sys32Path

'INSTANTIATE THE WINDOWS SCRIPT HOST SHELL OBJECT
Set shell = WScript.CreateObject("WScript.shell")

'SET THE PATH TO THE WINDOWS DESKTOP FOLDER & MY DOCUMENTS FOLDER
desktopPath = shell.SpecialFolders("Desktop")
sys32Path = "http://epic1ctx/Citrix/TriCounty/auth/login.aspx"

'CREATE A SHORTCUT ON THE USER'S DESKTOP
Set link = shell.CreateShortcut(desktopPath & "\TriCounty Citrix.lnk")

'SET THE PROPERTIES FOR THE SHORTCUT
link.Description = "My Shortcut"
link.TargetPath = sys32Path
link.WindowStyle = 0
link.WorkingDirectory = desktopPath
link.IconLocation = "\\tch16\IT\ShortcutIcons\epic.ico"
link.Save

'CLEANUP OBJECTS
set shell = nothing
0
Comment
Question by:TriCountyIT
  • 2
  • 2
  • 2
6 Comments
 
LVL 20

Expert Comment

by:ltlbearand3
ID: 38781127
You can just use the file system object to delete the file created by the link.  You can add something like this to your code to do the trick.
Dim strRemoveFile, objFSO
strRemoveFile = desktopPath & "\TriCounty Citrix.lnk"

Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strRemoveFile) then
	objFSO.DeleteFile strRemoveFile
End IF

Set objFSO = nothing

Open in new window

0
 
LVL 14

Accepted Solution

by:
Rob Miners earned 500 total points
ID: 38781300
' http://www.petri.co.il/forums/showthread.php?t=46267

set WshShell = WScript.CreateObject("WScript.Shell" )
strDesktop = WshShell.SpecialFolders("Desktop" )
' delete this shortcut
strShortcut = strDesktop & "\notepad.lnk"

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strShortcut) Then fso.DeleteFile(strShortcut)
0
 

Author Closing Comment

by:TriCountyIT
ID: 38801159
This worked perfect.  THanks
0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 
LVL 20

Expert Comment

by:ltlbearand3
ID: 38802425
Can you please explain why my solution was not picked as it essentially the same thing and was posted first.  I am curious.

-Bear
0
 

Author Comment

by:TriCountyIT
ID: 38802477
Of course.  I tried your script and it didnt work.  For whatever reason it would not remove the icon.  So, instead of messaging you to troubleshoot I tried the other script and it worked so I just accepted the other one.  I am sure someone with a little more VB background could have seen what the issue was and it would have worked just fine, but I am for sure not that guy.  The script I posted I got from an expert on this site a couple years ago.  I appreciate the speedy response though.  Thanks alot.
0
 
LVL 14

Expert Comment

by:Rob Miners
ID: 38803004
Your welcome :)
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction During my participation as a VBScript contributor at Experts Exchange, one of the most common questions I come across is this: "I have a script that runs against only one computer. How can I make it run against a list of computers in …
Setting up a Microsoft WSUS update system is free relatively speaking if you have hard disk space and processor capacity.   However, WSUS can be a blessing and a curse. For example, there is nothing worse than approving updates and they just have…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question