It seems like your browser didn't download the required fonts. Please revise your security settings and try again.
Barracuda CloudGen Access

CloudGen Access CLI Client Usage Examples

  • Last updated on

Example 1: List all devices from username Alice

 

access-cli devices list -o json --list-all --tenant=f28ddc39-79e0-4c9e-bdda-3bbff44e6bec | jq '.[] | select( .user.name == "Alice" )'

 

 Example output:

          {
            "brand": "Apple",
            "created_at": "2022-03-03T15:18:27.561Z",
            "enrollment_id": "3f0dfafe-f792-4aa4-8c27-6488b5b478e9",
            "hardware_model": "MacBookPro15,2",
            "id": "a6bb9a4f-4a63-4d18-95e5-3c522f7e4d87",
            "os": "macOS",
            "security_checks": [],
            "status": "enrolled",
            "updated_at": "2022-03-03T15:19:17.968Z",
            "user": {
              "id": 458,
              "name": "Alice" 
            }
          }

Example 2:  List all devices created before <date> and limit result fields

 

access-cli devices list -o json --list-all | jq '.[] | select (.created_at <= "2021-01-01T00:00:00.000Z") | {User: .user.name, DeviceCreated: .created_at, Model: .hardware_model}'        

 

Example output:

          {
            "User": "Bob",
            "DeviceCreated": "2021-03-25T12:18:45.012Z",
            "Model": "MacBookPro16,1"
          }
          {
            "User": "Bob",  
            "DeviceCreated": "2021-03-25T12:21:38.140Z",
            "Model": "iPhone10,4"
          }
          {   
            "User": "Carol", 
            "DeviceCreated": "2021-05-19T14:23:13.430Z",
            "Model": "Latitude 7490"
          }

Example 3:  List all devices and limit result fields

 

access-cli devices list -o json --list-all | jq '.[] | {User: .user.name, DeviceCreated: .created_at, Model: .hardware_model, OS: .os, OSVersion: .os_version, AppVersion: .app_version}'       

 

Example output:

  {
            "User": "Bob",
            "DeviceCreated": "2022-06-08T03:52:28.016Z",
            "Model": "iPhone12,8",
            "OS": "iOS",
            "OSVersion": "15.4.1",
            "AppVersion": "1.7.1"
          }
          {
            "User": "Alice",
            "DeviceCreated": "2022-06-07T17:40:45.392Z",
            "Model": "VMware Virtual Platform",
            "OS": "Windows",
            "OSVersion": "10.0.19044.1706",
            "AppVersion": "1.7.1"
          }
          {
            "User": "Bob",
            "DeviceCreated": "2022-05-19T05:37:39.850Z",
            "Model": "Latitude 7420",
            "OS": "Linux",
            "OSVersion": "20.04",
            "AppVersion": "1.7.0"
          }
          {
            "User": "Carol",
            "DeviceCreated": "2022-06-07T17:40:45.392Z",
            "Model": "VMware Virtual Platform",
            "OS": "Windows",
            "OSVersion": "10.0.19044.1706",
            "AppVersion": "1.7.1"
          }


Example 4: List all devices and limit result fields to ID

access-cli devices list -o json --list-all | jq -r '.[].id'

 

 Example output:
cef0a784-4bf3-4e17-a12b-ddd6cd97b4fb
aabcac11-4ffd-4718-93ed-f72e947cc94c
802148af-8972-4b49-ae27-f9e8fdb141d2
4c178510-5b83-45cf-baa1-6077c7ab9c77
61f4b76a-1193-4231-8d06-e56974326efe
4cced090-8cb7-4fdf-acf2-bab3a54ae437
d485ee8c-ca16-4c69-8074-fd114083487c
aff0732c-7217-4d89-ab6c-77ba3b2169ca
84307ab2-33a1-4f4a-89fa-7eb470077515


Example 5: List all devices that haven't reported for more than 7 days and limit result fields

./access-cli devices list -list-all -o json | jq '(now-3600*24*7) as $when | .[] | select(.last_report_at != null) | select(.last_report_at | sub(".[0-9]*Z$"; "Z")| strptime("%Y%m-%dT%H:%M:%SZ") | mktime < $when) | {User: .user.name, DeviceCreated: .created_at, Model: .hardware_model, LastReport: .last_report_at}'

   

Example output:

 

{ 
          "User": "Carol",
          "DeviceCreated": "2022-04-08T13:07:26.985Z",
          "Model": "MacBookAir10,1",
          "LastReport": "2022-06-02T18:27:43.000Z"
        }  
        {
          "User": "Bob",
          "DeviceCreated": "2022-06-08T03:52:28.016Z",
          "Model": "iPhone12,8",
          "LastReport": "2022-06-08T03:55:47.000Z"
        }
        {
          "User": "Alice",
          "DeviceCreated": "2022-05-26T18:21:44.543Z",
          "Model": "MacBookPro15,2",
          "LastReport": "2022-06-02T16:14:04.000Z"
        }
        { 
          "User": "Bob",
          "DeviceCreated": "2022-05-19T05:37:39.850Z",
          "Model": "Latitude 7420",
          "LastReport": "2022-06-08T07:12:23.000Z"
        } 

Example 6: Find the last time a particular user accessed a specific / any app

Find the UserID:

MY_USER_ID=$(access-cli users list -q stran@thisdomain.com -o json | jq -r '.[0].id') 

Find the resource id for the app name:
MY_RESOURCE_ID=$(access-cli resources list -q "My Example App" -o json | jq -r '.[0].id')

Retrieve the last access time for this UserID for this app:
access-cli records list --sort created_desc --filter-user-id $MY_USER_ID --filter-event-name accessProxyAdmittance -o json | jq '[.[] | select (.params.resource.id == $my_resource_id)][0]|\{User: .user.name, Resource: .params.resource.name, LastAccess: .date}' --arg my_resource_id "$MY_RESOURCE_ID"

Example output:

{
  "User": “Susan Tran”,
  "Resource": "My Example App",
  "LastAccess": "2023-09-12T15:50:13.000Z"
}

 

Example 7:   Revoke all enrollment links from tenant

access-cli --tenant=f28ddc39-79e0-4c9e-bdda-3bbff44e6bec users list --list-all | access-cli --tenant=f28ddc39-79e0-4c9e-bdda-3bbff44e6bec users enrollment revoke

   

Example output:

            +-----+---------+          
            |  ID | Result  |
            +-----+---------+
            | 464 | success |
            | 368 | success |
            | 372 | success |
            | 373 | success |
            | 374 | success |   
            +-----+---------+
            (5 records)   

Example 8:  Export list of enrolled users to a CSV file

./access-cli users list --filter-status enrolled -o csv      

Example output:

ID,Name,Email,Groups,Enabled,Status,EnrollmentStatus
1302,JThomas,jthomas@gmail.com,Corp,true,enrolled,revoked