?
Solved

VB Script mapping network drives

Posted on 2008-10-21
6
Medium Priority
?
438 Views
Last Modified: 2010-04-21
hello,

i have a vb script that uninstalls an older version of a software product and then installs a new version of the software product. however, after installation i need to call a batch file that resides on a network drive. i cannot figure out how to map the drive call the file and then delete the mapping. any insight would be appreciated. attached a my script. thanks in advance.

chaz.
'Create command shell
Set WshShell = CreateObject("WScript.Shell")
 
'Uninstall previous versions of FileSite
WshShell.Run "msiexec /x {ABD11761-F3F5-421D-8726-5CCEEE333AA8} /q",1,true
WshShell.Run "msiexec /x {67F84002-C577-41C7-8F02-682A7797EE16} /q",1,true
 
'Install new version of FileSite
WshShell.Run "msiexec.exe /i ""\\archive\archive\software\Interwoven\FileSite 8.2 SP1 P3a\Full_Installer\Interwoven FileSite 8.2 SP1.msi"" /qn SERIALNUMBER=""xxx-xxx"" ", 1, true

Open in new window

0
Comment
Question by:chaz21
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 5

Expert Comment

by:lecaf
ID: 22770979

why use VBS?

go for a plain batch

and you can the use the pushd and popd commands
PUSHD will create a temporary drive letter that points to that specified network resource and then change the current drive and directory, using the newly defined drive letter

you could also use em with shell run but Iit would be bizzare.

m  a  r  c .
0
 
LVL 8

Accepted Solution

by:
MatthiasVance earned 2000 total points
ID: 22771049
I provided some example code.

Kind regards,

Matthias Vance
Dim oNet
Set oNet = CreateObject("WScript.Network")
oNet.MapNetworkDrive "H:", "\\server\path"
' Your code here
oNet.RemoveNetworkDrive "H:"

Open in new window

0
 
LVL 65

Expert Comment

by:RobSampson
ID: 22771096
Hi, you should be able to run your batch file directly from the UNC path without having to map a network drive....

Try this.

Regards,

Rob.
'Create command shell
Set WshShell = CreateObject("WScript.Shell")
 
'Uninstall previous versions of FileSite
WshShell.Run "msiexec /x {ABD11761-F3F5-421D-8726-5CCEEE333AA8} /q",1,true
WshShell.Run "msiexec /x {67F84002-C577-41C7-8F02-682A7797EE16} /q",1,true
 
'Install new version of FileSite
WshShell.Run "msiexec.exe /i ""\\archive\archive\software\Interwoven\FileSite 8.2 SP1 P3a\Full_Installer\Interwoven FileSite 8.2 SP1.msi"" /qn SERIALNUMBER=""xxx-xxx"" ", 1, True
 
'Run the batch file
strBatch = "\\server\share\MyBatch.bat"
WshShell.Run strBatch, 1, True

Open in new window

0
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 

Author Comment

by:chaz21
ID: 22771205
thanks for responding so quickly  !! ill give these suggestions a try and report back asap.
0
 

Author Comment

by:chaz21
ID: 22798078
attached is my script that is working just the way i intended !!   it runs perfectly when i initiate it on the local machine as admin.  now my next step is to get my sms package to run this on all the clients on our network. i created an sms package that calls the same script and it fails. anyone have any sms experience ?
 
'Create command shell
Set WshShell = CreateObject("WScript.Shell")
 
'Uninstall previous versions of FileSite
WshShell.Run "msiexec /x {ABD11761-F3F5-421D-8726-5CCEEE333AA8} /q",1,true
WshShell.Run "msiexec /x {67F84002-C577-41C7-8F02-682A7797EE16} /q",1,true
 
'Install new version of FileSite
WshShell.Run "msiexec.exe /i ""\\archive\archive\software\Interwoven\FileSite 8.2 SP1 P3a\Full_Installer\Interwoven FileSite 8.2 SP1.msi"" /qn SERIALNUMBER=""xxxx-xxxx"" ", 1, true
 
' Map a network drive to a UNC Path and then call reg.bat which imports registry setting to collapse filesite tree when opening 
Dim oNet
Set oNet = CreateObject("WScript.Network")
oNet.MapNetworkDrive "Z:", "\\server\share"
wscript.sleep 3000
WshShell.Run ("z:\reg.bat")
wscript.sleep 5000
oNet.RemoveNetworkDrive "Z:"

Open in new window

0
 

Author Closing Comment

by:chaz21
ID: 31508480
this worked very well .  i did have to add a few wscript.sleep statements to allow the program to execute before the mapping was disconnected. thanks again for everyones input !
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Suggested Courses

777 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