IBM Power Systems AS/400 iSeries ¤Ë´Ø¤¹¤ë³Ð¤¨½ñ¤­¤Ê¥Ú¡¼¥¸¤Ç¤¹¡£

Java ¥æ¡¼¥¶¡¼¥×¥í¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹

Java¤ò»È¤Ã¤¿MS-DOS¾å¤«¤é¤Î¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¤Ç¤¹¡£

AsPassChg.java

import java.io.Console;
import com.ibm.as400.access.AS400;
/**
 *
 * AS400¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¡Ê¥³¥ó¥½¡¼¥ë¡Ë
 */
public class AsPassChg {

	AS400 as400 ;
	String systemName;
	String userId;
	String oldPassword ;
	String newPassword ;

	/**
	 * ¥æ¡¼¥¶¡¼ID¤È¸½¹Ô¥Ñ¥¹¥ï¡¼¥É¤ò¥³¥ó¥½¡¼¥ë¤è¤êÆþÎϤ·¥æ¡¼¥¶¡¼¤¬Â¸ºß¤¹¤ë¤«³Îǧ¤¹¤ë
	 * @return ¥æ¡¼¥¶¡¼Ç§¾Ú¤¬À®¸ù¤·¤¿¾ì¹çtrue
	 */
	boolean connectChk() {
		as400 = new AS400(systemName);
		boolean rtn =false;
		// ¥µ¥¤¥ó¥ª¥ó¾ðÊóÆþÎÏ
		Console console = System.console();
		userId = console.readLine("¥æ¡¼¥¶¡¼ID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡§");
		char[] password = console.readPassword("¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡§");
		oldPassword = String.valueOf(password);
		// ¥æ¡¼¥¶¡¼Ç§¾Ú
		try {
			if (as400.validateSignon(userId, oldPassword) ) {
				System.out.println("¥µ¥¤¥ó¥ª¥óÀ®¸ù");
				rtn = true ;
			}
		} catch (Exception ex) {
			ex.printStackTrace();
			System.out.println("¥µ¥¤¥ó¥ª¥ó¼ºÇÔ");
		}
		return rtn;
	}

	/**
	 * Êѹ¹Íѥѥ¹¥ï¡¼¥É¤Î¼èÆÀ¡ÊºÆ³Îǧ¤ÎÆþÎÏ¥Á¥§¥Ã¥¯´Þ¤à¡Ë
	 * @return Êѹ¹Íѥѥ¹¥ï¡¼¥É¤¬ÆþÎϤ¢¤ê¤Î¾ì¹ç¡§true ½èÍýÃæÃÇ¡§false
	 */
	boolean newPasswordInput() {
		boolean rtn = false;
		Console console = System.console();
		System.out.println("¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£Ãæ»ß¤¹¤ë¾ì¹ç¤Ï¤½¤Î¤Þ¤Þ[Enter]¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤");
		System.out.println("");

		for(;;) {
			char[] password1 = console.readPassword("¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¡§");
			String newPass1 = String.valueOf(password1);
			if (newPass1.length() != 0) {
				char[] password2 = console.readPassword("¥Ñ¥¹¥ï¡¼¥ÉºÆ³Îǧ¡§");
				String newPass2 = String.valueOf(password2);
				if(newPass1.equals(newPass2)) {
					// ¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤ÈºÆ³Îǧ¤¬°ìÃ×
					newPassword = newPass1;
					rtn = true;
					break;
				} else {
					// ÆþÎϴְ㤨¤¿¾ì¹ç¤ÏºÆÆþÎÏ
					System.out.println("ÆþÎϤµ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤¬°ìÃפ·¤Þ¤»¤ó¡£ºÆÅÙÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£");
				}
			} else break;
		}
		return rtn ;
	}

	/**
	 * ¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹½èÍý¤ò¼Â¹Ô
	 * @return ¥Ñ¥¹¥ï¡¼¥É¤Î¹¹¿·À®¸ù¡§true¡¡¼ºÇÔ¡§false
	 */
	boolean execPasswordChg() {
		boolean rtn = false;
		as400.disconnectAllServices();		//°ìÅÙÁ´¤Æ¥Ç¥£¥¹¥³¥Í¤¹¤ë
		as400 = new AS400(systemName,userId,oldPassword);		// ºÆÅÙ¥µ¥¤¥ó¥ª¥ó

		try {
			as400.changePassword(oldPassword, newPassword) ;	// ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹
			rtn = true;
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return rtn;
	}

	/**
	 * ¥³¥ó¥¹¥È¥é¥¯¥¿
	 * @param sysNam AS400¤ÎIP¥¢¥É¥ì¥¹
	 */
	public AsPassChg(String sysNam) {
		systemName = sysNam;
		System.out.println("¢£¢£AS/400¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹¥Ä¡¼¥ë¢£¢£");
		System.out.println("¥µ¡¼¥Ð¡¼Ì¾¡§"+systemName);
	}

	/**
	 * ¥µ¡¼¥Ð¡¼Àܳ¡¦¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏÀ©¸æ¡¦¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹½èÍý
	 * @param args AS400¤ÎIP¥¢¥É¥ì¥¹
	 */
	public static void main(String[] args) {
		AsPassChg app = new AsPassChg(args[0]);
		// ¥µ¡¼¥Ð¡¼Àܳ³Îǧ
		if (app.connectChk()) {
			System.out.println("¥µ¡¼¥Ð¡¼Àܳ¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£");
		} else {
			System.out.println("¥µ¡¼¥Ð¡¼Àܳ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£½ªÎ»¤·¤Þ¤¹¡£");
			System.exit(-1);
		}
		// ¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥ÉÆþÎÏ
		if (! app.newPasswordInput() ) {
			System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤òÃæ»ß¤·¤Þ¤·¤¿¡£");
			System.exit(-1);
		}
		// ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹
		System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤ò³«»Ï¤·¤Þ¤¹");
		if ( app.execPasswordChg() ) {
			System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤¬´°Î»¤·¤Þ¤·¤¿¡£");
		} else {
			System.out.println("¥Ñ¥¹¥ï¡¼¥É¤ÎÊѹ¹¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£ºÇ½é¤«¤é¤ä¤ê¤Ê¤ª¤·¤Æ¤¯¤À¤µ¤¤¡£");
		}
	}
}

¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È

WB3GGF Hey, thanks for the article post. Will read on...

0
Posted by watch for this 2013ǯ12·î21Æü(ÅÚ) 14:25:05 ÊÖ¿®

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

WikiÆ⸡º÷

Menu

¤³¤³¤Ï¼«Í³¤ËÊÔ½¸¤Ç¤­¤ë¥¨¥ê¥¢¤Ç¤¹¡£

¥á¥ó¥Ð¡¼¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹