Sm_PolicyApi_SetDisabledUserState()

ユーザの無効な状態を設定します。また、この関数でユーザを有効にできます。
casso1283
ユーザの無効な状態を設定します。また、この関数でユーザを有効にできます。
この関数を機能させるには、無効なユーザを追跡するための属性をユーザ ディレクトリ(構造 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 enable
    iRes = Sm_PolicyApi_SetDisabledUserState(pSessionHandle,
    pszUserDirOid,
    pszUserDN,
    nDisabledReason,
    &pszSetErrMsg);