You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python subprocess调用net user设置本地用户的全名和描述?

用Python调用net user创建本地用户并设置全名/描述的解决方案

net user命令的正确参数语法

创建本地用户时,要设置全名和描述,需使用以下专属参数:

  • /fullname:"用户全名":指定用户的显示全名,包含空格或特殊字符时必须用引号包裹
  • /comment:"用户描述":添加用户的备注信息,同样支持带空格的内容

完整创建命令示例:

net user jdoe P@ssw0rd /add /fullname:"John Doe" /comment:"Marketing Department Staff" /passwordchg:no

参数说明:

  • jdoe:目标用户名
  • P@ssw0rd:用户登录密码
  • /add:触发创建用户的操作
  • /passwordchg:no:禁止用户首次登录时强制修改密码(可选,按需调整)

Python代码实现(基于subprocess)

以下是完整的批量创建本地用户+组的代码,覆盖循环输入用户信息、创建组、创建用户并配置属性、将用户加入组的全部需求:

import subprocess
import getpass

def run_system_command(cmd_args):
    # 封装命令执行逻辑,处理成功/失败场景
    try:
        result = subprocess.run(
            cmd_args,
            check=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )
        print(f"✅ 执行成功: {' '.join(cmd_args)}")
        return result.stdout
    except subprocess.CalledProcessError as e:
        print(f"❌ 执行失败: {' '.join(cmd_args)}")
        print(f"错误详情: {e.stderr}")
        return None

def main():
    # 1. 创建目标用户组
    group_name = input("请输入要创建的用户组名称: ")
    run_system_command(["net", "localgroup", group_name, "/add"])

    # 2. 循环录入用户信息
    while True:
        username = input("\n请输入用户名(输入q退出): ")
        if username.lower() == 'q':
            break

        full_name = input("请输入用户全名: ")
        comment = input("请输入用户描述: ")
        password = getpass.getpass("请输入用户密码: ")

        # 3. 创建用户并设置全名、描述
        create_user_cmd = [
            "net", "user", username, password, "/add",
            f"/fullname:\"{full_name}\"",
            f"/comment:\"{comment}\"",
            "/passwordchg:no"
        ]
        run_system_command(create_user_cmd)

        # 4. 将用户加入指定组
        add_to_group_cmd = [
            "net", "localgroup", group_name, username, "/add"
        ]
        run_system_command(add_to_group_cmd)

if __name__ == "__main__":
    main()

关键注意事项

  • 必须以管理员身份运行脚本,否则会因权限不足执行失败
  • 密码需符合系统的密码策略(如长度、复杂度要求)
  • 若允许用户首次登录修改密码,可删除/passwordchg:no参数
  • 如需设置用户账号永不过期,可在创建命令中添加/expires:never参数

内容的提问来源于stack exchange,提问作者James Craw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:43:41