Reset a Managed Chrome Device with SDK using Google Apps Script

1.1k Views Asked by At

I'm attempting to create a dashboard for admins to allow them to reset a chrome device managed by GoogleAdmin using google apps script.

I don't see any way to perform a reset using Admin SDK API. Can this be done?

1

There are 1 best solutions below

0
On BEST ANSWER

If you want to deprovision and/or disable a ChromeOS device

The supported actions when using the Directory API, according to the documentation here are:

deprovision: Remove a device from management that is no longer active, being resold, or is being submitted for return / repair, use the deprovision action to dissociate it from management.

disable: If you believe a device in your organization has been lost or stolen, you can disable the device so that no one else can use it. When a device is disabled, all the user can see when turning on the Chrome device is a screen telling them that it’s been disabled, and your desired contact information of where to return the device.

Taking this into account, this is how the request would look like:

POST https://admin.googleapis.com/admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action

If you want to reboot and/or remote powerwash a ChromeOS device

However, if you simply plan on doing a powerwash or a reboot, you can make use of the below information:

REBOOT: Reboot the device. Can only be issued to Kiosk and managed guest session devices.

REMOTE_POWERWASH: Wipes the device by performing a power wash. Executing this command in the device will remove all data including user policies, device policies and enrollment policies. Warning: This will revert the device back to a factory state with no enrollment unless the device is subject to forced or auto enrollment. Use with caution, as this is an irreversible action!

Taking this into account, this is how the request would look like:

POST https://admin.googleapis.com/admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}:issueCommand

Apps Script

As for applying any of these in Apps Script, you will have to add the Admin SDK API advanced service and choose the directory _v1 version and simulate any of the above requests.

directory api advanced service

Code

Assuming you want to remote powerwash a device, you will have to write something similar to this:

let resource = {
    YOUR_RESOURCE_HERE;
    "commandType": "REMOTE_POWERWASH"
};
let customerId = 'CUSTOMER_ID';
let deviceId = 'DEVICE_ID';
AdminDirectory.Customer.Devices.Chromeos.issueCommand(resource, customerId, deviceId);

Not what you are looking for?

You can simply create a feature request on Google's Issue Tracker and provide the details with regards to your task by filling in the form here.

Reference