Форум сайта python.su
Имеется такая задача: проверить на удалённом Windows-хосте, есть ли доступные для установки обновления. Возникла мысль задействовать для этой цели Windows WUA API. Для локалхоста это делается довольно просто:
import win32com.client import win32con import win32api def main(args): objWUA = win32com.client.Dispatch("Microsoft.Update.Session") objSeeker = objWUA.CreateUpdateSearcher() # Поиск доступных обновлений objAvailables = objSeeker.Search("IsInstalled=0") objSearch = win32com.client.Dispatch("Microsoft.Update.UpdateColl") print(len(objAvailables.Updates)) return 0 if __name__ == '__main__': import sys sys.exit(main(sys.argv))
Set USession = CreateObject("Microsoft.Update.Session", "10.138.0.200") Set USearcher = USession.CreateUpdateSearcher() Set Result = USearcher.Search("IsInstalled=0") WScript.Echo Result.Updates.Count
Офлайн
“по аналогии” тут не работает, нужно долго и нудо читать MSDN в плане че оно принимает и в каком формате. Зачастую проще выполнить VBS через subprocess.popen или win32com.client.Dispatch(“ScriptControl”) и получить результат выполнения, чем пытаться разобраться как его запустить на чистом пайтоне.
[code python][/code]
Отредактировано PEHDOM (Июнь 2, 2017 10:20:19)
Офлайн