in-com, спасибо за файл реестра, но всё-таки — что в этом случае нужно делать?
Впрочем, вот Вам примерная болванка на WSH на добавление подстроки «chkdsk», в случае её отсутствия, в начало значения строкового параметра «SubCommands» раздела «HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\CompMgmt»:
Скрытый текст
Код:
Option Explicit
Const HKEY_CLASSES_ROOT = &H80000000
Dim objSWbemObjectEx
Dim strValue
Set objSWbemObjectEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default").Get("StdRegProv")
If objSWbemObjectEx.GetStringValue(HKEY_CLASSES_ROOT, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\CompMgmt", "SubCommands", strValue) = 0 Then
If UBound(Filter(Split(strValue, ";"), "chkdsk", True, vbTextCompare)) = -1 Then
strValue = "chkdsk;" & strValue
If objSWbemObjectEx.SetStringValue(HKEY_CLASSES_ROOT, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\CompMgmt", "SubCommands", strValue) = 0 Then
WScript.Echo "Set string value successfully."
Else
WScript.Echo "Can't set string value."
End If
Else
WScript.Echo "String value already contains substring."
End If
Else
WScript.Echo "Can't find subkey or parameter."
End If
WScript.Quit 0