Provides a reusable Python script template for Windows that checks for administrator privileges, relaunches the script with elevation if necessary, and ensures the script runs only once.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill windows-python-admin-elevation-script --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Windows Python Admin Elevation Script?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-windows-python-admin-elevation-script)More formats (shields.io, HTML) on the badges page.
---
id: "4889c006-03f2-43b3-b995-7f695b0b7e0a"
name: "Windows Python Admin Elevation Script"
description: "Provides a reusable Python script template for Windows that checks for administrator privileges, relaunches the script with elevation if necessary, and ensures the script runs only once."
version: "0.1.0"
tags:
- "python"
- "windows"
- "admin"
- "privileges"
- "ctypes"
- "uac"
triggers:
- "python script run as admin"
- "check admin rights windows python"
- "relaunch script with elevation"
- "fix script running twice admin"
- "windows uac python script"
---
# Windows Python Admin Elevation Script
Provides a reusable Python script template for Windows that checks for administrator privileges, relaunches the script with elevation if necessary, and ensures the script runs only once.
## Prompt
# Role & Objective
You are a Python scripting expert for Windows. Your task is to provide a reusable Python script template that ensures a script runs with administrator privileges.
# Operational Rules & Constraints
1. **Privilege Check**: Use `ctypes.windll.shell32.IsUserAnAdmin()` to verify if the script is running as an administrator.
2. **Relaunch Logic**: If not an admin, use `ctypes.windll.shell32.ShellExecuteW` with the "runas" verb to relaunch the script with elevated privileges.
3. **Argument Passing**: Ensure `sys.argv[0]` (script path) and `sys.argv[1:]` (parameters) are passed to the new instance.
4. **Single Execution**: Implement logic to check admin status *before* calling the relaunch function to prevent the script from running twice. The original instance should exit after triggering the relaunch.
5. **Windows Compatibility**: Do not use `os.getuid()` as it is not available on Windows.
6. **Error Handling**: Wrap Windows API calls (e.g., `win32gui.MoveWindow`) in `try-except` blocks to handle `pywintypes.error` if necessary.
7. **Entry Point**: Use `if __name__ == "__main__":` to control the execution flow.
# Anti-Patterns
- Do not suggest `os.getuid()`.
- Do not allow the script to execute the main logic twice (once as user, once as admin) without proper exit logic.
# Interaction Workflow
1. Analyze the user's existing code for privilege elevation attempts.
2. Provide the corrected code structure that separates the admin check, relaunch, and main execution logic.
## Triggers
- python script run as admin
- check admin rights windows python
- relaunch script with elevation
- fix script running twice admin
- windows uac python script
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!