Jython or wlst script to enable/disable result set cache at BusinessService

Hi,
I am new to creating Jython or wlst script. Can anybody help me out and send me the wlst script to enable/disable businsess service cache in OSB. The script should be called by Proxy Service.
Thanks

You cannot change the role name. If you want to use the same account activation scheme as used by the console and the perl script command lines, you must use the exact same names for roles, etc.
If you don't care about using the console or the command lines to manage roles, you can use any scheme you like, but you cannot mix and match the two schemes.

Similar Messages

  • 11g Client result set caching in OCI

    I'm trying out this feature in the 11.1.0.6 release. My understanding of this feature is that when enabled with the appropriate server-side init.ora parameters, a 11g OCI client connecting to the instance will cache SQL results locally in some fixed amount of RAM on the client. The idea is that network roundtrips would simply disappear in this situation.
    I'm not sure if it's working--or how to tell if it is. I have a 11g instance running and put the 11g client incl. sqlplus on a separate box, setting up TNS connectivity from client to server. Pretty standard stuff. I can connect fine and run the same query over and over, but I see incrementing execution counts on the database side and network traffic between the client and server so I'm guessing that the client-side caching isn't happening. There doesn't seem to be a ton of clear documentation on this feature so I wanted to see if anyone else has kicked it around.
    Bob

    I am also facing the same issue (enabling client result set caching). I am using Oracle Database 11g Release 11.2.0.2.0.
    I have made the below configuration changes
    1. Enabled the client result set cache by setting the server side parameter 'client_result_cache_size' to 10485760 (10 MB)
    2. Restarted the oracle instance after setting the above parameter
    3. Added a table annotation by executing the statement ALTER TABLE emp RESULT_CACHE (MODE FORCE). I verified that the annotation is applied by query the user table later.
    4. Enabled statement caching on the client side i.e. on the JDBC driver.
    5. Used prepared statements to execute the query so that statement caching kicks in. From the driver logs I verified that execution of subsequent queries after the first one used the same statement handle.
    After executing the select prepared statement query for three times I checked the CLIENT_RESULT_CACHE_STATS$ view. But this view didn't result in any rows.
    As part of troubleshooting I even tried adding the /*+ RESULT_CACHE */ hint to the query but the view didn't gave any result.
    Also on enabling sql trace I could see from tkprof that every execution of the query increased the number of rows fetched on the server which indicates that the client result set caching in OCI isn't working.
    Are there any steps which I have missed?
    Thanks in advance.

  • Client side result set cache

    Hello,
    I try to get the client side result set cache working, but i have no luck :-(
    I'm using Oracle Enterprise Edition 11.2.0.1.0 and as client diver 11.2.0.2.0.
    Executing the query select /*+ result_cache*/ * from p_item via sql plus or toad will generate an nice execution plan with an RESULT CACHE node and the v$result_cache_objects contains some rows.
    After I've check the server side cache works. I want to cache the client side
    My simple Java Application looks like
    private static final String ID = UUID.randomUUID().toString();
    private static final String JDBC_URL = "jdbc:oracle:oci:@server:1521:ORCL";
    private static final String USER = "user";
    private static final String PASSWORD = "password";
    public static void main(String[] args) throws SQLException {
    OracleDataSource ds = new OracleDataSource();
    ds.setImplicitCachingEnabled(true);
    ds.setURL( JDBC_URL );
    ds.setUser( USER );
    ds.setPassword( PASSWORD );
    String sql = "select /*+ result_cache */ /* " + ID + " */ * from p_item d " +
    "where d.i_size = :1";
    for( int i=0; i<100; i++ ) {
    OracleConnection connection = (OracleConnection) ds.getConnection();
    connection.setImplicitCachingEnabled(true);
    connection.setStatementCacheSize(10);
    OraclePreparedStatement stmt = (OraclePreparedStatement) connection.prepareStatement( sql );
    stmt.setLong( 1, 176 );
    ResultSet rs = stmt.executeQuery();
    int count = 0;
    for(; rs.next(); count++ );
    rs.close();
    stmt.close();
    System.out.println( "Execution: " + getExecutions(connection) + " Fetched: " + count );
    connection.close();
    private static int getExecutions( Connection connection ) throws SQLException {
    String sql = "select executions from v$sqlarea where sql_text like ?";
    PreparedStatement stmt = connection.prepareStatement(sql);
    stmt.setString(1, "%" + ID + "%" );
    ResultSet rs = stmt.executeQuery();
    if( rs.next() == false )
    return 0;
    int result = rs.getInt(1);
    if( rs.next() )
    throw new IllegalArgumentException("not unique");
    rs.close();
    stmt.close();
    return result;
    100 times the same query is executed and the statement exection count is incemented every time. I expect just 1 statement execution ( client database roundtrip ) and 99 hits in client result set cache. The view CLIENT_RESULT_CACHE_STATS$ is empty :-(
    I'm using the oracle documentation at http://download.oracle.com/docs/cd/E14072_01/java.112/e10589/instclnt.htm#BABEDHFF and I don't kown why it does't work :-(
    I'm thankful for every tip,
    André Kullmann

    I wanted to post a follow-up to (hopefully) clear up a point of potential confusion. That is, with the OCI Client Result Cache, the results are indeed cached on the client in memory managed by OCI.
    As I mentioned in my previous reply, I am not a JDBC (or Java) expert so there is likely a great deal of improvement that can be made to my little test program. However, it is not intended to be exemplary, didactic code - rather, it's hopefully just enough to illustrate that the caching happens on the client (when things are configured correctly, etc).
    My environment for this exercise is Windows 7 64-bit, Java SE 1.6.0_27 32-bit, Oracle Instant Client 11.2.0.2 32-bit, and Oracle Database 11.2.0.2 64-bit.
    Apologies if this is a messy post, but I wanted to make it as close to copy/paste/verify as possible.
    Here's the test code I used:
    import java.sql.ResultSet;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import oracle.jdbc.pool.OracleDataSource;
    import oracle.jdbc.OracleConnection;
    class OCIResultCache
      public static void main(String args []) throws SQLException
        OracleDataSource ods = null;
        OracleConnection conn = null;
        PreparedStatement stmt = null;
        ResultSet rset = null;
        String sql1 = "select /*+ no_result_cache */ first_name, last_name " +
                      "from hr.employees";
        String sql2 = "select /*+ result_cache */ first_name, last_name " +
                      "from hr.employees";
        int fetchSize = 128;
        long start, end;
        try
          ods = new OracleDataSource();
          ods.setURL("jdbc:oracle:oci:@liverpool:1521:V112");
          ods.setUser("orademo");
          ods.setPassword("orademo");
          conn = (OracleConnection) ods.getConnection();
          conn.setImplicitCachingEnabled(true);
          conn.setStatementCacheSize(20);
          stmt = conn.prepareStatement(sql1);
          stmt.setFetchSize(fetchSize);
          start = System.currentTimeMillis();
          for (int i=0; i < 10000; i++)
            rset = stmt.executeQuery();
            while (rset.next())
            if (rset != null) rset.close();
          end = System.currentTimeMillis();
          if (stmt != null) stmt.close();
          System.out.println();
          System.out.println("Execution time [sql1] = " + (end-start) + " ms.");
          stmt = conn.prepareStatement(sql2);
          stmt.setFetchSize(fetchSize);
          start = System.currentTimeMillis();
          for (int i=0; i < 10000; i++)
            rset = stmt.executeQuery();
            while (rset.next())
            if (rset != null) rset.close();
          end = System.currentTimeMillis();
          if (stmt != null) stmt.close();
          System.out.println();
          System.out.println("Execution time [sql2] = " + (end-start) + " ms.");
          System.out.println();
          System.out.print("Enter to continue...");
          System.console().readLine();
        finally
          if (rset != null) rset.close();
          if (stmt != null) stmt.close();
          if (conn != null) conn.close();
    }In order to show that the results are cached on the client and thus server round-trips are avoided, I generated a 10046 level 12 trace from the database for this session. This was done using the following database logon trigger:
    create or replace trigger logon_trigger
    after logon on database
    begin
      if (user = 'ORADEMO') then
        execute immediate
        'alter session set events ''10046 trace name context forever, level 12''';
      end if;
    end;
    /With that in place I then did some environmental setup and executed the test:
    C:\Projects\Test\Java\OCIResultCache>set ORACLE_HOME=C:\Oracle\instantclient_11_2
    C:\Projects\Test\Java\OCIResultCache>set CLASSPATH=.;%ORACLE_HOME%\ojdbc6.jar
    C:\Projects\Test\Java\OCIResultCache>set PATH=%ORACLE_HOME%\;%PATH%
    C:\Projects\Test\Java\OCIResultCache>java OCIResultCache
    Execution time [sql1] = 1654 ms.
    Execution time [sql2] = 686 ms.
    Enter to continue...This is all on my laptop, so results are not stellar in terms of performance; however, you can see that the portion of the test that uses the OCI client result cache did execute in approximately half of the time as the non-cached portion.
    But, the more compelling data is in the resulting trace file which I ran through the tkprof utility to make it nicely formatted and summarized:
    SQL ID: cqx6mdvs7mqud Plan Hash: 2228653197
    select /*+ no_result_cache */ first_name, last_name
    from
    hr.employees
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute  10000      0.10       0.10          0          0          0           0
    Fetch    10001      0.49       0.54          0      10001          0     1070000
    total    20002      0.60       0.65          0      10001          0     1070000
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 94 
    Number of plan statistics captured: 1
    Rows (1st) Rows (avg) Rows (max)  Row Source Operation
           107        107        107  INDEX FULL SCAN EMP_NAME_IX (cr=2 pr=0 pw=0 time=21 us cost=1 size=1605 card=107)(object id 75241)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                   10001        0.00          0.00
      SQL*Net message from client                 10001        0.00          1.10
    SQL ID: frzmxy93n71ss Plan Hash: 2228653197
    select /*+ result_cache */ first_name, last_name
    from
    hr.employees
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.01          0         11         22           0
    Fetch        2      0.00       0.00          0          0          0         107
    total        4      0.00       0.01          0         11         22         107
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 94 
    Number of plan statistics captured: 1
    Rows (1st) Rows (avg) Rows (max)  Row Source Operation
           107        107        107  RESULT CACHE  0rdkpjr5p74cf0n0cs95ntguh7 (cr=0 pr=0 pw=0 time=12 us)
             0          0          0   INDEX FULL SCAN EMP_NAME_IX (cr=0 pr=0 pw=0 time=0 us cost=1 size=1605 card=107)(object id 75241)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                       2        0.00          0.00
      log file sync                                   1        0.00          0.00
      SQL*Net message from client                     2        1.13          1.13The key differences here are the execute, fetch, and SQL*Net message values. Using the client-side cache, the values drop dramatically due to getting the results from client memory rather than round-trips to the server.
    Of course, corrections, clarifications, etc. welcome and so on...
    Regards,
    Mark

  • Script to enable/disable audio/videotracks

    Hi,
    Trying this:
    function SwitchOffVideoOutput (vtracks,activeSeq)
           var active_seq = activeSeq;
           var videotracks = active_seq.videoTracks;
           alert("numTracks: "+ videotracks.numTracks);
           track = vtracks.split("|");
           for (i=0; i <= track.length; i++) {
          alert("Switching off: "+ track[i]);
          // Would like to do something like this:
          // videotracks[track].enabled=false;
          // videotracks[track].output=false;
          // Renaming sequence from A to B
          tmp = active_seq.name;
          tmp = tmp.replace("_A","_B");
          alert(tmp);
          //active_seq.name = tmp;
    SwitchOffVideoOutput ("2|3|4",app.project.activeSequence);
    // But also would like to do this:
    var myColl = app.project.selection;
    for (i=0; i <= myColl.length; i++) {//loop through the project
         alert(myColl.name)
         SwitchOffVideoOutput ("2|3|4",myColl.name);
    // SwitchOffVideoOutput and rename selection in Premiere Pro

    Although you can set or remove the Dark interface style with defaults write syntax, the reset back to default (non-dark) interface will require a log-out/log-in cycle to entirely remove the Dark style. Toggling this style on and off in the System Preferences > General panel does not require the preceding log-out disruption. Unfortunately, other than possible GUI scripting, the Apple Script dictionary in Yosemite is very limited with respect to System Preferences access, and enabling/disabling the dark interface style.

  • Apple script to enable/disable dark menu bar and dock when sunsets/sunrises

    Greetings,
    Regarding the new dark menu bar and dock function in Yosemite. Would it be possible to write a script that would enable this function at a certain time say sunset and to disable it at another time say sunrise?
    If so, is there anybody who could possibly help me write such a script or atlas point me in the right direction please?
    Many thanks in advance
    G_D

    Although you can set or remove the Dark interface style with defaults write syntax, the reset back to default (non-dark) interface will require a log-out/log-in cycle to entirely remove the Dark style. Toggling this style on and off in the System Preferences > General panel does not require the preceding log-out disruption. Unfortunately, other than possible GUI scripting, the Apple Script dictionary in Yosemite is very limited with respect to System Preferences access, and enabling/disabling the dark interface style.

  • Dynamically enabling/disabling results using RunState.Execution

    We run with our station options set to have results disabled for all sequences.  BUT, at one point in a sequence run from the tools menu (i.e., not using the process model), we want to temporarily turn on results recording, run a step or two to record results, and then turn result recording back off.
    I am calling an ActiveX/Com step to enable results using  RunState.Execution DisableResults(false).  I then run various steps that should be recording results, but my Locals.ResultList remains empty.  Have also tried to calling  RunState.Execution AddExtraResult, but no luck.
    My true goal is to be able to call the TestReport sequence of the SequentialModel.seq file which takes as its first parameter the "results container".  I want to be able to send a very select, small set of results that are generated from my sequence run from the tools menu.  I tried various ways of creating a "dummy" result list, but was unsuccessful doing that as well.
    Any ideas?

    Barry,
    For RunState.Execution DisableResults to work, The Engine and | or  Sequence must also be False depending on what setting you have set to disable.
    So in your case you need to set IEngine.DisableResults(False). You dont really need to call RunState.Execution DisableResults(False), use this if you what to switch on | off recording of selective steps rather than all steps in a Sequence.
    Use Sequence.DisableResults to disable all steps in a Sequence.
    Hope this helps
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • How to enable disable result status of callable object in Guided Procedures

    hi,
    Currently we are using guided procedures to handle Life Event changes in ESS. Each process has sequential block with Respective actions and callable object assigned to each action.
    Most of the callable objects we are using are either standard Java Webdynpro screens that came with ESS business package or custom ABAP Webdynpro's. When we created callable objects with these web dynpro's there is tab that sets result status like "Complete", "Exit" etc.
    The issue we are currently facing with result status is, there is no way that control is passed to result status enabled for specific step of guided procedure from the callable object. For example we created callable object for Benefits enrollment screen with result status "Complete". When user initiated guided procedure to make changes to Benefits enrollment, make changes to plans and click save. Once User click Save we want to send control to result status to get enable, till then we don't want the "Complete" button to be enabled on the Guided procedure step.
    Is there way to control the result status button based on the action performed by user in respective screen/step of Guided Procedure?
    Could someone suggest is there better replacement for guided procedures where I can use some other framework/process to achieve better functionality than GP's.
    Thanks
    Ravi.

    migrate to BPM

  • Enable/Disable VMQ Setting on VMs in Server 2012 - Hyper-V

    We have a cluster of 2012 Server Core where each one holds about 40 VMs. We are concerned that the limited VMQs on each node are full of low priority VMs instead of those that could really benefit.  Indeed, this article says VMQs should be treated
    as a scarce resource:
    http://technet.microsoft.com/en-us/library/gg162704(v=ws.10).aspx
    However, it is not clear how to choose which VMs get to use the VMQ. There is a check box in VM Settings > Network Adapter > Hardware Acceleration called "Enable virtual machine queue", and it appears to be checked on all VMs by default.
    I can uncheck it manually, but I cannot find a PowerShell way to affect that checkbox.  We also have SCVMM 2012 SP1, and I cannot find any way to choose VMs to use VMQ there either.
    So if it is true that I need to choose the VMs using VMQ, how can I do it with PowerShell, since there are so many VMs?

    A basic idea to help you get started:
    Get-VMNetworkAdapter <criteria> | Set-VMNetworkAdapter -VmqWeight 0
    There are a lot of ways to trim this up to get it to do exactly what you want.
    Get-VMNetworkAdapter documentation.
    Set-VMNetworkAdapter documentation.
    Eric Siron Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.
    "Every relationship you have is in worse shape than you think."

  • Enabling/disabling the 'display PDF in browser' via a script after Reader 9 is installed

    So we have Reader 9 already installed on the machine, but we need a simple way that a user can click on a shortcut in the start menu to reconfigure how the PDF is opened - either from within the browser or outside of the brower.
    In Reader 7, I was able to use this:
    msiexec.exe /i {AC76BA86-7AD7-1033-7B44-A71000000002} Remove=ReaderBrowserIntegration /norestart /qb-!
    msiexec.exe /i {AC76BA86-7AD7-1033-7B44-A71000000002} ADDLOCAL=ReaderBrowserIntegration /norestart /qb-!
    which works well after the fact that Reader 7 is installed on the machine.
    For Reader 9, things have changed, and have tried this:
    msiexec.exe /i AcroRead.msi /qn DISABLE_BROWSER_INTEGRATION=YES
    msiexec.exe /i AcroRead.msi /qn DISABLE_BROWSER_INTEGRATION=NO
    The above don't work, nor if I run a repair instead of an install.  I also tried to modify the HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\9.0\Originals\bBrowserIntegration then following in up with the appropriate msiexec command and that didn't work
    No, asking users to go to the options and enable/disable the setting isn't ideal unfortunately as it requires too many clicks
    Anybody have any suggestions on this?

    Try this forum:
    http://forums.adobe.com/community/acrobat/acrobat_enterprise_install

  • Enable/disable fields in Workspace form

    Okay here is my scenario. I need to disable some fields on a form depending on which user logs onto workspace to open the same form.
    1. User1 logs onto workspace and opens leave request form, fields at the top of the form are enabled for the user to fill out, bottom fields which are for leave request administrator to fill out are disabled but visible.
    2. User1 fills out top portion of leave request form and completes form. Workflow sends form to leave request administrators "To do" list in Workspace.
    3. Administrator opens up submitted form in Workspace and sees User1's filled out data on the form and the bottom fields are now enabled for administrator to approve or dissaprove. Bottom fields only include two check boxes, two text fields and one date field.
    Now how is this done? I am sure their maybe scripting involved? if so what is it and at what events in the form? Is this whole process done in the form or through Admin UI or Workebench as well? Please help!!!!!!!!!

    Hi Rahat,
    You can use the same form and enable/disable some fields according to the user's role with only little scripting. Review the steps the below:
    1-First place a hidden field ("user_role") in your form
    2-Insert a script object into your form onder "Variables" in object hierarchy and write a script for enabling/disabling the fields (regarding the value of "user_role")
    3-On the initialize and change events of the "user_role" call your script object
    4-On your process design, put a SetValue service before User tasks. In the asssignment you should set the desired user_role to the form, so that the script is triggered in your form and the fields are enabled/desiabled
    Fro further needs on your form or process design you can contact us from: http://www.kgc.com.tr/company_Contact.html
    Oguz
    http://www.kgc.com.tr

  • WLST Script for Disabling/Enabling Global SLA Alerting.

    Hello,
    I wanna find a way from the WLST to disable and enable the SLA Alerting which is under Operations-->Global Settings in the sbconsole. This is the global setting not per sercive!
    I have found how to create a session and how to disable the alerts per service, but i cannot find which MBean is accessed when throught the sbconsole the global SLA alerting is disabled/enabled.
    Can anybody point me to the right direction or help me to find how to do this from WLST.
    Thanks.

    Hi Ganesh,
    I have finally created the script i was looking for.. I copy-paste it below as a sample... For sure you need all the lines of code until the comment i have put "#####you need this code above"
    now the code you see below the comment is for disabling the global sla alerting... you have to write a bit to target a specific service that you want to disable.
    Keep in mind that after you make your change you hava to include those lines in order to activate the changes and disconnect and exit..
    sessionMBean.activateSession(sessionName, "enable SLA")
    disconnect()
    exit()
    If you have access to oracle support search for wlst script for osb it has a lot and you can find how to target a specific service...
    I hope that i help a little bit
    import sys
    import wlstModule
    from com.bea.wli.sb.management.configuration import SessionManagementMBean
    from com.bea.wli.sb.management.configuration import ALSBConfigurationMBean
    #from com.bea.wli.sb.management.configuration import ProxyServiceConfigurationMBean
    from com.bea.wli.sb.management.configuration.operations import OperationsConfigMBean
    from com.bea.wli.config import Ref
    from com.bea.wli.sb.util import Refs
    # Connect (username, password, URL)
    connect('weblogic', 'password', 't3://localhost:7001')
    domainRuntime()
    # Create a session name
    sessionName =sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
    print('... after session. Session is: ', sessionName)
    # Get the session MBean and create a session
    sessionMBean = findService(SessionManagementMBean.NAME,SessionManagementMBean.TYPE)
    print('-debug-this is the sessionbean',sessionMBean)
    print('SessionMBean is: ', sessionMBean)
    sessionMBean.createSession(sessionName)
    print(String('Session was created ... ').concat(sessionName))
    #####you need this code above
    domainCustom()
    cd('com.bea')
    #path='com.bea:Name=OperationsConfig.'+sessionName+',Location=AdminServer,Type=com.bea.wli.sb.management.configuration.operations.OperationsConfigMBean'
    cd('com.bea:Name=OperationsConfig.'+str(sessionName)+',Location=AdminServer,Type=com.bea.wli.sb.management.configuration.operations.OperationsConfigMBean')
    set('DomainSLAAlertingEnabled',java.lang.Boolean("true"))
    # Now commit (activate) the changes
    sessionMBean.activateSession(sessionName, "enable SLA")
    disconnect()
    exit()

  • Screen Personas 2.0 Enable/Disable script button in Javascript

    Hi,
    Has anyone tried enabling or disabling script buttons on a flavor using Javascript. I have two script buttons,
    The first one (Button1) searches for a contract based on the contract id provided by the user in a text box. (So, the script triggers the transaction me33k, fetches and displays the relevant fields in the flavor)
    Now, based on whether the contract is present in the system the user needs to click another script button (Button2) which will allow him to create an order. Currently the button is disabled (ScriptButton.IsEnabled = false in the Properties menu).
    In the Button1 script towards the end, I need to enable Button2 is a contract is found. So in the Button1 script, at the final step I try to calculate in JS and write the following JS code,
    var args.btn2id = document.getElementById("Personas/blahblahblah");
    args.btn2id.disabled = false;
    But this is never works. And I have noticed that the control id does not return the control object in Javascript (so, args.btn2id is always null) and I tried removing the '/' and various other options.
    Has anyone ever tried to enable/disable buttons in Personas? Is it even possible?
    Abhijeet

    You don't have access to the Personas control properties from JavaScript to dynamically change them.
    About the only thing that comes to mind is Tobias' method to hide the script button if you want to disable it.

  • Jave script to enable and disable items

    Can any one tell me some sites that has used java script to enable and disable items.
    My target is to enable/disable an LOV and a text area when I press a button.

    You could check this example out.
    http://htmldb.oracle.com/pls/otn/f?p=11933:65:54438924816002::NO:RP
    Set the drop-down items to -1 to disable the text areas and any other value to enable them.

  • Enable/Disable Reporting in OSB using script.

    Hi,
    I have to enable/disable reporting in OSB proxy service using script like python,etc..
    Each and every time we create a session in console and activate the session.
    But as per our requirement, we need to do this activity using script in back end.
    Can anyone help on this.
    Thanks
    Rajesh

    Hi,
    I have to enable/disable reporting in OSB proxy service using script like python,etc..
    Each and every time we create a session in console and activate the session.
    But as per our requirement, we need to do this activity using script in back end.
    Can anyone help on this.
    Thanks
    Rajesh

  • Script that enables mail users and kicks out two csv files

    I am working on a script that will mainly be used as a scheduled task to enabled mailuser by calling the update-recipient command. 
    But before it calls that command it will get for various issues that can cause errors.
    Missing PrimarySMTP
    Display name having a space at front or back.
    The external email address being blank.
    I have IF statements setup to check for those and then call a function that will save into an array the issue for that user. 
    Here is the script
    <#
    .SYNOPSIS
    Enable-MailUsers Synced Mail Users in the Exchange environment
    THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
    RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.
    Version .9, 30 June 2014
    .DESCRIPTION
    This script mail-enables Synced Mail Users and creates a CSV report of mail users that were enabled.
    The following is shown:
    * Report Generation Time
    .PARAMETER SendMail
    Send Mail after completion. Set to $True to enable. If enabled, -MailFrom, -MailTo, -MailServer are mandatory
    .PARAMETER MailFrom
    Email address to send from. Passed directly to Send-MailMessage as -From
    .PARAMETER MailTo
    Email address to send to. Passed directly to Send-MailMessage as -To
    .PARAMETER MailServer
    SMTP Mail server to attempt to send through. Passed directly to Send-MailMessage as -SmtpServer
    .PARAMETER ScheduleAs
    Attempt to schedule the command just executed for 10PM nightly. Specify the username here, schtasks (under the hood) will ask for a password later.
    .EXAMPLE
    Generate the HTML report
    .\Enable-MailUsers.ps1 -SendMail -MailFrom [email protected] -MailTo [email protected] -MailServer ex1.contoso.com -ScheduleAs SvcAccount
    #>
    param(
    [parameter(Position=0,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Send Mail ($True/$False)')][bool]$SendMail=$false,
    [parameter(Position=1,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail From')][string]$MailFrom,
    [parameter(Position=2,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail To')]$MailTo,
    [parameter(Position=3,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail Server')][string]$MailServer,
    [parameter(Position=4,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Schedule as user')][string]$ScheduleAs
    # Sub Function to neatly update progress
    function _UpProg1
    param($PercentComplete,$Status,$Stage)
    $TotalStages=5
    Write-Progress -id 1 -activity "Mail enabled Objects" -status $Status -percentComplete (($PercentComplete/$TotalStages)+(1/$TotalStages*$Stage*100))
    #Sub Function create ErrObject output
    function _ErrObject{
    Param($name,
    $errStatus
    If(!$err){
    Write-Host "error detected"
    $script:err = $True
    $ErrObject = New-Object -TypeName PSObject
    $Errobject | Add-Member -Name 'Name' -MemberType Noteproperty -Value $Name
    $Errobject | Add-Member -Name 'Comment' -MemberType Noteproperty -Value $errStatus
    $script:ErrOutput += $ErrObject
    # 1. Initial Startup
    # 1.0 Check Powershell Version
    if ((Get-Host).Version.Major -eq 1)
    throw "Powershell Version 1 not supported";
    # 1.1 Check Exchange Management Shell, attempt to load
    if (!(Get-Command Get-ExchangeServer -ErrorAction SilentlyContinue))
    if (Test-Path "D:\Exchsrvr\bin\RemoteExchange.ps1")
    . 'D:\Exchsrvr\bin\RemoteExchange.ps1'
    Connect-ExchangeServer -auto
    } elseif (Test-Path "D:\Exchsrvr\bin\Exchange.ps1") {
    Add-PSSnapIn Microsoft.Exchange.Management.PowerShell.Admin
    .'D:\Exchsrvr\bin\Exchange.ps1'
    } else {
    throw "Exchange Management Shell cannot be loaded"
    # 1.2 Check if -SendMail parameter set and if so check -MailFrom, -MailTo and -MailServer are set
    if ($SendMail)
    if (!$MailFrom -or !$MailTo -or !$MailServer)
    throw "If -SendMail specified, you must also specify -MailFrom, -MailTo and -MailServer"
    # 1.3 Check Exchange Management Shell Version
    if ((Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.Admin -ErrorAction SilentlyContinue))
    $E2010 = $false;
    if (Get-ExchangeServer | Where {$_.AdminDisplayVersion.Major -gt 14})
    Write-Warning "Exchange 2010 or higher detected. You'll get better results if you run this script from an Exchange 2010/2013 management shell"
    }else{
    $E2010 = $true
    $localserver = get-exchangeserver $Env:computername
    $localversion = $localserver.admindisplayversion.major
    if ($localversion -eq 15) { $E2013 = $true }
    #Get date
    $filedate = get-date -uformat "%m-%d-%Y"
    $filedate = $filedate.ToString().Replace("0", "")
    #Get the valid users that are not mail-enabled
    _UpProg1 1 "Getting User List" 1
    #$Users = Get-mailuser -ResultSize unlimited -OrganizationalUnit "R0018.COLLABORATION.ECS.HP.COM/Accounts/AbbVienet/Users" | ?{$_.legacyexchangeDN -eq ""}
    $i = 0
    $output = @()
    $errOutput = @()
    $err = $False
    #2 Process users
    ForEach ($User in $Users){
    $i++
    _UpProg1 ($i/$Users.Count*100) "Updating Recipients" 2
    If ($user.ExternalEmailAddress -eq $null){
    _ErrObject $user.Name, "Missing External Email Address"
    ElseIf($user.DisplayName -NotLike "* "){
    _ErrObject $user.Name, "DisplayName contains a trailing space"
    ElseIf($user.DisplayName -NotLike "_*"){
    _ErrObject $user.Name, "DisplayName contains a Leading space"
    ElseIf($user.PrimarySmtpAddress -eq $null){
    _ErrObject $user.Name, "Missing Primary SMTP address"
    Else{
    #Disable EmailAddressPolicy on these users
    Set-Mailuser $User.Name -EmailAddressPolicyEnabled $false
    #pass to Update-recipient
    Update-Recipient $User.Name
    $LEDN = Get-MailUser $User.Name | Select {$_.LegacyExchangeDN}
    If ($LEDN -ne ""){
    $object = New-Object -TypeName PSObject
    $X500 = "x500:" + $LEDN.'$_.LegacyExchangeDN'
    $object | Add-Member -Name 'Name' -MemberType Noteproperty -Value $User.Name
    $object | Add-Member -Name 'x500' -MemberType Noteproperty -Value $X500
    $output += $object
    #Creating CSVFile Output
    _UpProg1 99 "Outputting CSV file 3" 3
    $CSVFile = "c:\scripts\Mail-enable\Mailenabled_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv"
    If($err){
    $ErrCSVFile = "c:\scripts\Mail-enable\ProblemUsers_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv"
    $errOutput | Select-Object Name, Comment | ConvertTo-CSV -NoTypeInformation > $ErrCSVFIle
    $Output | ConvertTo-Csv -NoTypeInformation > $CSVFile
    if ($SendMail)
    _UpProg1 95 "Sending mail message.." 4
    If($err){
    Send-MailMessage -Attachments $CSVFile,$ErrCSVFile -To $MailTo -From $MailFrom -Subject "Enable Mail Users Script" -BodyAsHtml $Output -SmtpServer $MailServer
    Else{
    Send-MailMessage -Attachments $CSVFile -To $MailTo -From $MailFrom -Subject "Enable Mail Users Script" -BodyAsHtml $Output -SmtpServer $MailServer
    if ($ScheduleAs)
    _UpProg1 99 "Attempting to Schedule Task.." 4
    $dir=(split-path -parent $myinvocation.mycommand.definition)
    $params=""
    if ($SendMail)
    $params+=' -SendMail:$true'
    $params+=" -MailFrom:$MailFrom -MailTo:$MailTo -MailServer:$MailServer"
    $task = "powershell -c \""pushd $dir; $($myinvocation.mycommand.definition) $params\"""
    Write-Output "Attempting to schedule task as $($ScheduleAs)..."
    Write-Output "Task to schedule: $($task)"
    schtasks /Create /RU $ScheduleAs /RP /SC DAILY /ST 22:00 /TN "Enable Mail Users" /TR $task
    The Problem is that when I look at the $errOutput I see things but when I pipe the $erroutput to convertTo-CSV I get this within the CSV file. I think its because I an calling a function to do the updating. But not sure.
    Jeff C

    Hi Jeff,
    Any updates? If you have any other questions, please feel free to let me know.
    A little clarification to the script:
    function _ErrObject{
    Param($name,
    $errStatus
    If(!$err){
    Write-Host "error detected"
    $script:err = $True
    $ErrObject = New-Object -TypeName PSObject
    $Errobject | Add-Member -Name 'Name' -MemberType Noteproperty -Value $Name
    $Errobject | Add-Member -Name 'Comment' -MemberType Noteproperty -Value $errStatus
    $script:ErrOutput += $ErrObject
    $errOutput = @()
    _ErrObject Name, "Missing External Email Address"
    $errOutput
    _ErrObject Name "Missing External Email Address"
    $errOutput
    If you have any feedback on our support, please click here.
    Best Regards,
    Anna Wang
    TechNet Community Support

Maybe you are looking for

  • Cisco Jabber for Windows unable to make calls in softphone mode

    Hi, I am facing an issue when I make a call from jabber in softphone mode to another jabber client my call fails and using wireshark traces I see SIP2.0 503 Service Unavailable. I have followed the guide and was able to deploy it once before successf

  • Problem with Managed Server pointing to a different JDK

    Hi, My Adminserver is pointing to JDK 1.7 which is shown in the startup, but my managed servers are pointing to a different 1.6_43 . We are running into Java version mismatch problem while deploying our application built with jdk 1.7 onto these manag

  • Changes are not reflecting on same system for WD Component

    Hi , I have one interesting issue , I have done some changes in Webdynpro component , changes are reflecting for some users but not reflecting for some other users on the same system. Can anyone tell me why it is behaving like that ? In R/3 I have fa

  • New Time Machine Settings?

    I am replacing my old time capsule with the new 2TB version.  Should I have the same settings?

  • WDABAP: Close Main Window

    Hi, in general a user can close a WD-application by closing the browser. But because of the user interface design the view has to have a button where the user can also trigger the closing of the window. I've searched in the knowledge warehouse of WDA