"""Reset password and generate backup codes for russ@lonestarelectrical.net""" from google.oauth2 import service_account from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/admin.directory.user', 'https://www.googleapis.com/auth/admin.directory.user.security', ] creds = service_account.Credentials.from_service_account_file( 'temp/acg-msp-access-8f72339997e5.json', scopes=SCOPES ) delegated = creds.with_subject('sysadmin@lonestarelectrical.net') service = build('admin', 'directory_v1', credentials=delegated) user_email = 'russ@lonestarelectrical.net' # Check user print(f"=== {user_email} ===") user = service.users().get(userKey=user_email).execute() print(f"Name: {user.get('name', {}).get('fullName', 'N/A')}") print(f"2SV Enrolled: {user.get('isEnrolledIn2Sv', False)}") print(f"2SV Enforced: {user.get('isEnforcedIn2Sv', False)}") print(f"Last Login: {user.get('lastLoginTime', 'N/A')}") # Reset password new_pass = 'LoneStar2026!!' service.users().update( userKey=user_email, body={'password': new_pass, 'changePasswordAtNextLogin': False, 'suspended': False} ).execute() print(f"\n[OK] Password reset: {new_pass}") # Generate backup codes service.verificationCodes().generate(userKey=user_email).execute() result = service.verificationCodes().list(userKey=user_email).execute() codes = result.get('items', []) if codes: print(f"\nBackup codes:") for c in codes: print(f" {c.get('verificationCode')}")