-
Notifications
You must be signed in to change notification settings - Fork 483
Users Drive Cleanup
- API documentation
- Definitions
- Display empty folders
- Delete empty folders
- Empty the trash on My Drive
- Empty the trash on a Shared Drive
- Delete contents of My Drive
<SharedDriveID> ::= <String>
<SharedDriveName> ::= <String>
<SharedDriveEntity> ::=
<SharedDriveID>|(teamdriveid <SharedDriveID>)|(teamdriveid:<SharedDriveID>)|
(teamdrive <SharedDriveName>)|(teamdrive:<SharedDriveName>)
gam <UserTypeEntity> print emptydrivefolders [todrive <ToDriveAttribute>*]
[select <DriveFileEntity>]
[pathdelimiter <Character>]
By default, empty folders on My Drive are displayed. Use select <DriveFileEntity>
to select a Shared Drive or an alternate starting point folder on My Drive or a Shared Drive.
By default, folder path components are separated by /
; use pathdelimiter <Character>
to use <Character>
as the separator.
gam <UserTypeEntity> delete emptydrivefolders
[select <DriveFileEntity>]
[<SharedDriveEntity>]
[pathdelimiter <Character>]
By default, empty folders on My Drive are deleted(purged). Use select <DriveFileEntity>
to select a Shared Drive or an alternate starting point folder on My Drive or a Shared Drive.
By default, folder path components are separated by /
; use pathdelimiter <Character>
to use <Character>
as the separator.
gam <UserTypeEntity> empty drivetrash
gam <UserTypeEntity> empty drivetrash <SharedDriveEntity>
The following commands will delete the contents of a user's My Drive.
This is not reversible, Think before proceeding.
- Generate a complete list of files/folders that a user owns; this gives you a record of the files/folders that will be deleted.
- This list may be quite large.
- Delete the top level files/folders; orphans will be deleted.
Show current drive usage.
gam redirect stdout ./DrivefileUsage.txt user [email protected] show drivesettings
Generate an initial list of files.
gam redirect csv ./InitialFileList.csv user [email protected] print filelist fields id,name,mimetype,basicpermissions,parents fullpath showdepth orderby name
Purge top level files/folders; includes orphans.
gam config csv_input_row_filter "depth:count=0" redirect stdout ./PurgeTopLevelFilesFolders.txt multiprocess redirect stderr stdout csv ./InitialFileList.csv gam user "~Owner" purge drivefile "~id"
Generate list of remaining files/folders; this list should be empty; investigate if not.
gam redirect csv ./FinalFileList.csv user [email protected] print filelist fields id,name,mimetype,basicpermissions,parents fullpath showdepth orderby name
Show updated drive usage.
gam redirect stdout ./DrivefileUsage.txt append user [email protected] show drivesettings
- Generate a list of top level files/folders that a user owns.
- Delete them; orphans are not included
- Generate a list of remaining file/folders (orphans).
- Delete them.
Show current drive usage.
gam redirect stdout ./DrivefileUsage.txt user [email protected] show drivesettings
Get list of top level files/folders.
GAM version 6.22.14
and higher:
gam redirect csv ./TopLevelFilesFolders.csv user [email protected] print filelist select rootid fields id,name,mimetype depth 0
GAM version 6.22.13
and lower.
gam user [email protected] show fileinfo root fields id
User: [email protected], Show 1 Drive File/Folder
Drive Folder: My Drive (0AENlVEBUkz-hUkWXYZ)
id: 0AENlVEBUkz-hUkWXYZ
gam redirect csv ./TopLevelFilesFolders.csv user [email protected] print filelist select 0AENlVEBUkz-hUkWXYZ fields id,name,mimetype depth 0
Purge top level files/folders.
gam redirect stdout ./PurgeTopLevelFilesFolders.txt multiprocess redirect stderr stdout csv ./TopLevelFilesFolders.csv gam user "~Owner" purge drivefile "~id"
Get list of remaining files/folders; this list will typically be empty but will list orphans if they exist.
gam redirect csv ./OrphanFilesFolders.csv user [email protected] print filelist fields id,name,mimetype,parents fullpath showdepth
Purge top level orphan files/folders; sub files/folders will also be deleted.
gam config csv_input_row_filter "depth:count=0" redirect stdout ./PurgeOrphanFilesFolders.txt multiprocess redirect stderr stdout csv ./OrphanFilesFolders.csv gam user "~Owner" purge drivefile "~id"
Generate list of remaining files/folders; this list should be empty; investigate if not.
gam redirect csv ./FinalFileList.csv user [email protected] print filelist fields id,name,mimetype,basicpermissions,parents fullpath showdepth orderby name
Show updated drive usage.
gam redirect stdout ./DrivefileUsage.txt append user [email protected] show drivesettings
- GAM version
6.30.09
and higher - Generate a list of top level files/folders that a user owns.
- Delete them; orphans are not included
- Generate a list of remaining file/folders (orphans).
- Delete them.
Show current drive usage.
gam redirect stdout ./DrivefileUsage.txt user [email protected] show drivesettings
Get list of top level files/folders if desired.
gam redirect csv ./TopLevelFilesFolders.csv user [email protected] print filelist my_top_items fields id,name,mimetype
Purge top level files/folders.
gam redirect stdout ./PurgeTopLevelFilesFolders.txt redirect stderr stdout user [email protected] purge drivefile my_top_items
Get list of remaining files/folders; this list will typically be empty but will list orphans if they exist.
gam redirect csv ./OrphanFilesFolders.csv user [email protected] print filelist fields id,name,mimetype,parents fullpath showdepth
Purge top level orphan files/folders; sub files/folders will also be deleted.
gam config csv_input_row_filter "depth:count=0" redirect stdout ./PurgeOrphanFilesFolders.txt multiprocess redirect stderr stdout csv ./OrphanFilesFolders.csv gam user "~Owner" purge drivefile "~id"
Generate list of remaining files/folders; this list should be empty; investigate if not.
gam redirect csv ./FinalFileList.csv user [email protected] print filelist fields id,name,mimetype,basicpermissions,parents fullpath showdepth orderby name
Show updated drive usage.
gam redirect stdout ./DrivefileUsage.txt append user [email protected] show drivesettings
Need more help? Ask on the GAM Discussion Group or Chat Space.
You can suggest edits to these Wiki pages by submitting pull requests against the wiki files.
oUpdate History
Installation
- How to Install GAM7
- How to Upgrade GAMADV-XTD3 to GAM7
- How to Upgrade Legacy GAM to GAM7
- How to Update GAM7
- Verifying a GAM7 Build is Legitimate and Official
- Install GAM as Python Library
- GAM7 on Chrome OS Devices
- GAM7 on Android Devices
- Google Network Addresses
- HTTPS Proxy
- SSL Root CA Certificates
- How to Uninstall GAM7
Configuration
- Authorization
- GAM Configuration
- Running GAM7 securely on a Google Compute Engine
- Using GAM7 with a delegated admin service account
- Using GAM7 with a YubiKey
- GAM with minimal GCP rights
Notes and Information
- Upgrade Benefits
- Questions? Visit the GAM Discussion Forum
- GAM Public Chat Room
- Scripts
- Other Resources
- Drive REST API v3
- BNF Syntax
- GAM Return Codes
- Python Regular Expressions
- Rclone
Definitions
Command Processing
- Bulk Processing
- Command Line Parsing
- Command Logging and Progress
- Command data from Google Docs/Sheets/Storage
- CSV Special Characters
- CSV Input Filtering
- CSV Output Filtering
- Meta Commands and File Redirection
- Permission matches
- Tag Replace
- Todrive
Collections
Client Access
- Addresses
- Administrators
- Alert Center
- Aliases
- Calendars
- Calendars - Access
- Calendars - Events
- Chrome Auto Update Expiration Counts
- Chrome Browser Cloud Management
- Chrome Device Needs Attention Counts
- Chrome Installed Apps
- Chrome Policies
- Chrome Printers
- Chrome Profile Management
- Chrome Version Counts
- Chrome Version History
- ChromeOS Devices
- Classroom - Courses
- Classroom - Guardians
- Classroom - Invitations
- Classroom - Membership
- Cloud Channel
- Cloud Identity Devices
- Cloud Identity Groups
- Cloud Identity Groups - Membership
- Cloud Identity Policies
- Cloud Storage
- Context Aware Access Levels
- Customer
- Domains
- Domains - Verification
- Domain People - Contacts & Profiles
- Domain Shared Contacts
- Email Audit Monitor
- Find File Owner
- Google Data Transfers
- Groups
- Groups - Membership
- Inbound SSO
- Licenses
- Mobile Devices
- Organizational Units
- Reports
- Reseller
- Resources
- Send Email
- Schemas
- Shared Drives
- Sites
- Unmanaged Accounts
- Users
- Users - Application Specific Passwords
- Users - Backup Verification Codes
- Users - Classroom - Profile
- Users - Contacts - Delegates
- Users - Deprovision
- Users - Group Membership
- Users - Photo
- Users - Profile Sharing
- Users - Signout and Turn off 2-Step Verification
- Users - Tokens
- Vault - Takeout
- Version and Help
Special Service Account Access
Service Account Access
- Users - Analytics Admin
- Users - Calendars
- Users - Calendars - Access
- Users - Calendars - Events
- Users - Chat
- Users - Classification Labels
- Users - Contacts
- Users - Drive - File Selection
- Users - Drive - Activity/Settings
- Users - Drive - Cleanup
- Users - Drive - Comments
- Users - Drive - Copy/Move
- Users - Drive - Files-Display
- Users - Drive - Files-Manage
- Users - Drive - Orphans
- Users - Drive - Ownership
- Users - Drive - Permissions
- Users - Drive - Query
- Users - Drive - Revisions
- Users - Drive - Shortcuts
- Users - Drive - Transfer
- Users - Forms
- Users - Gmail - Client Side Encryption
- Users - Gmail - Delegates
- Users - Gmail - Filters
- Users - Gmail - Forwarding
- Users - Gmail - Labels
- Users - Gmail - Messages/Threads
- Users - Gmail - Profile
- Users - Gmail - S/MIME
- Users - Gmail - SendAs/Signature/Vacation
- Users - Gmail - Settings
- Users - Keep - Notes
- Users - Looker Studio
- Users - Meet
- Users - Classroom - Profile
- Users - People - Contacts & Profiles
- Users - Profile Photo
- Users - Shared Drives
- Users - Spreadsheets
- Users - Tasks
- Users - YouTube
GAM Tutorials
- Account Auditing
- Calendar Settings
- Chat Bot commands
- Chrome Browser Management
- Chrome Policy Settings
- Context Aware Access levels
- Data Transfers
- Domain Verification
- Google Drive Management
- Group Settings
- Inbound SSO Settings
- Managing Admins
- Managing Classroom
- Managing Custom User Schemas
- Managing Devices
- Managing Organizations
- Managing Product Licenses
- Managing Users, Groups, Aliases, Domains, Mobile and Chrome Devices, and Resource Calendars
- OAuth Authentication Related Commands
- Print Users, Groups, Aliases, Mobile and Chrome OS devices, OUs, Licenses and Reports
- Printers
- Unmanaged Users and Invitations
- User Email Settings
- User Security Settings