def delete_non_admin_users(): portal = Portal('http://wittm.esri.com', 'admin', 'esri.agp') users = portal.org_users(['username', 'role']) for user in users: if user['role'] != 'org_admin': portal.delete_user(user['username'], cascade=True)
def main(): scriptName = sys.argv[0] # --------------------------------------------------------------------- # Check arguments # --------------------------------------------------------------------- if len(sys.argv) <> 4: print '\n' + scriptName + ' <PortalURL> <AdminUser> <AdminPassword>' print '\nWhere:' print '\n\t<PortalURL> (required parameter): URL of Portal to delete content (i.e. https://fully_qualified_domain_name/arcgis)' print '\n\t<AdminUser> (required parameter): Portal user that has administrator role.' print '\n\t<AdminPassword> (required parameter): Password for AdminUser.\n' sys.exit(1) # Set variables from script parameters portal_address = sys.argv[1] adminuser = sys.argv[2] adminpassword = sys.argv[3] # Add specified user parameter value to exclude list. if adminuser not in exclude_users: exclude_users.append(adminuser) # Create portal object based on specified connection information portaladmin = Portal(portal_address, adminuser, adminpassword) portalProps = portaladmin.properties print sectionBreak print "Deleting Portal Content" print sectionBreak print "Portal: " + portaladmin.hostname print "Excluded users: " + str(exclude_users) print print "WARNING: this script will delete all user content in the specified portal: " print portaladmin.url + "\n" user_response = raw_input( "Do you want to continue? Enter 'y' to continue: ") if not val_user_response(user_response): print "Exiting script..." sys.exit(1) # get a list of users portal_users = portaladmin.users() # Create list of users to delete portal_users_to_del = [] for portal_user in portal_users: if portal_user['username'] not in exclude_users: portal_users_to_del.append(portal_user) if len(portal_users_to_del) == 0: print "\nWARNING: there are no users to delete. Exiting script." sys.exit(1) # remove their groups and items for user_dict in portal_users_to_del: current_user = user_dict['username'] print sectionBreak print "User: \t" + current_user # Delete the user and all owned groups and content resp = portaladmin.delete_user(current_user, cascade=True) printResponse(resp) print "\nDONE: Finished deleting content from portal."
def main(): scriptName = sys.argv[0] specified_users = None # --------------------------------------------------------------------- # Check arguments # --------------------------------------------------------------------- if len(sys.argv) < 4: print '\n' + scriptName + ' <PortalURL> <AdminUser> <AdminPassword> {UsersToDelete}' print '\nWhere:' print '\n\t<PortalURL> (required parameter): URL of Portal to delete content (i.e. https://fully_qualified_domain_name/arcgis)' print '\n\t<AdminUser> (required parameter): Portal user that has administrator role.' print '\n\t<AdminPassword> (required parameter): Password for AdminUser.' print '\n\t{UsersToDelete} (optional):' print '\t\t-By default, all users are deleted.' print '\t\t-To delete only specific users, specify comma delimited list of users, i.e. user1,user2,...' print '\t\t-To delete ALL except specific users, specify comma delimited ' print '\t\t list of users not to delete using "-" prefix, i.e. -user1,user2,...' sys.exit(1) # Set variables from script parameters portal_address = sys.argv[1] adminuser = sys.argv[2] adminpassword = sys.argv[3] if len(sys.argv) > 4: specified_users = sys.argv[4] # Add specified user parameter value to exclude list. if adminuser not in exclude_users: exclude_users.append(adminuser) # Create portal object based on specified connection information portaladmin = Portal(portal_address, adminuser, adminpassword) portalProps = portaladmin.properties print sectionBreak print "Deleting Portal Content" print sectionBreak print "Portal: " + portaladmin.hostname print "Hardcoded users to exclude from delete: " + str(exclude_users) print "User specified users to include/exclude(-) from delete: " + str(specified_users) print print "WARNING: this script will delete all user content in the specified portal: " print portaladmin.url + "\n" user_response = raw_input("Do you want to continue? Enter 'y' to continue: ") if not val_user_response(user_response): print "Exiting script..." sys.exit(1) # get a list of users portal_users_to_del = val_arg_users(portaladmin, specified_users) # Remove excluded users from list of users to delete for user_to_del in portal_users_to_del: if user_to_del['username'].lower() in exclude_users: portal_users_to_del.remove(user_to_del) if len(portal_users_to_del) == 0: print "\nWARNING: there are no users to delete. Exiting script." sys.exit(1) # remove their groups and items for user_dict in portal_users_to_del: current_user = user_dict['username'] print sectionBreak print "User: \t" + current_user # Delete the user and all owned groups and content resp = portaladmin.delete_user(current_user, cascade=True) printResponse(resp) print "\nDONE: Finished deleting content from portal."
def main(): scriptName = sys.argv[0] # --------------------------------------------------------------------- # Check arguments # --------------------------------------------------------------------- if len(sys.argv) <> 4: print '\n' + scriptName + ' <PortalURL> <AdminUser> <AdminPassword>' print '\nWhere:' print '\n\t<PortalURL> (required parameter): URL of Portal to delete content (i.e. https://fully_qualified_domain_name/arcgis)' print '\n\t<AdminUser> (required parameter): Portal user that has administrator role.' print '\n\t<AdminPassword> (required parameter): Password for AdminUser.\n' sys.exit(1) # Set variables from script parameters portal_address = sys.argv[1] adminuser = sys.argv[2] adminpassword = sys.argv[3] # Add specified user parameter value to exclude list. if adminuser not in exclude_users: exclude_users.append(adminuser) # Create portal object based on specified connection information portaladmin = Portal(portal_address, adminuser, adminpassword) portalProps = portaladmin.properties print sectionBreak print "Deleting Portal Content" print sectionBreak print "Portal: " + portaladmin.hostname print "Excluded users: " + str(exclude_users) print print "WARNING: this script will delete all user content in the specified portal: " print portaladmin.url + "\n" user_response = raw_input("Do you want to continue? Enter 'y' to continue: ") if not val_user_response(user_response): print "Exiting script..." sys.exit(1) # get a list of users portal_users = portaladmin.users() # Create list of users to delete portal_users_to_del = [] for portal_user in portal_users: if portal_user['username'] not in exclude_users: portal_users_to_del.append(portal_user) if len(portal_users_to_del) == 0: print "\nWARNING: there are no users to delete. Exiting script." sys.exit(1) # remove their groups and items for user_dict in portal_users_to_del: current_user = user_dict['username'] print sectionBreak print "User: \t" + current_user # Delete the user and all owned groups and content resp = portaladmin.delete_user(current_user, cascade=True) printResponse(resp) print "\nDONE: Finished deleting content from portal."