Создание установщика для возможных удаленных систем, чтобы, если у них не было чего-то установлено, он запустил 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")
Теперь, как мистер Тим Голден упоминал в документах ... удаленное взаимодействие с другой машиной довольно просто ... вы просто
c = wmi.WMI("REMOTE_COMPUTER")
и ты уходишь ...
и технически это работает, но почему-то не интерактивно ... Я также возился со значениями SW_SHOWMINIMIZED, но я не могу понять, что я делаю неправильно. У меня есть администратор домена, поэтому это не должно быть проблемой ... тем более, что я вошел в обе системы одновременно ... странно.
Во всяком случае, помощь очень ценится!