harmony 鸿蒙@ohos.enterprise.accountManager(账户管理)

  • 2025-06-16
  • 浏览 (2)

@ohos.enterprise.accountManager(账户管理)

本模块提供设备账户管理能力,包括禁止创建本地用户等。

说明:

本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口仅可在Stage模型下使用。

本模块接口仅对设备管理应用开放,且调用接口前需激活设备管理应用,具体请参考MDM Kit开发指南

导入模块

import { accountManager } from '@kit.MDMKit';

accountManager.disallowOsAccountAddition

disallowOsAccountAddition(admin: Want, disallow: boolean, accountId?: number): void

禁止用户添加账号。

需要权限: ohos.permission.ENTERPRISE_SET_ACCOUNT_POLICY

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

参数:

参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。
disallow boolean 是否禁止创建本地用户,true表示禁止创建,false表示允许创建。
accountId number 用户ID,指定具体用户。当不传入此参数时,表示禁止所有用户添加账号;当传入此参数时,表示禁止指定用户添加账号。取值范围:大于等于0。
accountId可以通过getOsAccountLocalId等接口来获取。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

import { Want } from '@kit.AbilityKit';

let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};

try {
  accountManager.disallowOsAccountAddition(wantTemp, true, 100);
  console.info('Succeeded in disallowing os account addition.');
} catch (err) {
  console.error(`Failed to disallow os account addition. Code: ${err.code}, message: ${err.message}`);
}

accountManager.isOsAccountAdditionDisallowed

isOsAccountAdditionDisallowed(admin: Want, accountId?: number): boolean

查询是否禁止用户添加账号。

需要权限: ohos.permission.ENTERPRISE_SET_ACCOUNT_POLICY

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

参数:

参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。
accountId number 用户ID,指定具体用户。当不传入此参数时,表示查询所有用户是否禁止添加账号;当传入此参数时,表示查询指定用户是否禁止添加账号。取值范围:大于等于0。
accountId可以通过getOsAccountLocalId等接口来获取。

返回值:

类型 说明
boolean 返回true表示禁止添加账号。
返回false表示允许添加账号。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

import { Want } from '@kit.AbilityKit';

let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};

try {
  let isDisallowed: boolean = accountManager.isOsAccountAdditionDisallowed(wantTemp, 100);
  console.info(`Succeeded in querying the os account addition or not: ${isDisallowed}`);
} catch (err) {
  console.error(`Failed to query the os account addition or not. Code: ${err.code}, message: ${err.message}`);
}

accountManager.addOsAccountAsync

addOsAccountAsync(admin: Want, name: string, type: osAccount.OsAccountType): Promise<osAccount.OsAccountInfo>

后台添加账号。使用promise异步回调。

需要权限: ohos.permission.ENTERPRISE_SET_ACCOUNT_POLICY

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

参数:

参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。
name string 账号名,指要添加的账号的名称。无法创建同名、名称为空的账号。
type osAccount.OsAccountType 要添加的账号的类型。
取值范围:ADMIN、NORMAL、GUEST。
· ADMIN:管理员账号。
· NORMAL:普通账号。
· GUEST:访客账号。

返回值:

类型 说明
osAccount.OsAccountInfo 返回添加的账号信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
9201003 Failed to add an OS account.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例

import { Want } from '@kit.AbilityKit';
import { BusinessError, osAccount } from '@kit.BasicServicesKit';

let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};

accountManager.addOsAccountAsync(wantTemp, "TestAccountName", osAccount.OsAccountType.NORMAL).then((info) => {
  console.info(`Succeeded in creating os account: ${JSON.stringify(info)}`);
}).catch((err: BusinessError) => {
  console.error(`Failed to creating os account. Code: ${err.code}, message: ${err.message}`);
});

accountManager.setDomainAccountPolicy19+

setDomainAccountPolicy(admin: Want, domainAccountInfo: osAccount.DomainAccountInfo, policy: DomainAccountPolicy): void

设置域账号策略,该接口仅在2in1设备上生效。

需要权限: ohos.permission.ENTERPRISE_SET_ACCOUNT_POLICY

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

参数:

参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。
domainAccountInfo osAccount.DomainAccountInfo 域账号信息。
若传入的domainAccountInfo内部属性均为空,则会设置为全局域账号策略。全局策略对所有的域账号生效。
若传入的domainAccountInfo内部属性不为空,则为指定域账号设置策略。
指定域账号策略的优先级高于全局策略,若指定域账号已有域账号策略,则全局策略对其不生效。
说明:若为指定域账号设置策略,DomainAccountInfo的serverConfigId字段必填。
policy DomainAccountPolicy 域账号策略。
说明:设置域账号策略后须在设备侧修改域账号密码,若未修改密码,则DomainAccountPolicy中的passwordValidityPeriod、passwordExpirationNotification配置不生效。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

import { Want } from '@kit.AbilityKit';
import { BusinessError, osAccount } from '@kit.BasicServicesKit';

let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};
let policy: accountManager.DomainAccountPolicy = {
  authenticationValidityPeriod: 300,
  passwordValidityPeriod: 420,
  passwordExpirationNotification: 60,
}
// 设置全局域账号策略
let accountInfo: osAccount.DomainAccountInfo = {
  domain: '',
  accountName: '',
  serverConfigId: '',
}
try {
  accountManager.setDomainAccountPolicy(wantTemp, accountInfo, policy);
  console.info('Succeeded in setting global domainAccount policy.');
} catch (err) {
  console.error(`Failed to set domainAccount policy. Code: ${err.code}, message: ${err.message}`);
}
// 设置指定域账号策略
let accountInfo2: osAccount.DomainAccountInfo = {
  domain: '',
  accountName: '',
  serverConfigId: '',
}
let userId: number = 100;
await osAccount.getAccountManager().getOsAccountDomainInfo(userId).then((domainAccountInfo: osAccount.DomainAccountInfo) => {
  accountInfo2 = domainAccountInfo;
}).catch((err: BusinessError) => {
  console.error(`Failed to get account domain info. Code: ${err.code}, message: ${err.message}`);
})
try {
  accountManager.setDomainAccountPolicy(wantTemp, accountInfo2, policy);
  console.info('Succeeded in setting domain account policy.');
} catch (err) {
  console.error(`Failed to set domain account policy. Code: ${err.code}, message: ${err.message}`);
}

accountManager.getDomainAccountPolicy19+

getDomainAccountPolicy(admin: Want, domainAccountInfo: osAccount.DomainAccountInfo): DomainAccountPolicy

获取域账号策略,该接口仅在2in1设备上生效。

需要权限: ohos.permission.ENTERPRISE_SET_ACCOUNT_POLICY

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

参数:

参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。
domainAccountInfo osAccount.DomainAccountInfo 域账号信息。
若传入的domainAccountInfo内部属性均为空,则查询全局域账号策略。
若传入的domainAccountInfo内部属性不为空,则查询指定域账号策略。
说明:若查询指定域账号策略,DomainAccountInfo的serverConfigId字段必填。

返回值:

类型 说明
DomainAccountPolicy 域账号策略。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

import { Want } from '@kit.AbilityKit';
import { BusinessError, osAccount } from '@kit.BasicServicesKit';

let wantTemp: Want = {
  bundleName: 'com.example.myapplication',
  abilityName: 'EntryAbility',
};
let domainAccountPolicy: accountManager.DomainAccountPolicy = {}
// 查询全局域账号策略
let accountInfo: osAccount.DomainAccountInfo = {
  domain: '',
  accountName: '',
  serverConfigId: '',
}
try {
  domainAccountPolicy = accountManager.getDomainAccountPolicy(wantTemp, accountInfo);
  console.info('Succeeded in getting global domain account policy.');
} catch (err) {
  console.error(`Failed to get domain account policy. Code: ${err.code}, message: ${err.message}`);
}
// 查询指定域账号策略
let accountInfo2: osAccount.DomainAccountInfo = {
  domain: '',
  accountName: '',
  serverConfigId: '',
}
let userId: number = 100;
await osAccount.getAccountManager().getOsAccountDomainInfo(userId).then((domainAccountInfo: osAccount.DomainAccountInfo) => {
  accountInfo2 = domainAccountInfo;
}).catch((err: BusinessError) => {
  console.error(`Failed to get account domain info. Code: ${err.code}, message: ${err.message}`);
})
try {
  domainAccountPolicy = accountManager.getDomainAccountPolicy(wantTemp, accountInfo2);
  console.info('Succeeded in getting domain account policy.');
} catch (err) {
  console.error(`Failed to get domain account policy. Code: ${err.code}, message: ${err.message}`);
}

DomainAccountPolicy19+

域账号策略。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

名称 类型 必填 说明
authenticationValidityPeriod number 表示域账号认证Token的有效期(单位:s),取值范围是[-1,2147483647]。有效期起始时间为最后一次域账号的认证时间点,如登录、锁屏后解锁等。
默认值为-1,表示Token永久有效。取值为0,表示Token立即失效。Token过期/失效后,用户进入系统时必须进行域账号认证,验证域账号和密码。
passwordValidityPeriod number 表示域账号密码有效期(单位:s),取值范围是[-1,2147483647],有效期起始时间为设备侧最后一次修改密码的时间点。
默认值为-1,表示域账号密码永久有效。
passwordExpirationNotification number 表示域账号密码过期前提示时间(单位:s),取值范围是[0,2147483647]。
默认值为0,表示域账号密码过期不提示。
说明:passwordExpirationNotification需与passwordValidityPeriod配合使用,当系统时间大于或等于(设备侧最后一次修改域账号密码时间 + passwordValidityPeriod - passwordExpirationNotification)时,会发页面通知提示密码即将过期。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Mdm Kit(企业设备管理服务)

harmony 鸿蒙企业设备管理错误码

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility(企业设备管理扩展能力)

harmony 鸿蒙@ohos.enterprise.accountManager(账户管理)(系统接口)

harmony 鸿蒙@ohos.enterprise.adminManager(企业设备管理)(系统接口)

harmony 鸿蒙@ohos.enterprise.adminManager (admin权限管理)

harmony 鸿蒙@ohos.enterprise.applicationManager(应用管理)(系统接口)

harmony 鸿蒙@ohos.enterprise.applicationManager(应用管理)

harmony 鸿蒙@ohos.enterprise.bluetoothManager(蓝牙管理)(系统接口)

harmony 鸿蒙@ohos.enterprise.bluetoothManager(蓝牙管理)

0  赞