![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I am converting VMS usernames to a single sign-on format. I am stuck on modifying the VMS mail profiles of these users. Do you know of a way to modify the personal profile settings of a users VMS mail profile from an account other then that user? I need to replace the old username with the new username and the n modify their mail profiles so that options like mail forwarding etc. are carried over to the new mail profile. Since there is not an add or rename option in mail utility like in SYSUAF I am looking for an alternative way to accomplish this. Any help i s appreciated WIZ.... The Answer is : When a user FIRST has their email forwarded to the address to first@x.y and that username then changes their nname to SECOND then the OpenVMS Wizard would expect that having forwarding for both FIRST and SECOND would be desirable. Similarly, should not every old username that was not forwarded now recieve a forward to the new username? Your best bet is to use the (supported) mail commannds such as: SHOW FORWARD/USER= SHOW PROFILE/ALL to gather current state, or to use an image that uses the callable mail interface, followed by commands (or calls) to reset the state. To access other profiles, you will end up submitting batch jobs under the old and new usernames. Included is a small DCL procedure that shows how you might interpret the VMSMAIL_PROFILE.DATA file directly -- this is not a supported nor documented interface, and is subject to change without notice. $! VMSMAIL_PROFILE.COM Hein van den Heuvel, May-1996 $! $! Decodes VMSmail Profile records for selected (P1) or for all users $ on control_y then goto done $ x = f$parse("vmsmail_profile","sys$system:.data") $ open/read/share=write vmsmail 'x $ codes = "/ Newmail/ Flags/Directory/ Forward/Pers Name//Transport" + - "/ Editor/ Queue/ / Form" $ flags = "CopySend/CopyReply/NO_AutoPurge/CopyForw/CC" $record_loop: $ if p1.eqs."" $ then read/end=done vmsmail rec $ else read/end=done/key=&P1 vmsmail rec $ endif $ write sys$output f$extr(0,31,rec) $ rest = f$extr(31,999,rec) $field_loop: $ if f$len(rest) .le. 4 $ then $ if p1.nes."" then goto done $ goto record_loop $ endif $ cod = f$cvui ( 0 , 16, rest ) $ len = f$cvui ( 16, 16, rest ) $ dat = f$extr ( 4, len, rest ) $ rest = f$extr ( 4 + len, 999, rest ) $ if cod.gt.2 then txt = dat $ if cod.eq.1 then txt = f$string(f$cvui (0,len*8, dat)) $ if cod.eq.2 $ then $ txt = "" $ len = f$cvui (0,len*8, dat) $ bit = 0 $bit_loop: $ nam = f$elem(bit,"/",flags) $ if nam.eqs."/" then goto end_flags $ txt = txt + " " + nam + "=" + f$extr(f$cvsi(bit,1,dat).eq.0,1,"NY") $ bit = bit + 1 $ goto bit_loop $end_flags: $ endif $ write sys$output f$fao("!2UL !10AS (!2UL) !AS",- cod, f$elem(cod,"/",codes), len, txt) $ goto field_loop $done: $close vmsmail $exit
|