Иногда программы по учету ПО опираются на раздел реестра uninstall
Но программы, как и программисты - разные... Поэтому, иногда, возникает необходимость пройтись именно по exe файлам.
Данный скрипт создаст папку "logs" в корне диска "C:" и в ней подпапки согласно ip- адресам ПК той подсети, которую он попросит Вас указать.
Скрипт игнорирует папку "windows"!
On Error Resume Next
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WorkFolder = "c:\logs\"
count = 1
input = InputBox ( "Enter 3 subnet octets", "Удаленный поиск файлов", "10.10.10")
DO While count <= 254
ip= input &"." & count
If Not fso.FolderExists( WorkFolder ) Then
fso.CreateFolder( WorkFolder )
End If
If Not fso.FolderExists( WorkFolder & ip ) Then
fso.CreateFolder( WorkFolder & ip )
End If
Set objService = GetObject("winmgmts:\\" & ip & "\root\CIMV2")
Set dnsn = objService.ExecQuery( "SELECT DNSHostName FROM Win32_ComputerSystem",,48)
Set file = fso.CreateTextFile( WorkFolder & dnsn &"(" & ip &")" & "\" & Hour(time()) & "-" & Minute(time()) & ".txt",2, True)
Set colFiles = objService.ExecQuery("SELECT Name FROM CIM_DataFile WHERE Drive = 'C:' AND Extension = 'EXE' AND NOT Path LIKE '%\\WINDOWS\\%' ")
For Each objFile In colFiles
file.WriteLine ("Name: " & objFile.Name)
file.WriteLine (" ")
Next
count = count +1
Loop
Но программы, как и программисты - разные... Поэтому, иногда, возникает необходимость пройтись именно по exe файлам.
Данный скрипт создаст папку "logs" в корне диска "C:" и в ней подпапки согласно ip- адресам ПК той подсети, которую он попросит Вас указать.
Скрипт игнорирует папку "windows"!
On Error Resume Next
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WorkFolder = "c:\logs\"
count = 1
input = InputBox ( "Enter 3 subnet octets", "Удаленный поиск файлов", "10.10.10")
DO While count <= 254
ip= input &"." & count
If Not fso.FolderExists( WorkFolder ) Then
fso.CreateFolder( WorkFolder )
End If
If Not fso.FolderExists( WorkFolder & ip ) Then
fso.CreateFolder( WorkFolder & ip )
End If
Set objService = GetObject("winmgmts:\\" & ip & "\root\CIMV2")
Set dnsn = objService.ExecQuery( "SELECT DNSHostName FROM Win32_ComputerSystem",,48)
Set file = fso.CreateTextFile( WorkFolder & dnsn &"(" & ip &")" & "\" & Hour(time()) & "-" & Minute(time()) & ".txt",2, True)
Set colFiles = objService.ExecQuery("SELECT Name FROM CIM_DataFile WHERE Drive = 'C:' AND Extension = 'EXE' AND NOT Path LIKE '%\\WINDOWS\\%' ")
For Each objFile In colFiles
file.WriteLine ("Name: " & objFile.Name)
file.WriteLine (" ")
Next
count = count +1
Loop
Комментариев нет:
Отправить комментарий