If you don't want to mess around with batch files, and just want to be able to 
right click on your VBScript file and say "run as <user>", then have a look at 
ShellRunAs which is the Microsoft replacement for XP's Runas:

http://technet.microsoft.com/en-us/sysinternals/cc300361.aspx

If you eventually decide that you just want a single icon on your desktop to 
double click on in order to simultaneously launch all 8 instances, then you 
would write a batch file that called your VBScript 8 times using a different 
user name/password for each. You would then right click on the desktop and 
choose New -> Shortcut giving the newly created batch file as the target.

On 64 bit Windows XP (using runas), the batch file would look something like 
this:

runas /user:localhost\Core1 /savecred "c:\<your VBScript here>"
runas /user:localhost\Core2 /savecred "c:\<your VBScript here>"
runas /user:localhost\Core3 /savecred "c:\<your VBScript here>"
runas /user:localhost\Core4 /savecred "c:\<your VBScript here>"
runas /user:localhost\Core5 /savecred "c:\<your VBScript here>"
runas /user:localhost\Core6 /savecred "c:\<your VBScript here>"
runas /user:localhost\Core7 /savecred "c:\<your VBScript here>"
runas /user:localhost\Core8 /savecred "c:\<your VBScript here>"

Keep in mind that the VBScript that you ask it to run may run in the default 
directory of the user. Thus, the script would probably need to perform a change 
directory operation to do the work in a meaningful location. Also, any resource 
referenced by the VBScript would need to be accessible to each user (test this 
by logging in as each user separately and manually running the script to ensure 
that it works).

Mike

--- In [email protected], "ozzyapeman" <zoopf...@...> wrote:
>
> To clarify, at the current time I simply double click on a VBscript
> file, when I am logged in as the main user, and it launches my Amibroker
> optimizations as that user.
> 
> But now, logged in as main user, I want to instead use RunAsSPC to
> launch the script, and pass it an alternate User/Pass - but I want to do
> this by double clicking on yet another script (a launch script for this
> RunAsSPC command).
> 
> That is what I am having difficulty trying to figure out. Again, I am
> sure this is as basic as it gets, as far as scripting or BAT files are
> concerned. I just have minimal experience in those regards.
> 
> 
> --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> >
> > Thanks Mike. That makes sense. :-)
> >
> > I guess what I am also trying to figure out - is how do I launch said
> > scripts without having to manually open a command prompt and manually
> > type in something like the following for each of the 8 scripts:
> >
> > c:\runasspc\runasspc.exe /program:"c:\myVBscript.vbs /user:"AB03"
> > /password:"passAB03" /quiet
> >
> > I am not familiar with WShell, or creating BAT files, or even with
> > launching the command prompt from within a script.
> >
> > How would I write a simple script that would simply run the above line
> > within the command prompt? So that when I double click on such a file,
> > the above referenced VBscript launches under the correct user? I am
> sure
> > this is a simple thing to do, I just have no idea how, and wading
> > through various manuals has not helped so far.
> >
> > Of course in a worse case scenario, I could just manually type the
> above
> > sort of thing into the command prompt for each script I want to
> launch,
> > but that feels unnecessarily primitive.
> >
> >
> > --- In [email protected], "Mike" sfclimbers@ wrote:
> > >
> > > You run the VBScript as the other user! Anything done from within
> the
> > script will be done as the user of which the script was launched.
> > >
> > > Whatever means you were using to run the script as the current user,
> > just do the same using your runas utility.
> > >
> > > Mike
> > >
> > > --- In [email protected], "ozzyapeman" zoopfree@ wrote:
> > > >
> > > > Okay, since I am using Windows Vista, which does not have the same
> > RunAs
> > > > utility as Win XP, I had to install a utility, RunAsSPC. That
> > utility
> > > > works fine in manual testing.
> > > >
> > > > For example, if I am logged in as User: AB01 but want to open
> > broker.exe
> > > > under User: AB03, I just type the following in the command prompt:
> > > >
> > > > cd c:\runasspc
> > > >
> > > > c:\runasspc\runasspc.exe /program:"c:\Program Files
> > > > (x86)\Amibroker\Broker.exe" /user:"AB03" /password:"passAB03"
> /quiet
> > > >
> > > > And it will open broker.exe under AB03 while I remain logged in as
> > AB01.
> > > >
> > > > But the issue that is still dogging me is - how do I now integrate
> > the
> > > > above with my VBScript to ensure that when I create the broker
> > object,
> > > > that it does so under user AB03, intead of user AB01?
> > > >
> > > > In other words, what goes at the top of the following VBScript
> code?
> > Do
> > > > I need to add some kind of windows script to call the above
> command
> > > > line, or some other script that allocates any actions to a
> specific
> > > > user? Anyone have any idea what such a line would look like? I am
> > going
> > > > through the Windows Script Host manual, and I find it somewhat
> > > > confusing.
> > > >
> > > > Thanks for any input.
> > > >
> > > >
> > > > dim AB
> > > > set AB = CreateObject("Broker.Application")
> > > >
> > > > dim AA
> > > > set AA = AB.Analysis
> > > >
> > > > AB.LoadDatabase( Database )
> > > > AA.LoadSettings( Settings )
> > > > AB.ActiveDocument.Name = "EURUSD"        ' Set EURUSD as active
> > document
> > > >
> > > >
> > > > AA.LoadFormula( Formula1 )                        ' load formula
> > from
> > > > external file
> > > > AA.ApplyTo                = 1                                    '
> > use
> > > > current symbol
> > > > AA.RangeMode          = 3                                   ' use
> > 'From'
> > > > and 'To' dates
> > > > AA.RangeFromDate = FromDate
> > > > AA.RangeToDate       = ToDate
> > > > AA.Optimize( 0 )
> > > >
> > > >
> > > > --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> > > > >
> > > > > Thanks, Mike.
> > > > >
> > > > >
> > > > > --- In [email protected], "Mike" sfclimbers@ wrote:
> > > > > >
> > > > > > You will need to run each instance as a separate user. Each
> user
> > > > must have permission to run the application. It is not necessary
> to
> > log
> > > > in/out of each user account to start the process.
> > > > > >
> > > > > > You can read the setup requirements of MCO in the Files
> section
> > of
> > > > this group for setting up the users. Then just use the built in
> > Windows
> > > > "runas" command to fire off each process from a single account but
> > > > running as a different user.
> > > > > >
> > > > > > http://support.microsoft.com/kb/294676
> > > > > >
> > > > > > Keep in mind that if you are using AddToComposite, you will
> run
> > into
> > > > trouble whenever you have multiple instances of AmiBroker running
> > > > against the same database (each will write over the other, last
> > write
> > > > wins). You can overcome that by generating dynamic composite names
> > (e.g.
> > > > based on the user name).
> > > > > >
> > > > > > Mike
> > > > > >
> > > > > > --- In [email protected], "ozzyapeman" <zoopfree@>
> > wrote:
> > > > > > >
> > > > > > > Recently I've been automating some of my optimizations and
> > > > backtests
> > > > > > > using external VBScript.
> > > > > > >
> > > > > > > When I run Amibroker manually, I can usually run up to 6
> > separate
> > > > > > > instances under a single User, which allows me to run
> > > > optimizations on 6
> > > > > > > different AFLs simultaneously. But when I try to run 6
> > different
> > > > > > > VBScripts, each calling a unique AFL, they collide which
> each
> > > > other, and
> > > > > > > cause errors.
> > > > > > >
> > > > > > > Without logging out, and logging back into windows as a
> > separate
> > > > User,
> > > > > > > how can I automate multiple optimizations using scripting?
> > > > > > >
> > > > > > > Below is a typical snippet of code. How do I instruct
> VBScript
> > to
> > > > call a
> > > > > > > unique Broker.Application, so that all scripts do not try to
> > call
> > > > the
> > > > > > > exact same instance of Amibroker? Is this even possible?
> > Thanks
> > > > for any
> > > > > > > input.
> > > > > > >
> > > > > > >
> > > > > > > dim AB
> > > > > > > set AB = CreateObject("Broker.Application")
> > > > > > >
> > > > > > > dim AA
> > > > > > > set AA = AB.Analysis
> > > > > > >
> > > > > > > AB.LoadDatabase( Database )
> > > > > > > AA.LoadSettings( Settings )
> > > > > > > AB.ActiveDocument.Name = "EURUSD"        ' Set EURUSD as
> > active
> > > > document
> > > > > > >
> > > > > > >
> > > > > > > AA.LoadFormula( Formula1 )                        ' load
> > formula
> > > > from
> > > > > > > external file
> > > > > > > AA.ApplyTo                = 1
> > '
> > > > use
> > > > > > > current symbol
> > > > > > > AA.RangeMode          = 3                                  
> '
> > use
> > > > 'From'
> > > > > > > and 'To' dates
> > > > > > > AA.RangeFromDate = FromDate
> > > > > > > AA.RangeToDate       = ToDate
> > > > > > > AA.Optimize( 0 )
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Reply via email to