Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1120
  • Last Modified:

Delete all the Network Places added through VBS

Hi,

I need a script able to delete network shares, I'm working on this script but I having a hard time on it, I need to delete all the existing shortcuts under my network places and create new ones, any ideas?

Thanks in advance.
Dim objFSO, strNetHood
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
strNetHood = WshShell.SpecialFolders("Nethood")
 
'Delete "My Network Places" shortcuts
strDescription = "*"
objFSO.DeleteFile (strNetHood & "\\" & strDescription & ".lnk") 
 
 
Const NETHOOD = &H13&
 
Set objWSHShell = CreateObject("Wscript.Shell")
Set objShell = CreateObject("Shell.Application")
 
Set objFolder = objShell.Namespace(NETHOOD)
Set objFolderItem = objFolder.Self
strNetHood = objFolderItem.Path
 
strShortcutName = "Data"
strShortcutPath = "\\sfp034\sources"
 
Set objShortcut = objWSHShell.CreateShortcut _
    (strNetHood & "\" & strShortcutName & ".lnk")
objShortcut.TargetPath = strShortcutPath
objShortcut.Save 
 
strShortcutName = "systems"
strShortcutPath = "\\intra.banesco.com\data\central"
 
Set objShortcut = objWSHShell.CreateShortcut _
    (strNetHood & "\" & strShortcutName & ".lnk")
objShortcut.TargetPath = strShortcutPath
objShortcut.Save

Open in new window

0
pcfreaker
Asked:
pcfreaker
1 Solution
 
pcfreakerAuthor Commented:
I solved this way.
Dim strPath, strName, strAppname,  blnDeleteMode,  objWSHShell, objShell, objFolder, objFolderItem, blnVerboseMode 
blnDeleteMode = True
Const NETHOOD = &H13& 
 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objWSHShell = CreateObject("Wscript.Shell") 
Set objShell = CreateObject("Shell.Application") 
Set objFolder = objShell.Namespace(NETHOOD) 
Set objFolderItem = objFolder.Self 
Dim oFolder, oSubFolders, oCurrentSubFolder 
 
Call DeleteResource()
Call CreateResource()
WScript.Quit
 
 
 
Sub DeleteResource()
 
'Deletes the previously created resources
		strPath = objFolderItem.Path & "\*" 
		On Error Resume Next 
		objFSO.DeleteFile strPath, true 
		
		'Si hay Error - Creates an event log
		If Err.Number <> 0 then 
		objWSHShell.LogEvent 1, strAppname & " error:" & vbNewLine & "Cannot empty folder of files:" & strPath & vbNewLine & "Error detail:" & Err.Description 
		End If 
		
		'Some shortcuts are folders, loop and delete all of them too 
		Set oFolder = objFSO.GetFolder(objFolderItem.Path) 
		Set oSubFolders= oFolder.SubFolders 
		
		For Each oCurrentSubFolder in oSubFolders 
		On Error Resume Next 
		objFSO.DeleteFolder oCurrentSubFolder, true 
		
		'Si hay Error - Creates an event log 		If Err.Number <> 0 then 
		objWSHShell.LogEvent 1, strAppname & " error:" & vbNewLine & "Cannot empty folder of subfolders:" & strPath & vbNewLine & "Error detail:" & Err.Description 
		End If 
		Next 
		
End Sub
 
	Sub CreateResource()
			Dim objFSO, strNetHood, Cantidad, Title
			Const ForReading = 1
 
			Set WshShell = WScript.CreateObject("WScript.Shell")
			Set objFSO = CreateObject("Scripting.FileSystemObject")
			Set objNetwork = CreateObject("WScript.Network")
			strNetHood = WshShell.SpecialFolders("Nethood")
			
			Set objWSHShell = CreateObject("Wscript.Shell")
			
			Set objShell = CreateObject("Shell.Application")
			 
			Set objFolder = objShell.Namespace(NETHOOD)
			
			Set objFolderItem = objFolder.Self
			strNetHood = objFolderItem.Path
	
 
' 1st we must create the WSHShell object to interact
' with the user (show dialog and so on)
 
Set WSHShell = WScript.CreateObject("WScript.Shell")
' InputBox (prompt, title, default, xpos, ypos)
' prompt: the text shown in the input box
Title= "Input the ammount of resources to create"
' default: the value shown as default in the input field
' xpos/xpos: upper left corner of the input box
Ammount = InputBox(Message,Title,"0", 50, 10)
If Ammount = "" Then
WScript.Echo "cancelled by the user"
WScript.Quit
End If
 
Do While Cantidad >0
Cantidad= Cantidad - 1 
 
Title= "Input the path to create"
Set WSHShell = WScript.CreateObject("WScript.Shell")
Name = InputBox(Message,Title,"0", 50, 10)
 
Title= "Use an UNC: \\server\folder"
Set WSHShell = WScript.CreateObject("WScript.Shell")
Path = InputBox(Message,Title,"0", 50, 10)
 
'	Create Resource	
	strShortcutName = Name
	strShortcutPath = Path
	 
	Set objShortcut = objWSHShell.CreateShortcut _
	    (strNetHood & "\" & strShortcutName & ".lnk")
	objShortcut.TargetPath = strShortcutPath
	objShortcut.Save 
Loop

Open in new window

0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now