Share via


LsaRemoveAccountRights 函式 (ntsecapi.h)

LsaRemoveAccountRights 函式會從帳戶中移除一或多個許可權。 您可以指定要移除的許可權,也可以設定旗標來移除所有許可權。 當您移除所有許可權時,函式會刪除帳戶。 如果您指定帳戶未持有的許可權,函式會忽略這些許可權。

語法

NTSTATUS LsaRemoveAccountRights(
  [in] LSA_HANDLE          PolicyHandle,
  [in] PSID                AccountSid,
  [in] BOOLEAN             AllRights,
  [in] PLSA_UNICODE_STRING UserRights,
  [in] ULONG               CountOfRights
);

參數

[in] PolicyHandle

Policy 物件的句柄。 句柄必須具有POLICY_LOOKUP_NAMES訪問許可權。 如需詳細資訊,請參閱 開啟原則物件句柄

[in] AccountSid

從中移除許可權的帳戶 (SID) 安全性標識子 指標。

[in] AllRights

如果 為 TRUE,則函式會移除所有許可權,並刪除帳戶。 在此情況下,函式會忽略 UserRights 參數。 如果 為 FALSE,函式會移除 UserRights 參數所指定的許可權。

[in] UserRights

LSA_UNICODE_STRING 結構的陣列指標。 每個結構都包含要從帳戶中移除的許可權名稱。 如需許可權名稱的清單,請參閱 Privilege Constants

[in] CountOfRights

指定 UserRights 陣列中的項目數目。

傳回值

如果函式成功,傳回值會STATUS_SUCCESS。

如果函式失敗,則傳回值是NTSTATUS程式碼,可以是下列其中一個值或其中一個 LSA原則函式傳回值

Description
STATUS_NO_SUCH_PRIVILEGE
其中一個許可權名稱無效。
STATUS_INVALID_PARAMETER
指出 UserRights 參數為 NULL且 AllRights 參數為 FALSE
 

您可以使用 LsaNtStatusToWinError 函式,將 NTSTATUS 程式代碼轉換成 Windows 錯誤碼。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 ntsecapi.h
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

LSA_UNICODE_STRING

LsaAddAccountRights

LsaEnumerateAccountRights