Running .vbs script inside RM

ShubhaShubha Member Posts: 139 Maven
edited November 2018 in Help
Hi,

I am running a .vbs script in the commanLine Operator. Though the script runs perfect outside RM, it doesn't work when called from RM. The error I get "Permission Denied", Line 12, Code 800A0046, Microsift VBScript runtime error.

The link http://www.computerperformance.co.uk/Logon/code/code_800A0046.htm says about this error, where the solution proposed is
"If its Exchange, then check the MailRoot and Pickup folder permissions.  If its IIS check the permissions to run scripts.  If its SQL check the execute permissions on the services."

So, guess this problem has to do with some permissions to run VB scripts in RapidMiner? Could I get any help regarding this? Is there a way to work this out?

The operator process is below:
<operator name="Root" class="Process" expanded="yes">
    <operator name="CommandLineOperator" class="CommandLineOperator" breakpoints="before">
        <parameter key="command" value="cmd /c start E:\Trial\k.vbs"/>
    </operator>
</operator>

Thanks,
Shubha

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    I'm not familiar with vbs scripting, but it seems to me, that it needs some priviliges the user who started rapid miner does not have.

    Does this occur on every script or is it something inside this particular script?

    Greetings,
      Sebastian
  • ShubhaShubha Member Posts: 139 Maven
    Thanks Land...

    The error does not occur for simple display command like creating a message boxes like:

    VBS Script:
    MsgBox "Hello!"
    But, for the script where I try to create a CSV file from the script, this error appears (Me too not familar with VBA). The script is below:
    Dim objFileSystem, objOutputFile
    Dim strOutputFile
    dim kValue
    kValue = InputBox("Enter k value:")

    If kValue <> "" Then

    ' generate a filename base on the script name
    strOutputFile = "./" & Split(WScript.ScriptName, ".")(0) & ".csv"

    Set objFileSystem = CreateObject("Scripting.fileSystemObject")
    Set objOutputFile = objFileSystem.CreateTextFile(strOutputFile, TRUE)

    objOutputFile.WriteLine(kValue)
    objOutputFile.Close

    Set objFileSystem = Nothing
    End If
    WScript.Quit(0)

    I need to run this inside RM. It works outside RM as I indicated earlier.... As you said it hjas got something to do with the privileges.. Do I need to change any settings in the RM for this?

    Thanks,
    Shubha
  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    no you don't need. Please ask you admin why you don't have the permission. I argue, that you are trying to write into the RM directory because the script uses the current directory, which is not set if you call cmd script.vbs directly and not from the shell. Change the path to an absolute value and be happy.

    Greetings,
      Sebastian
  • ShubhaShubha Member Posts: 139 Maven
    Thanks... I will try it out...

    Shubha
Sign In or Register to comment.