create or replace procedure ExecuteScriptOS(tcPowerShellPath in varchar2, tcScriptPath in varchar2) as lcJobName varchar2(500); begin lcJobName := 'exec_ps_' || SUBSTR(SYS_GUID(), 1, 8); DBMS_SCHEDULER.CREATE_JOB( job_name => lcJobName, job_action => tcPowerShellPath, number_of_arguments => 4, job_type => 'executable', enabled => FALSE ); DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(lcJobName, 1, '-ExecutionPolicy'); DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(lcJobName, 2, 'Bypass'); DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(lcJobName, 3, '-File'); DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(lcJobName, 4, tcScriptPath); DBMS_SCHEDULER.ENABLE(lcJobName); end ExecuteScriptOS; /