首页 > 解决方案 > 如何使用 python 和 powershell 将用户添加到 Windows 10

问题描述

我正在尝试使用使用 powershell 添加用户的 python 脚本将用户添加到 Windows 10。

这是我到目前为止所拥有的:

主文件

import subprocess as sub
import os


username = testUser
passwds = passwordTest

command = """
$nusnm = """ + '"{}"'.format(username) + """
$nuspss = ConvertTo-SecureString """ + '"{}"'.format(passwds) + """ -AsPlainText -Force
New-LocalUser -Name $nusnm -Password $nuspss
Add-LocalGroupMember -Group "Administrators" -Member $nusnm
Get-LocalUser
"""
print(command)
exec = sub.Popen(["powershell","& {" + command + "}"])

此外,如果它有帮助,这是我基于它的 Powershell 代码,它确实有效:

$nusnm = Read-Host -Prompt 'What would you like the name of the user to be? '
$nuspss = Read-Host -Prompt -AsSecureString 'Please input a new password for the user '
New-LocalUser $nusnm -Password $nuspss -Confirm
Add-LocalGroupMember -Group "Administrators" -Member $nusnm
Get-LocalUser

当我执行这个 python 代码时,我没有得到任何错误,但我也没有得到一个名为 testUser 的添加用户。我究竟做错了什么?

任何帮助是极大的赞赏

标签: python-3.xwindowspowershellsubprocess

解决方案


发现我只有一堆语法错误。我现在真的觉得很傻。这是有关如何通过python将用户添加到Windows 10的正确代码。

主文件

import subprocess as sub
import os


username = testUser
passwds = passwordTest

command = """
$nusnm = """ + '"{}"'.format(username) + """
$nuspss = ConvertTo-SecureString """ + '"{}"'.format(passwds) + """ -AsPlainText -Force
New-LocalUser -Name $nusnm -Password $nuspss
Add-LocalGroupMember -Group "Administrators" -Member $nusnm
Get-LocalUser
"""
print(command)
exec = sub.Popen(["powershell","& {" + command + "}"])

推荐阅读