如何获得使用Python在csv文件中编写Windows用户名的管理员权限?

Hrv*_*e T 9 python uac rdp

我想在csv文件中编写Windows用户名.我在Linux中编写了这个脚本,通过krdc和RDP协议连接到Win10 PC .我通过Win10在远程桌面应用程序上共享了我的Linux驱动器,然后在Win10中从该共享磁盘运行了这个scipt.

如果我通过命令提示符以管理员身份执行此操作,则按预期运行 但是,如果我以普通用户身份运行并确认UAC Yes,则不会创建输出文件.

如何以普通用户身份运行此脚本,回答yesUAC并在krdc远程应用程序中通过rdp协议将我的已安装驱动器写入该文件,其中Win10将该驱动器视为\\TSCLIENT

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import ctypes
import sys
import subprocess


def is_admin():
    try:
        return ctypes.windll.shell32.IsUserAnAdmin()
    except:
        return False

if is_admin():
    subprocess.call(['wmic', '/output:usracc.txt', 'useraccount', 'list', 'full', '/format:csv'])
else:
    # Re-run the program with admin rights
    ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
Run Code Online (Sandbox Code Playgroud)

Ric*_*rdo 2

如果您想在没有管理员权限的情况下执行此操作,您可以:

import os
import csv

userList = os.popen("net user").read().split()[5:-4]

outFile = open("userList.csv", 'w')
with outFile:
    fileWriter = csv.writer(outFile)

for user in userList:
    print(user)
    fileWriter.writerow([user]) 
Run Code Online (Sandbox Code Playgroud)

该代码将为您提供一个包含所有用户的文件“userList.csv”,而无需管理员