Sm_PolicyApi_SetDisabledUserState()
ユーザの無効な状態を設定します。また、この関数でユーザを有効にできます。
casso127jpjp
ユーザの無効な状態を設定します。また、この関数でユーザを有効にできます。
この関数を機能させるには、無効なユーザを追跡するための属性をユーザ ディレクトリ(構造 Sm_PolicyApi_UserDir_t の
pszDisabledAttr
フィールド)内に設定する必要があります。管理 UI を使用して、属性を設定することもできます。Type
ユーザとユーザ状態関数。
構文
int SM_EXTERN Sm_PolicyApi_SetDisabledUserState (void*pSessionHandle,const char*pszUserDirOid,const char*pszUserDN,const Sm_Api_DisabledReason_tnDisabledReason,char**pszErrMsg);
パラメータ | I/O | 説明 |
pSessionHandle
| I | 内部ポリシー管理 API データ構造体へのポインタ。この構造体は、管理者セッションおよびクライアント セッションに関する情報を保持します。 |
pszUserDirOid
| I | 既存のユーザ ディレクトリのオブジェクト識別子が含まれ、NULL で終わる文字列です。 |
pszUserDN
| I | 無効な状態を変更するユーザの識別名。 |
nDisabledReason
| I | ユーザを無効または有効にする理由です。その理由は Sm_Api_DisabledReason_t に列挙されます。それは SmApi.h で定義されています。 正しい状態の設定は呼び出し元の責任です。複数の理由は同時に存在できます。ユーザが有効なとき、無効なマスク内のフラグはすべてクリアされるべきです。 |
pszErrMsg
| O | 操作が成功しなかった場合、エラー メッセージが文字列内に保持されます。Sm_PolicyApi_FreeString() を呼び出して、この変数に割り当てられたメモリを解放します。 |
戻り値
- Sm_PolicyApi_Success。無効のユーザ状態は正常に設定されました。
- Sm_PolicyApi_Failure:
- ユーザ状態は無効になりませんでした。
- pszErrMsgにメモリを割り当てることができませんでした。
- Sm_PolicyApi_InvalidHandle。このコールに先立つ有効な初期化はありませんでした。
- Sm_PolicyApi_NoSession。有効な管理者セッションがありません。
- Sm_PolicyApi_NoPrivilege。管理者には、無効のユーザ状態を設定する権限がありません。
- Sm_PolicyApi_InvalidOid。ユーザ ディレクトリ OID が見つかりませんでした。
例
- パスワードの期限切れのためユーザを無効にする方法nDisabledReason = Sm_Api_Disabled_DisabledMask &Sm_Api_Disabled_PWExpired;
- 管理上の理由でユーザを無効にする方法enum Sm_Api_DisabledReason_t nDisabledReason;iRes = Sm_PolicyApi_GetDisabledUserState (pSessionHandle,pszUserDirOid,pszUserDN,&nDisabledReason,&pszGetErrMsg);if (iRes != Sm_PolicyApi_Success){cout << "Error: " << pszGetErrMsg << endl;}// Set admin disabled reason bit.nDisabledReason=(Sm_Api_DisabledReason_t) (nDisabledReason | Sm_Api_Disabled_AdminDisabled);// Set Disable user stateiRes = Sm_PolicyApi_SetDisabledUserState(pSessionHandle,pszUserDirOid,pszUserDN,nDisabledReason,&pszSetErrMsg);
- ユーザを有効にし、すべての無効な理由ビットをクリアする方法enum Sm_Api_DisabledReason_t nDisabledReason;iRes = Sm_PolicyApi_GetDisabledUserState(pSessionHandle,pszUserDirOid,pszUserDN,&nDisabledReason,&pszGetErrMsg);if (iRes != Sm_PolicyApi_Success){if (pszGetErrMsg){cout << "Error: " << pszGetErrMsg << endl;}}// Clear all the disable reason bits.nDisabledReason=(Sm_Api_DisabledReason_t)(nDisabledReason & (~Sm_Api_Disabled_DisabledMask));// Set Disable user state to enableiRes = Sm_PolicyApi_SetDisabledUserState(pSessionHandle,pszUserDirOid,pszUserDN,nDisabledReason,&pszSetErrMsg);