gpt4 book ai didi

python 2.7 : wmi module: Creating an interactive process on a remote system

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:22 25 4
gpt4 key购买 nike

为可能的远程系统创建一个安装程序,这样如果他们没有安装某些东西,它将在他们的桌面上启动 autorun.exe(确保很容易给他们链接,他们可以单击开始并运行.. .但如果为他们做的话会好 100%!)

这是我一直在使用的模型,我应该提到我正在 Windows 7 和 XP 机器之间进行测试,尽管我认为这没什么大不了的。

import wmi
import win32com.client

def Copy_Program(computer=None, environment="Production"):
Oracle_install = r'\\server1\Install\Oracle\Oracle9i_Disk1\autorun\autorun.exe'


""" BELOW PROCESS SHOWS UP IN TASKMANAGER, but I NEED IT TO BE INTERACTIVE.
wmi = win32com.client.GetObject ("winmgmts:\\\\"+computer+"\\root\\cimv2")
win32_process = wmi.Get ("Win32_Process")
in_parameters = win32_process.Methods_ ("Create").InParameters
in_parameters.Properties_ ('CommandLine').Value = "notepad.exe"
result = win32_process.ExecMethod_ ("Create", in_parameters)
"""
SW_SHOWMINIMIZED = 1

c = wmi.WMI (computer)
startup = c.Win32_ProcessStartup.new (ShowWindow=SW_SHOWMINIMIZED)
pid, result = c.Win32_Process.Create (
CommandLine=Oracle_install,
ProcessStartupInformation=startup
)
if __name__ == '__main__':
Copy_Program(computer = "D02659")

正如 Tim Golden 先生在文档中提到的那样...远程连接到另一台机器非常简单...您只需

c = wmi.WMI("REMOTE_COMPUTER")

然后你就走了......

从技术上讲它确实有效,但由于某种原因它不是交互式的...我还修改了 SW_SHOWMINIMIZED 值,但我似乎无法理解我做错了什么。我有域管理员,所以这应该不是问题......特别是因为我同时登录到两个系统......很奇怪。

无论如何,非常感谢您的帮助!

最佳答案

这是 Create 的限制Win32_Process 的方法WMI类

For security reasons the Win32_Process.Create method cannot be used to start an interactive process remotely.

Windows 2000 Professional with SP2 and earlier, Windows NT, and Windows 98/95

Win32_Process.Create can create an interactive process remotely.

关于 python 2.7 : wmi module: Creating an interactive process on a remote system,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8932056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com