() Читайте сообщение (3)
Перед тем как плеваться и осуждать. Это реализация контроля средствами 1С. Да, есть еще сотня другая вариантов решения. Не претендует на уникальность.
Насчет скриптика, выкладываю для изучения. Откуда я его нашел, уже не вспомню, это было более 10 лет назад.
Код ниже:
Const ForReading = 1
Const ForWriting = 2
Const tFolder = "d:\log\"
Const tFileName = "log.txt"
set objFSO=CreateObject ("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(tFolder & tFileName, ForWriting)
sText = "disks"
objFile.WriteLine sText
objFile.Close
strComputer = "my_comp_name"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colDiskDrives = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive")
For Each objDrive In colDiskDrives
strDeviceID = Replace(objDrive.DeviceID, "\", "\\")
Set colPartitions = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & strDeviceID & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition")
For Each objPartition In colPartitions
Set colLogicalDisks = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & objPartition.DeviceID & """} WHERE AssocClass = " & "Win32_LogicalDiskToPartition")
For Each objLogicalDisk In colLogicalDisks
Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk Where DeviceID = '" & objLogicalDisk.DeviceID & "'")
For Each objDisk in colDisks
Set objFile = objFSO.OpenTextFile(tFolder & tFileName, ForReading)
sFileText = objFile.ReadAll
objFile.Close
Set objFile = objFSO.OpenTextFile(tFolder & tFileName, ForWriting)
objFile.WriteLine sFileText & objLogicalDisk.DeviceID & " - " & objDisk.FreeSpace & " byte"
objFile.Close
Next
Next
Next
Next
Показать