salesforceのユーザ情報とライセンスをSOQLとデータローダでCSVファイルとして取得
前提:API V54
ユーザ一覧とライセンスを取得するSOQL
取得項目は適宜変更する。
下記の例では
- ProfileやProfileに紐づくライセンス名称、数を一度に取りたかった(冗長であるが。)
- 「UserPermissionsSupportUser」・・・Service CloudeユーザーのチェックボックスをONにしているか知りたかった。(コンソールを利用する。機能ライセンス)
- 他の機能ライセンスを取得したい場合は項目を追加する。例をいくつか記載
- UserPermissionsKnowledgeUser:ナレッジユーザであるか
- UserPermissionsMarketingUser:マーケティングユーザであるか
Userに対するユーザライセンス、機能ライセンスの割当状況
Select
Name,
Department,
IsActive,
UserPermissionsSupportUser,
Profile.Name,
Profile.UserLicense.Name,
Profile.UserLicense.LicenseDefinitionKey,
Profile.UserLicense.TotalLicenses,
Profile.UserLicense.UsedLicenses,
Profile.UserLicense.status
From User
ORDER BY
Department,Name
項目の説明はHelpを参照
https://developer.salesforce.com/docs/atlas.en-us.226.0.object_reference.meta/object_reference/sforce_api_objects_user.htm
ユーザ一覧と権限セットライセンスを取得するSOQL
- 権限セットライセンスを保持しないユーザを出力しないので注意
- where条件は適宜変更
権限セットライセンスの割当状況
SELECT
Assignee.Name,
Assignee.Department,
Assignee.Profile.Name,
Assignee.Profile.UserLicense.Name,
PermissionSetLicense.MasterLabel,
IsDeleted,
PermissionSetLicense.Status,
PermissionSetLicense.PermissionSetLicenseKey,
PermissionSetLicense.TotalLicenses,
PermissionSetLicense.UsedLicenses,
CreatedDate
FROM
PermissionSetLicenseAssign
WHERE
IsDeleted = false
AND
Assignee.IsActive = true
ORDER BY
assignee.username
項目の説明はHelpを参照
ユーザ一覧と権限セットを取得するSOQL
- 権限セットを保持しないユーザを出力しないので注意
- where条件は適宜変更
- 権限セットに紐づく権限セットライセンス、プロファイルを取得
- PermissionSet.License.Nameが空の場合は「なし」
- PermissionSet.License.Nameが空でない場合
- TYPE=Regularの場合、権限セットライセンス
- TYPE=Profileの場合、Profile(ユーザライセンス)
SELECT
Assignee.Name,
Assignee.Department,
Assignee.Profile.Name,
Assignee.Profile.UserLicense.Name,
PermissionSet.Label,
PermissionSet.Name,
PermissionSet.Type,
PermissionSet.License.Name
FROM
PermissionSetAssignment
WHERE
Assignee.IsActive = true
ORDER BY
assignee.username
項目の説明はHelpを参照
Dataloaderで実行
無事取得
終わりに
ライセンス、プロファイル、権限セット、権限セットライセンス。。。
混乱します。
おしまい