IBM Says…
When an IBM System i user profile is disabled for NetServer access, message CPIB682 is posted to the QSYSOPR message queue. This disabled user profile is added to the NetServer Disabled User ID list the next time the user attempts to connect to a NetServer resource.
Messages that have been issued for all user IDs disabled for NetServer within the time span covered by the current QHST History File can be seen by running the following command:
1 | DSPLOG MSGID(CPIB682) |
Running the WRKUSRPRF command (Option 5 to display) or the DSPUSRPRF command does not show if a user is disabled for NetServer access. These commands show only if a user profile is disabled for standard operating system access methods; for example, 5250 (Telnet), FTP, iSeries Access, and other similar functions.
The methods used to list disabled users for NetServer are System i Navigator and GO NETS. GO NETS is an operating system command line interface for working with NetServer attributes natively using NetServer APIs. Information on GO NETS can be found from a link on the NetServer home page. The following link will access information related to the GO NETS menu.
The Disabled User ID list that is viewed through GO NETS or System i Navigator might be misleading. When a user profile is disabled for NetServer access, message CPIB682 is posted to the QSYSOPR Message Queue; however, the user profile is not added to the Disabled User ID list until the next time the user attempts to access NetServer.
Once the profile is re-enabled using the [Enable User ID] button, the profile name disappears from the list immediately.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | ** ** Program . . : CBX110 ** Description : List and enable disabled NetServer users ** Author . . : Carsten Flensburg ** ** ** Compile options: ** ** CrtRpgMod Module( CBX110 ) DbgView( *LIST ) ** ** CrtPgm Pgm( CBX110 ) ** Module( CBX110 ) ** ** **-- Header specifications: --------------------------------------------** H Option( *SrcStmt ) **-- API error data structure: D ERRC0100 Ds Qualified D BytPrv 10i 0 Inz( %Size( ERRC0100 )) D BytAvl 10i 0 D MsgId 7a D 1a D MsgDta 256a **-- Global constants: D OFS_MSGDTA c 16 **-- Global variables: D Idx s 10i 0 D MsgRpy s 32a Varying D NetSvrUsr s 10a Varying **-- API parameters: D ZLSL0900 Ds Qualified D DsaNetUsr 10a Dim( 1024 ) **-- List information: D LstInf Ds Qualified D RcdNbrTot 10i 0 D RcdNbrRtn 10i 0 D RcdLen 10i 0 D InfLenRtn 10i 0 D InfCmp 1a D Dts 13a D 34a **-- Request variable: D ZLSS0200 Ds Qualified D NbrSvrUsr 10i 0 D NetSvrUsr 10a Dim( 1024 ) **-- Open list of server information: D LstSvrInf Pr ExtPgm( 'QZLSOLST' ) D LsRcvVar 32767a Options( *VarSize ) D LsRcvVarLen 10i 0 Const D LsLstInf 64a D LsFmtNam 10a Const D LsInfQual 15a Const D LsError 32767a Options( *VarSize ) ** D SiSsnUsr 10a Const Options( *NoPass ) ** D SiSsnId 20i 0 Const Options( *NoPass ) **-- Change server information: D ChgSvrInf Pr ExtPgm( 'QZLSCHSI' ) D CsRqsVar 32767a Const Options( *VarSize ) D CsRqsVarLen 10i 0 Const D CsFmtNam 10a Const D CsError 32767a Options( *VarSize ) **-- Send program message: D SndPgmMsg Pr ExtPgm( 'QMHSNDPM' ) D SpMsgId 7a Const D SpMsgFq 20a Const D SpMsgDta 512a Const Options( *VarSize ) D SpMsgDtaLen 10i 0 Const D SpMsgTyp 10a Const D SpCalStkE 10a Const Options( *VarSize ) D SpCalStkCtr 10i 0 Const D SpMsgKey 4a D SpError 512a Options( *VarSize ) ** D SpCalStkElen 10i 0 Const Options( *NoPass ) D SpCalStkEq 20a Const Options( *NoPass ) D SpDspWait 10i 0 Const Options( *NoPass ) ** D SpCalStkEtyp 20a Const Options( *NoPass ) D SpCcsId 10i 0 Const Options( *NoPass ) **-- Receive program message: D RcvPgmMsg Pr ExtPgm( 'QMHRCVPM' ) D RpRcvVar 32767a Options( *VarSize ) D RpRcvVarLen 10i 0 Const D RpFmtNam 10a Const D RpCalStkE 256a Const Options( *VarSize ) D RpCalStkCtr 10i 0 Const D RpMsgTyp 10a Const D RpMsgKey 4a Const D RpWait 10i 0 Const D RpMsgAct 10a Const D RpError 32767a Options( *VarSize ) ** D RpCalStkElen 10i 0 Const Options( *NoPass ) call stack counter D RpCalStkEq 20a Const Options( *NoPass ) call stack counter ** D RpCalStkEtyp 20a Const Options( *NoPass ) call stack counter D RpCcsId 10i 0 Const Options( *NoPass ) call stack counter **-- Get inquiry message reply: D GetInqRpy Pr 128a Varying D PxMsgDta 512a Const Varying **-- Send completion message: D SndCmpMsg Pr 10i 0 D PxMsgDta 512a Const Varying **-- Send escape message: D SndEscMsg Pr 10i 0 D PxMsgId 7a Const D PxMsgF 10a Const D PxMsgDta 512a Const Varying /Free LstSvrInf( ZLSL0900 : %Size( ZLSL0900 ) : LstInf : 'ZLSL0900' : *Blank : ERRC0100 ); If ERRC0100.BytAvl > *Zero; SndEscMsg( ERRC0100.MsgId : 'QCPFMSG' : %Subst( ERRC0100.MsgDta: 1: ERRC0100.BytAvl - OFS_MSGDTA ) ); ElseIf LstInf.InfCmp = 'C'; For Idx = 1 to LstInf.RcdNbrTot; ExSr PrcLstEnt; EndFor; EndIf; SndCmpMsg( 'NetServer user activation completed.' ); Return; BegSr PrcLstEnt; NetSvrUsr = %TrimR( ZLSL0900.DsaNetUsr(Idx) ); MsgRpy = GetInqRpy( 'NetServer user ' + NetSvrUsr + ' disabled. Enable NetServer user (Y=Yes)?' ); If %Xlate( 'y':'Y': MsgRpy ) = 'Y'; ZLSS0200.NbrSvrUsr = 1; ZLSS0200.NetSvrUsr(1) = NetSvrUsr; ChgSvrInf( ZLSS0200: %Size( ZLSS0200 ): 'ZLSS0200': ERRC0100 ); If ERRC0100.BytAvl > *Zero; If ERRC0100.BytAvl < OFS_MSGDTA; ERRC0100.BytAvl = OFS_MSGDTA; EndIf; SndEscMsg( ERRC0100.MsgId : 'QCPFMSG' : %Subst( ERRC0100.MsgDta : 1 : ERRC0100.BytAvl - OFS_MSGDTA ) ); Else; SndCmpMsg( 'NetServer user ' + NetSvrUsr + ' enabled.' ); EndIf; EndIf; EndSr; /End-Free **-- Get inquiry message reply: ----------------------------------------** P GetInqRpy B D Pi 128a Varying D PxMsgDta 512a Const Varying ** D MsgKey s 4a **-- Message information structure: D RCVM0100 Ds Qualified D BytPrv 10i 0 D BytAvl 10i 0 D MsgSev 10i 0 D MsgId 7a D MsgTyp 2a D MsgKey 4a D 7a D CcsIdCnvSts 10i 0 D CcsIdDta 10i 0 D MsgLenRtn 10i 0 D MsgLenAvl 10i 0 D MsgRpy 32a /Free SndPgmMsg( *Blanks : *Blanks : PxMsgDta : %Len( PxMsgDta ) : '*INQ' : '*EXT' : *Zero : MsgKey : ERRC0100 ); RcvPgmMsg( RCVM0100 : %Size( RCVM0100 ) : 'RCVM0100' : '*' : *Zero : '*RPY' : MsgKey : -1 : '*OLD' : ERRC0100 ); Return %Subst( RCVM0100.MsgRpy: 1: RCVM0100.MsgLenRtn ); /End-Free P GetInqRpy E **-- Send completion message: ------------------------------------------** P SndCmpMsg B D Pi 10i 0 D PxMsgDta 512a Const Varying ** D MsgKey s 4a /Free SndPgmMsg( 'CPF9897' : 'QCPFMSG *LIBL' : PxMsgDta : %Len( PxMsgDta ) : '*COMP' : '*PGMBDY' : 1 : MsgKey : ERRC0100 ); If ERRC0100.BytAvl > *Zero; Return -1; Else; Return 0; EndIf; /End-Free P SndCmpMsg E **-- Send escape message: ----------------------------------------------** P SndEscMsg B D Pi 10i 0 D PxMsgId 7a Const D PxMsgF 10a Const D PxMsgDta 512a Const Varying ** D MsgKey s 4a /Free SndPgmMsg( PxMsgId : PxMsgF + '*LIBL' : PxMsgDta : %Len( PxMsgDta ) : '*ESCAPE' : '*PGMBDY' : 1 : MsgKey : ERRC0100 ); If ERRC0100.BytAvl > *Zero; Return -1; Else; Return 0; EndIf; /End-Free P SndEscMsg E |
[wordpress_file_upload multiple=”false” fitmode=”responsive” captcha=”true” captchatype=”RecaptchaV2 (no account)” postlink=”true”]