Python 使用 WMI 更改 IP 地址

Python Changing IP Address using WMI

我正在尝试使用 WMI 更改我的 PC 的 IP 地址。 下面的代码来自 Windows:

上的命令行 运行
import wmi
c = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=1)
nic = c[1]
ip = "192.168.1.1"
subnetmask = "255.255.255.0"
nic.EnableStatic(IPAddress=[ip], SubnetMask=[subnetmask])

以上代码然后returns结果如下:

(-2147024891,)

我认为这个错误与权限有关。

当我以管理员身份运行命令行,并再次输入上面的代码时,我得到的值是:

(0L,)

这个值表示IP更改成功。

有没有一种方法可以让我在不先以管理员身份 运行 命令行的情况下更改 IP 地址?

您可以从脚本中获得管理员权限,如图所示in an other Whosebug answer