我们有一个登录脚本,它需要 Windows 密码才能访问和验证 SAS 元数据服务器。
问题是,如果更改了 Windows 密码,并且脚本运行了几次而没有更新,那么用户就会被锁定,并且必须致电 IT 支持部门来重置密码。
使用 Base SAS (9.1.3) 验证 Windows 密码的最简单方法是什么?即如果提供的密码无效,则向用户发出警告...
编辑:
问题不在于是否应该这样做,而在于如何做到!
我们有一个登录脚本,它需要 Windows 密码才能访问和验证 SAS 元数据服务器。
问题是,如果更改了 Windows 密码,并且脚本运行了几次而没有更新,那么用户就会被锁定,并且必须致电 IT 支持部门来重置密码。
使用 Base SAS (9.1.3) 验证 Windows 密码的最简单方法是什么?即如果提供的密码无效,则向用户发出警告...
编辑:
问题不在于是否应该这样做,而在于如何做到!
听起来解决方案与 Windows 密码和您的 IT 组有关。大多数具有像您描述的计划作业的项目在具有有限权限和静态密码的特定用户下运行。
我相信您的解决方案属于 IT 部门,而不是复杂的 SAS 登录脚本。
您使用的是 SAS 9.2 吗?如果是这样,您是否可以使用不需要底层主机操作系统帐户并且可以配置自定义到期规则的内部帐户?
好的,您可以使用标志很容易地检查这一点。如果标志为“on”,则 SAS 将不会运行该脚本。如果标志为“关闭”,SAS 将继续运行脚本。这将停止重置密码的问题。至于您选择如何与用户交流,这取决于您。
伪代码中的 EG sas 脚本:
if flag_is_on then do;
communicate message password is invalid; ** THIS IS OPTIONAL. YOU COULD JUST KEEP THE NOTIFICATION BELOW AND REMOVE THIS ONE. OTHERWISE YOU WILL RECEIVE MULTIPLE NOTIFICATIONS;
endsas; ** QUITS SAS. NOTHING ELSE IS RUN;
end;
else do;
flag_is_on = 1;
run the rest of your program including login attempt;
if program_ran_successfully then do; ** POSSIBLY USE SYSERR AND SYSMSG TO DETERMINE THIS?;
flag_is_on = 0; ** TURN FLAG OFF AGAIN;
end;
else do;
communicate message password is invalid;
** NOTE THAT WE LEAVE THE FLAG TURNED ON HERE SO THAT NEXT TIME THE PROGRAM IS LAUNCHED THE FLAG WILL STILL BE ON AND THE PROGRAM WILL NOT RUN.;
end;
end;
干杯抢