Есть следующая задача:
1. необходимо запустить службу восстановления (состояние - отключено, тип запуска - отключено)
2. необходимо включить наблюдение только за системным разделом (остальные отрубить)
Собственно, что есть:
1. код включения и запуска наблюдения за всеми разделами:
2. код на vbs отключения наблюдения на всех, кроме системного:
Может кто-нибудь силен в vbs и поможет перегнать код №2 на autoit?
Добавлено:
Добавлено:
методом "научного тыка" получил такой вот код№2:
ИТОГО объединил их в 1 и получил:
Вроде работает, но только со второй попытки (1 попытка - запускается служба, 2-ая - отрубаются все, кроме системного
Просьба к знающим vbs - посмотрите что я сделал не так....
1. необходимо запустить службу восстановления (состояние - отключено, тип запуска - отключено)
2. необходимо включить наблюдение только за системным разделом (остальные отрубить)
Собственно, что есть:
1. код включения и запуска наблюдения за всеми разделами:
Код:
;~ ; Enable System Restore
$strComputer = @ComputerName
$objWmi = ObjGet("winmgmts://" & $strComputer & "/root/default:SystemRestore")
$objWmi.Enable("")
Код:
Set wshShell = CreateObject("WScript.Shell")
Set wshEnv = wshShell.Environment("Process")
strSysDrive = wshEnv("SYSTEMDRIVE")
strComputer = "."
Set objSR = GetObject("winmgmts:\\" & strComputer & "\root\default").Get("SystemRestore")
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
For Each objDisk In objWMIService.ExecQuery("Select DeviceID From Win32_LogicalDisk Where DriveType = 3")
If objDisk.DeviceID <> strSysDrive Then objSR.Disable objDisk.DeviceID & "\"
Next
Может кто-нибудь силен в vbs и поможет перегнать код №2 на autoit?
Добавлено:
Сообщение автоматически объединено:
Добавлено:
Сообщение автоматически объединено:
методом "научного тыка" получил такой вот код№2:
Код:
; Enable control drive "C"
$wshShell = ObjCreate("WScript.Shell")
$wshEnv = $wshShell.Environment("Process")
$strSysDrive = $wshEnv("SYSTEMDRIVE")
$strComputer = @ComputerName
$objSR = ObjGet("winmgmts://" & $strComputer & "/root/default:SystemRestore")
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!//" & $strComputer & "/root/cimv2")
For $objDisk In $objWMIService.ExecQuery("Select DeviceID From Win32_LogicalDisk Where DriveType = 3")
If $objDisk.DeviceID <> $strSysDrive Then
$objSR.Disable($objDisk.DeviceID & "\")
Endif
Next
ИТОГО объединил их в 1 и получил:
Код:
$strComputer = @ComputerName
$objSR = ObjGet("winmgmts://" & $strComputer & "/root/default:SystemRestore")
$wshShell = ObjCreate("WScript.Shell")
$wshEnv = $wshShell.Environment("Process")
$strSysDrive = $wshEnv("SYSTEMDRIVE")
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!//" & $strComputer & "/root/cimv2")
; Enable System Restore
$objSR.Enable("")
sleep(2000)
; Enable control drive "C"
For $objDisk In $objWMIService.ExecQuery("Select DeviceID From Win32_LogicalDisk Where DriveType = 3")
If $objDisk.DeviceID <> $strSysDrive Then
$objSR.Disable($objDisk.DeviceID & "\")
Endif
Next
Вроде работает, но только со второй попытки (1 попытка - запускается служба, 2-ая - отрубаются все, кроме системного
Просьба к знающим vbs - посмотрите что я сделал не так....