Is it possible to restrict running of NASTIE (Now a simple tool in Excel) on system i

1160 pts.
Tags:
AS/400
AS/400 administration
Microsoft Excel
Is it possible to restrict running of NASTIE (Now a simple tool in Excel) on system i

Answer Wiki

Thanks. We'll let you know when a new response is added.

I can’t find much of anything about “nasty” with a google search, but it sounds like a scripting language for Excel. Excel uses the network Remote SQL server, so if you shut down *NETSVR, *DIRSVR, HOSTDATABASE and *EDRSQL it won’t be able to connect. If you want to limit it to particular users you will have to control the access with exit programs for those servers or have very tight object level security.

Discuss This Question: 16  Replies

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • JohnsonMumbai
    Hi JohnsonMumbai, I too, could not find anything on NASTIE; however, if you are trying to pull data from your iSeries into Excel, you may find the techniques presented here well worth a look: http://itknowledgeexchange.techtarget.com/beyond-excel/
    0 pointsBadges:
    report
  • philpl1jb
    There is no way to answer this question until we learn what NASTIE is. Phil
    49,930 pointsBadges:
    report
  • JohnsonMumbai
    Nastie captures iseries screens and uses scripting language and macros in excel to input information on to iseries. This is typically used for bulk data entry. Please note data to be entered into iseries is entered in the excel sheet.Eg each fields information is entered on a different column. The user logs into iseries and goes to the screen where the data entry is to be done. Simultaneously he opens the NASTIE macro screen, which is in excel, this excel sheet also contains the sheet wherein the data that is to be entered is populated. Once he begins the nastie macro all data in the excelsheet is entered on the iseries. This is similiar to running macros on clientaccess workstation. We would like to restrict running of such macros to selected users.
    1,160 pointsBadges:
    report
  • philpl1jb
    So this is entierly an excel function .. no macro script in Client server. Client Server and the 400 thinks the screen is being file out by user. Very hard to stop.. some web pages make you respond by repeating a random set of letters displayed on the screen along with your request. They show them in bizaar scripts to make it hard to machine read. This is to stop something like this. You could only put these out in simple text and NASTIE could probably be altered to read these from the screen and echo them back. Phil
    49,930 pointsBadges:
    report
  • JohnsonMumbai
    Is there any way by which recording and playing of macros on local client access workstations be controlled centrally. Will this help in stopping such macros from executing via excel. johnson
    1,160 pointsBadges:
    report
  • philpl1jb
    Do any client access macro's run?
    49,930 pointsBadges:
    report
  • JohnsonMumbai
    I did not get your question. What i meant was, in Client access when a repeated activity is required to be executed, we record the steps entered on i series screen into a macro in local client access and thereafter play the macro. In this the repeated steps need not be manually keyed in, instead while playing the macro the steps are rerun. Nastie basically is doing the same thing only in this case the variable data is stored in excel worksheet. Johnson
    1,160 pointsBadges:
    report
  • Teandy
    Is this using ODBC to connect and pass the data to he iSeries? If so you can look into an exit program that will let you restrict ODBC access to certian users. Check out this thread: http://itknowledgeexchange.techtarget.com/itanswers/block-winsql/?asrc=EM_UGT_9808457&uid=11161 Here is an example of exit program I use to do just this.
    
    **********************************************************************                                                        
          *  SET COMPILER OPTIONS                                                                                                       
          **********************************************************************                                                        
         HOPTION(*NODEBUGIO:*SRCSTMT)                                                                                                   
          **********************************************************************                                                        
          *  PROGRAM NAME: ODBCEXITR                                                                                                    
          *  CREATION DATE: 07/23/08                                                                                                    
          *  PURPOSE OF PROGRAM: ODBC EXIT PROGAM TO PREVENT FILE UPDATES.                                                              
          **********************************************************************                                                        
          * FILES USED BY PROGRAM.                                                                                                      
          **********************************************************************                                                        
         FODBCEXITPFIF A E           K DISK                                                                                             
          **********************************************************************                                                        
          *  ENTRY PARMS.                                                                                                               
          **********************************************************************                                                        
         D  ENTRYPARMS     PR                  ExtPgm('EXITPGM')                                                                        
         D  REQUEST_STATUS...                                                                                                           
         D                                1                                                                                             
         D  REQUEST_STRING...                                                                                                           
         D                             1024                                                                                             
                                                                                                                                        
         D  ENTRYPARMS     PI                                                                                                           
         D  REQUEST_STATUS...                                                                                                           
         D                                1                                                                                             
         D  REQUEST_STRING...                                                                                                           
         D                             1024                                                                                             
                                                                                                                                        
          **********************************************************************                                                        
          *  FIELD DEFINITIONS.                                                                                                         
          **********************************************************************                                                        
         D  USER_PROFILE   S             10    INZ(*BLANKS)                                                                             
         D  SERVER_ID      S             10    INZ(*BLANKS)                                                                             
         D  FORMAT_NAME    S              8    INZ(*BLANKS)                                                                             
         D  FUNCTION       S              4    INZ(*BLANKS)                                                                             
         D  CODETYPE       S              4    INZ(*BLANKS)                                                                             
         D  FILE_CHANGE    S              6    INZ(*BLANKS)                                                                             
          **********************************************************************                                                        
          *  DATA STRUCTURE FOR REQUEST STRING                                                                                          
          **********************************************************************                                                        
         D                 DS                  INZ                                                                                      
         D REQUEST                 1    364                                                                                             
         D  USER                   1     10                                                                                             
         D  SRVID                 11     20                                                                                             
         D  FORMAT                21     28                                                                                             
         D  FUNC                  29     32                                                                                             
         D  FILNAME               33    161                                                                                             
         D  LIBNAME              162    171                                                                                             
         D  MEMBERNAME           172    181                                                                                             
         D  AUTHORITY            182    191                                                                                             
         D  Based_on_file_name...                                                                                                       
         D                       192    319                                                                                             
         D  Based_on_library_name...                                                                                                    
         D                       320    329                                                                                             
         D  Override_file_name...                                                                                                       
         D                       330    339                                                                                             
         D  Override_library_name...                                                                                                    
         D                       340    349                                                                                             
         D  Override_member_name...                                                                                                     
         D                       350    364                                                                                             
                                                                                                                                        
           // ******************************************************************                                                        
           // *  START FREE FORM CALCS.                                                                                                 
           // ******************************************************************                                                        
                                                                                                                                        
          /FREE                                                                                                                         
                                                                                                                                        
                                                                                                                                        
           // ******************************************************************                                                        
           // * WRITE REQUEST TO FILE.                                                                                                  
           // ******************************************************************                                                        
                                                                                                                                        
            REQUEST_STATUS = '1';                                                                                                       
                                                                                                                                        
            ODBSTATUS = REQUEST_STATUS;                                                                                                 
            ODBREQUEST = REQUEST_STRING;                                                                                                
            REQUEST = REQUEST_STRING;                                                                                                   
            ODBUSER = USER;                                                                                                             
            ODBSRVID = SRVID;                                                                                                           
            ODBFORMAT= FORMAT;                                                                                                          
            ODBFUNC = FUNC;                                                                                                             
                                                                                                                                        
           // ******************************************************************                                                        
           // * IF THE REQUEST IS FROM ANYONE EXCEPT FAST FAX OR B&L'S MPC.                                                             
           // ******************************************************************                                                        
                                                                                                                                        
            IF ODBUSER <> 'FFXSYS' AND                                                                                                  
               ODBUSER <> 'MPC';                                                                                                        
                                                                                                                                        
           // ******************************************************************                                                        
           // * CHECK THE REQUEST STATUS.                                                                                               
           // * IF THIS IS AN UPDATE OR INSERT (ADD A RECORD) REQUEST, CHANGE                                                           
           // * THE STATUS TO 0. THIS WILL DENY THE REQUEST.                                                                            
           // *                                                                                                                         
           // * WHEN THE ODBC DRIVER SEES THAT THE REQUEST IS DENIED, IT WILL                                                           
           // * KILL THE JOB.                                                                                                           
           // ******************************************************************                                                        
                                                                                                                                        
              FILE_CHANGE = %SUBST(ODBREQUEST : 240 : 6);                                                                               
                                                                                                                                        
              IF FILE_CHANGE = 'UPDATE' OR                                                                                              
                 FILE_CHANGE = 'INSERT';                                                                                                
                                                                                                                                        
                 REQUEST_STATUS = '0';                                                                                                  
                                                                                                                                        
              ENDIF;                                                                                                                    
                                                                                                                                        
            ENDIF;                                                                                                                      
                                                                                                                                        
                                                                                                                                        
                                                                                                                                        
                                                                                                                                        
            *INLR = *ON;                                                                                                                
            RETURN;                                                                                                                     
                                                                                                                                        
          /End-Free                         
    
    5,860 pointsBadges:
    report
  • Teandy
    Is this using ODBC to connect and pass the data to he iSeries? If so you can look into an exit program that will let you restrict ODBC access to certian users. Check out this thread: http://itknowledgeexchange.techtarget.com/itanswers/block-winsql/?asrc=EM_UGT_9808457&uid=11161 Here is an example of exit program I use to do just this.
    
      **********************************************************************                                                        
          *  SET COMPILER OPTIONS                                                                                                       
          **********************************************************************                                                        
         HOPTION(*NODEBUGIO:*SRCSTMT)                                                                                                   
          **********************************************************************                                                        
          *  PROGRAM NAME: ODBCEXITR                                                                                                    
          *  CREATION DATE: 07/23/08                                                                                                    
          *  PURPOSE OF PROGRAM: ODBC EXIT PROGAM TO PREVENT FILE UPDATES.                                                              
          **********************************************************************                                                        
          * FILES USED BY PROGRAM.                                                                                                      
          **********************************************************************                                                        
         FODBCEXITPFIF A E           K DISK                                                                                             
          **********************************************************************                                                        
          *  ENTRY PARMS.                                                                                                               
          **********************************************************************                                                        
         D  ENTRYPARMS     PR                  ExtPgm('EXITPGM')                                                                        
         D  REQUEST_STATUS...                                                                                                           
         D                                1                                                                                             
         D  REQUEST_STRING...                                                                                                           
         D                             1024                                                                                             
                                                                                                                                        
         D  ENTRYPARMS     PI                                                                                                           
         D  REQUEST_STATUS...                                                                                                           
         D                                1                                                                                             
         D  REQUEST_STRING...                                                                                                           
         D                             1024                                                                                             
                                                                                                                                        
          **********************************************************************                                                        
          *  FIELD DEFINITIONS.                                                                                                         
          **********************************************************************                                                        
         D  USER_PROFILE   S             10    INZ(*BLANKS)                                                                             
         D  SERVER_ID      S             10    INZ(*BLANKS)                                                                             
         D  FORMAT_NAME    S              8    INZ(*BLANKS)                                                                             
         D  FUNCTION       S              4    INZ(*BLANKS)                                                                             
         D  CODETYPE       S              4    INZ(*BLANKS)                                                                             
         D  FILE_CHANGE    S              6    INZ(*BLANKS)                                                                             
          **********************************************************************                                                        
          *  DATA STRUCTURE FOR REQUEST STRING                                                                                          
          **********************************************************************                                                        
         D                 DS                  INZ                                                                                      
         D REQUEST                 1    364                                                                                             
         D  USER                   1     10                                                                                             
         D  SRVID                 11     20                                                                                             
         D  FORMAT                21     28                                                                                             
         D  FUNC                  29     32                                                                                             
         D  FILNAME               33    161                                                                                             
         D  LIBNAME              162    171                                                                                             
         D  MEMBERNAME           172    181                                                                                             
         D  AUTHORITY            182    191                                                                                             
         D  Based_on_file_name...                                                                                                       
         D                       192    319                                                                                             
         D  Based_on_library_name...                                                                                                    
         D                       320    329                                                                                             
         D  Override_file_name...                                                                                                       
         D                       330    339                                                                                             
         D  Override_library_name...                                                                                                    
         D                       340    349                                                                                             
         D  Override_member_name...                                                                                                     
         D                       350    364                                                                                             
                                                                                                                                        
           // ******************************************************************                                                        
           // *  START FREE FORM CALCS.                                                                                                 
           // ******************************************************************                                                        
                                                                                                                                        
          /FREE                                                                                                                         
                                                                                                                                        
                                                                                                                                        
           // ******************************************************************                                                        
           // * WRITE REQUEST TO FILE.                                                                                                  
           // ******************************************************************                                                        
                                                                                                                                        
            REQUEST_STATUS = '1';                                                                                                       
                                                                                                                                        
            ODBSTATUS = REQUEST_STATUS;                                                                                                 
            ODBREQUEST = REQUEST_STRING;                                                                                                
            REQUEST = REQUEST_STRING;                                                                                                   
            ODBUSER = USER;                                                                                                             
            ODBSRVID = SRVID;                                                                                                           
            ODBFORMAT= FORMAT;                                                                                                          
            ODBFUNC = FUNC;                                                                                                             
                                                                                                                                        
           // ******************************************************************                                                        
           // * IF THE REQUEST IS FROM ANYONE EXCEPT FAST FAX OR B&L'S MPC.                                                             
           // ******************************************************************                                                        
                                                                                                                                        
            IF ODBUSER <> 'FFXSYS' AND                                                                                                  
               ODBUSER <> 'MPC';                                                                                                        
                                                                                                                                        
           // ******************************************************************                                                        
           // * CHECK THE REQUEST STATUS.                                                                                               
           // * IF THIS IS AN UPDATE OR INSERT (ADD A RECORD) REQUEST, CHANGE                                                           
           // * THE STATUS TO 0. THIS WILL DENY THE REQUEST.                                                                            
           // *                                                                                                                         
           // * WHEN THE ODBC DRIVER SEES THAT THE REQUEST IS DENIED, IT WILL                                                           
           // * KILL THE JOB.                                                                                                           
           // ******************************************************************                                                        
                                                                                                                                        
              FILE_CHANGE = %SUBST(ODBREQUEST : 240 : 6);                                                                               
                                                                                                                                        
              IF FILE_CHANGE = 'UPDATE' OR                                                                                              
                 FILE_CHANGE = 'INSERT';                                                                                                
                                                                                                                                        
                 REQUEST_STATUS = '0';                                                                                                  
                                                                                                                                        
              ENDIF;                                                                                                                    
                                                                                                                                        
            ENDIF;                                                                                                                      
                                                                                                                                        
                                                                                                                                        
                                                                                                                                        
                                                                                                                                        
            *INLR = *ON;                                                                                                                
            RETURN;                                                                                                                     
                                                                                                                                        
          /End-Free                          
    
    
    5,860 pointsBadges:
    report
  • Teandy
    Is this using ODBC to connect and pass the data to the iSeries? If so you can look into an exit program that will let you restrict ODBC access to certain users. Check out this thread: http://itknowledgeexchange.techtarget.com/itanswers/block-winsql/?asrc=EM_UGT_9808457&uid=11161 I've tried three different times to post the code of an exit program I have that does this and all three times the post has failed to come through. Let me know if you want it and I will email it to you.
    5,860 pointsBadges:
    report
  • TomLiotta
    If NASTIE uses System i Access emulator DDE/EHLLAPI interfaces to access the presentation space, you could look into turning that option off for that installation of the emulator. If you allow PC users to change settings or they have PC Administrator levels of permissions, then you probably can't stop them from installing in whatever form they choose. If that's the case, then don't allow the System i Access emulator to be installed -- don't make it available. Use a different emulator such as Mocha or a TN5250j emulator. (Or even a cheap 3270 emulator, since 3270 is supported; probably would require some automated keyboard mapping on your System i.) Tom
    125,585 pointsBadges:
    report
  • philpl1jb
    I don't think there is any ODBC or JDBC. As I understand it, this excel program though it's macro is writing the data into the as/400 client access screen. The AS/400 cannot tell that it isn't actual keystrokes. Can a wall be put up to on the PC to protect the client access screen from Nasty??? That's possible but you would be looking for someone with more PC/Client Access knowledge than I have. Why is this a problem -- these people have authority to use the system, how does the way they enter the keystrokes matter? Phil
    49,930 pointsBadges:
    report
  • JohnsonMumbai
    As data can be entered in bulk, similarly data can also be extracted in bulk. The objective is to limit the usage of such tools to few users. Is it possible to only stop recording and playing of macros within client access and how.
    1,160 pointsBadges:
    report
  • philpl1jb
    and I think you would want to restrict the cient access data transfer functions which can do the same thing without excel? Phil
    49,930 pointsBadges:
    report
  • JohnsonMumbai
    DTF access has been restricted, how can access for running macros on client access be restricted.? Johnson
    1,160 pointsBadges:
    report
  • philpl1jb
    This might help http://itknowledgeexchange.techtarget.com/itanswers/disable-macro-function-in-client-access/ it removes the macro keys but I'm not sure it disables the Client Access macro capability and I'm still suspect that it's an excel macro that you're having problems with. You might start a new tag with the line AS/400 disable client access macro. Perhaps someone has some good ideas. Phil
    49,930 pointsBadges:
    report

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Thanks! We'll email you when relevant content is added and updated.

Following