執行CHGUSRPRF命令需要*SECADM 權限,但通常Security部門不允許Grant這個這麼大的權限,爲了達到目的,改用下面的方法

1. Create CL program

注意裏面一定要用MONMSG命令擋住所有錯誤,不然PC端連到AS400的QZRCSRVS job一旦沒有權限或者profile不對會無限產生MSGW的job

2. CRTCLPRGM with  USRPRF(*OWNER)

3. CHGOBJOWN this program to a profile(比如 QCRTUSR) with
*SECADM authority

4. EDTOBJAUT this program to allow only user profile to use it

5.使用cwbx.dll

            cwbx.StringConverter sc = new cwbx.StringConverter();
AS400System s = new AS400System();
s.Define("AS400HostName");
// s.IPAddress = ipStr;
s.UserID = Constants.ISERIES_USER_NAME;
s.Password = Constants.ISERIES_PASSWORD;
s.PromptMode = cwbcoPromptModeEnum.cwbcoPromptNever;
cwbx.Program p = new cwbx.Program();
cwbx.Command c = new Command();
p.system = s;
p.LibraryName = Constants.ISERIES_InfiniumCustomLibName;
p.ProgramName = Constants.ISERIES_ChangeUserProfileProgramName;
ProgramParameters paras = new ProgramParameters();
paras.Append("@USRPRF", cwbrcParameterTypeEnum.cwbrcInout, 10);
paras.Append("@PWD", cwbrcParameterTypeEnum.cwbrcInout, 10);
paras.Append("@ERRMSG", cwbrcParameterTypeEnum.cwbrcOutput, 500);
userProfileName = userProfileName.Trim();
string userProfile = string.Format("{0}{1}", userProfileName, new string(' ', (10 - userProfileName.Length)));
paras["@USRPRF"].Value = sc.ToBytes(userProfile);
paras["@PWD"].Value = sc.ToBytes(newPassword);
p.Call(paras);
msg = sc.FromBytes(paras["@ERRMSG"].Value).ToString();

6.注意,cwbx.dll只有32bit版本,沒有64bit版本

如果是IIS7,每個web application pool都可以設置Enable 32-bit Applications為true,但悲催的IIS6這個參數是全局性的,會影響到其他web application

To enable IIS 6.0 to run 32-bit applications on 64-bit Windows

1.

Open a command prompt and navigate to the %systemdrive%\Inetpub\AdminScripts directory.

2.

Type the following command:

cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”

3.

Press ENTER.

按上面的命令可以設置該參數為true,但導致的後果就是IIS不再會使用64bit的.Net FrameWork,那些web application直接不能用了。

終結方法是另起一個web service,該web srevice放在允許32bit的IIS上,這樣就行了。

http://www.experts-exchange.com/OS/Miscellaneous/Q_26247446.html

Create CL program called CHANGEUSR

Log on as QSECOFR

Change CHANGEUSER *PGM object owner to QSECOFR using CHGOBJOWN command.

Change program to run under *OWNER authority using CHGPGM command.

EDTOBJAUT on the program and restrict *USE rights to all users that you want to be able to use the program (not *PUBLIC!).

Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0)

https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/405f5bb5-87a3-43d2-8138-54b75db73aa1.mspx?mfr=true

PC端使用program來CHGUSRPRF的更多相关文章

  1. C语言PIC32 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 今天介绍下我新完成的为 ...

  2. C语言dsPIC / PIC24 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 新dsPIC/PIC2 ...

  3. C语言PIC18 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 新PIC18 Boot ...

  4. C语言PIC16 serial bootloader和C#语言bootloader PC端串口通信程序

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 新PIC16 Boot ...

  5. windows8安装xna4.0不能开发Xbox和PC端游戏的解决办法

    vs2012安装wp8后,只能开发手机端的xna游戏程序,没有xbox和pc端的,看来官方是不打算更新了,不过我们还是有办法的. 前提条件下,您得安装了vs2010和xna4.0 game studi ...

  6. C# 移动端与PC端的数据交互

    小记:针对目前功能越来越强大的智能手机来说,在PC端支持对手机中的用户数据作同步.备份以及恢复等保护措施的应用已经急需完善.不仅要对数据作保护,而且用户更希望自己的手机跟PC能够一体化,以及和远程服务 ...

  7. js 设备判断(移动端pc端 安卓ios 微信)

    苹果安卓判断 $(function () { var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.in ...

  8. Fiddler4工具配置及调试手机和PC端浏览器

    Fiddler最大的用处: 模拟请求.修改请求.手机应用调试 Fiddler最新版本 下载地址: http://www.telerik.com/download/fiddler Fiddler 想要监 ...

  9. 发布Cocos2d-x的PC端程序

    发布Cocos2d-x的PC端程序 一.创建一个Release的项目 1.利用根目录下的解决方案生成Release.win32文件夹 2.新建一个cocos2d项目(比如解决方案名称MySolutio ...

随机推荐

  1. 前端开发 — HTML

    HTML HTML 超文本标记语言 HTML特征: 对换行和空格不敏感 空白折叠 1.1 HTML标签 标签也称为标记. 标签的种类: 1.双闭合标签 2.单闭合标签 1.1.1 head标签 met ...

  2. scratch少儿编程第一季——01、初识图形化界面编程的神器

    各位小伙伴大家好: 说到2018年互联教育的热门事件,那就不得不提Scratch. 相信各位不关注信息技术领域的各位家长也都听说过这个东西. 对于小学阶段想要接触编程或信息技术学生来说,Scratch ...

  3. MogliFS与spring mvc结合简单示例

    一.MogliFS 与Spring结合配置请参照上文 二.上传页面 <%@ page language="java" contentType="text/html; ...

  4. 写文章 通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!

    网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘.本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底 ...

  5. (一)第一个python语句、乘除法、获取用户输入、函数

    一.print语句 >>> print "hello World!!" python2 和python3 的print是不一样的,python3的print(“h ...

  6. (五)Redis之List

    一.List常用命令 两端添加 两端弹出 1.2. 两端添加和两端弹出 package myRedis01; import java.util.HashMap; import java.util.Li ...

  7. What's new in C# 7.0

    1.数字分隔符(Digit Separators ) 数字分隔符使代码更具可读性.在声明变量时,可以将_添加到单独的数字中.编译器只删除_.以下代码片段在C#7中看起来更具可读性: In C# 6 l ...

  8. 通过gpio控制一个进程开启或关闭

    目标: 板子上有个进程需要通过读取gpio的值, 当gpio值为1 时, 开启指定的进程,当gpio为0时, 杀掉这个指定的进程. #include <stdio.h> int main( ...

  9. $.serializeArray()获取不到input的value值bug问题

    今天修改form表单,发现有好几个input值保存不上,上网搜索了一下是$.serializeArray()获取不到disabled的值.如果想要让input元素变为不可用,可以把input设为rea ...

  10. 移动端适配flexible.js

    npm install lib-flexible --save npm install px2rem-loader --save-dev