<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=18539</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=18539&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «OFF: VBS Не убиваемая windows 10. Делюсь опытом.».]]></description>
		<lastBuildDate>Sat, 28 Feb 2026 12:59:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163116#p163116</link>
			<description><![CDATA[<p>Мда...<br />Из 10 раз всё равно 3 раза выпадал эрор.<br />Тогда поступил по другому.<br />К добавленному флагу добавил.<br />1- загрузился в закладку &quot;МЕНЮ&quot;<br />2- открыл (подключил) закладку которая с защитой.<br />3 - открыл от админа ком строку.<br />4- Посмотрел букву диска закладки&nbsp; которая с защитой. Буква диска &quot;M&quot;<br />5- написал в ком строке<br /></p><div class="codebox"><pre><code>
attrib +R +S +X +P M:\windows\system32\winload.efi
</code></pre></div><p>закрыл. Перезагрузился. Проверил, все выключения компа, вплоть до выдёргивания из розетки.<br />Работает 10 из 10 раз. БЕЗ ЭРОРОВ.<br />Короче.<br />вывод. Защита кеширует всё. Но сама защита что-то да пропускает. <br />Как было сказано в хелпе на сайте микрософта, что защита не отключает обновления и т.д.<br />Теперь этим атрибутом (см выше команду), я заставил ОС (защиту) не дотрагиваться до загрузчика своими &quot;погаными руками&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Sat, 28 Feb 2026 12:59:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163116#p163116</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163110#p163110</link>
			<description><![CDATA[<p><strong>Есть ЧЕТВЁРТЫЙ (ВАУ) способ</strong>.<br />И самый действенный.<br />Короче. <br />Заметил что это окно эрор с ошибкой 0хс00000001, выпадает рандомно.<br />Сделал заного закладку. перезагружаюсь и так и эдак. Всё ОК.<br /> Потом включаю защиту. И бац, прри первой же перезагрузки, вылетает этот эрор.<br />А особенно этот эрор&nbsp; любил вылетать когда я выключаю комп при нажатии кнопки повер.<br />Начал копать. отключил все быстрые загрузки на маме. на повере в маме установил время выкл. задержки на 4 сек. и т.д. Всё одно эрор.<br />Но ведь, до установки включения защиты всё ОК?<br />Тогда отключил кеши всех ssd в панели управления винды.<br />Худо бедно эрор пропадал. Но стоило опять вырубить комп кнопкой повер, и опять эрор.<br />И тут на ум пришла мысля. <br />А не установлен ли у меня в моих 8 ssd (2- загрузочные 256g, 2-1терабайтника,4-так до кучи raid5), кастрированный контролёр&nbsp; &nbsp;<strong>«YS9085N»</strong> ?<br />Ведь до вкл защиты всё пашет?<br />Отключил защиту.<br />Полес в реестр.<br /></p><div class="codebox"><pre><code>
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
&quot;BootDriverFlags&quot;=dword:0000001c
</code></pre></div><p>(см <a href="https://forum.script-coding.com/viewtopic.php?pid=163025#p163025">https://forum.script-coding.com/viewtop … 25#p163025</a>)</p><p>И выставил , там в начале 2000. НО из 5 выключений повером, 2-а точно были с эрором.<br />Но зато командами и другими &quot;кнопками&quot; (shutdown.exe) в ОС всё ОК.<br /> И когда я увеличил до 4000, то всё, вылечилось.<br />Так что ребята!<br />Если видите эрор, 0хс0000001 при загрузке, после меню, смело меняйте флаг в заргузчике на 4000-5000 из-за того что всё современные ssd , уже идут с кастрированным этим контролёром. Он самый дешёвый на рынке.<br />п.с.<br />Вернул все драйвера вспять от asm106xx, теперь их у меня 2-е шт<br />(см <a href="https://forum.script-coding.com/viewtopic.php?pid=163039#p163039">https://forum.script-coding.com/viewtop … 39#p163039</a>)<br />. При выключении в СОН - полёт нормальный. В маме вкл быструю загрузку.<br />В ОС включил опять кеширование всех ssd</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Tue, 24 Feb 2026 18:11:19 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163110#p163110</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163106#p163106</link>
			<description><![CDATA[<p>Продолжение на пост <br /><a href="https://forum.script-coding.com/viewtopic.php?pid=163102#p163102">https://forum.script-coding.com/viewtop … 02#p163102</a><br />Есть ТРЕТИЙ способ.</p><br /><p>Загружаемся в ветку <strong>МЕНЮ</strong><br />в ветке, <strong>МЕНЮ</strong><br />1- открываем упр компои--упр диском<br />2- выбираем наш диск где расположены все наши VHDX файлы.<br />У меня это диск Y:<br />3- там этот диск имеет загрузочный раздел в меткой <strong>SYSTEM</strong><br />Я убрал с него букву диска, что бы не &quot;светился&quot; в проводнике.<br />4- на нём , прв_кнп_мыши , установить букву. Я установил букву <strong>&quot;I&quot;</strong>, жмём ОК.<br />Не закрывая, это окно.<br /><strong>открываем консоль, с правами админа.</strong><br />пишем<br /></p><div class="codebox"><pre><code>
bcdedit /v
</code></pre></div><p>Ищем строку со сбойной загрузкой. <br />Короче.<br />Ищем в этом списке тот VHDX (и меню) при котором эта ветка выдавала ошибку при загрузке.<br />Там есть строка <br />например эта <strong>&quot;safe диск&quot;</strong> ветка в меню загрузки , давала сбой<br /></p><div class="codebox"><pre><code>
Загрузка Windows
-------------------
идентификатор           {901ffe72-e9c2-11f0-b1e3-00155d0f8dfe}
device                  vhd=[Y:]\safe.vhdx,locate=custom:12000002
path                    \Windows\system32\winload.efi
description             safe диск
locale                  ru-RU
osdevice                vhd=[Y:]\safe.vhdx,locate=custom:22000002
systemroot              \Windows
detecthal               Yes

</code></pre></div><p>Там есть <br /></p><div class="codebox"><pre><code>
идентификатор           {901ffe72-e9c2-11f0-b1e3-00155d0f8dfe}

</code></pre></div><p>Но там может быть и строка <br /></p><div class="codebox"><pre><code>
идентификатор           {default}
</code></pre></div><p>Что было и у меня при загрузке в ветку <strong>&quot;МЕНЮ&quot;</strong><br />Если у вас написано <strong>{default}</strong><br />пишем.<br /></p><div class="codebox"><pre><code>
bcdedit /store I:\boot\bcd /ems {default} ON
bcdedit /store I:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200


</code></pre></div><p>Обратите внимание. <strong> Диск &quot;I&quot;</strong> и строка <strong>{default}</strong>.<br />Если у вас другие буквы вашего диска <strong>SYSTEM</strong> подставьте свою букву.<br />Если у вас вместо <strong>{default}</strong> ,</p><div class="codebox"><pre><code> идентификатор           {901ffe72-e9c2-11f0-b1e3-00155d0f8dfe}</code></pre></div><p> то подставьте вместо <strong>{default}</strong> свою строку <br /><strong>{901ffe72-e9c2-11f0-b1e3-00155d0f8dfe}<br /></strong><br />После того как в консоле будет написано что мол изменения внесены, то в <br />открываем упр компои--упр диском удаляем букву, с диска с меткой <strong>&quot;SYSTEM&quot;</strong><br />После этого перезагружаемся и заходим в нашу сбойную ветку.<br />Она загружается без ошибок.<br />Вот так эта ошибка лечится.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Sun, 22 Feb 2026 13:41:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163106#p163106</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163102#p163102</link>
			<description><![CDATA[<p>Если вдруг, в результате, бестолковых, рандомных, диких,&nbsp; выключений компа, у вас при попытки загрузиться в какую либо ветку(закладку), выпадает вот такое чёрное окно--&gt;</p><p><span class="postimg"><img src="https://allwebs.ru/images/2026/02/20/585d3de8b9cfd43add142cc1dcc280a0.jpg" alt="https://allwebs.ru/images/2026/02/20/585d3de8b9cfd43add142cc1dcc280a0.jpg" /></span> </p><br /><p>то достаточно опять нажать на <strong>&quot;интер&quot;</strong> , вы вернётесь опять в меню. И уже повторная загрузка опять этой ветки (закладки), пройдёт в штатном режиме.<br /><strong>Как лечиться ?</strong> <br />Не пытайтесь его чинить. Спасает только изготовления новой этой ветки. Но есть и второй способ, без потери инфы. <br />1- выкл. комп по питанию. Вытаскиваем все RAID софтовые. RAID загрузочный оставляем.<br />2- загружаемся в эту сбойную ветку (закладку). Она выдаёт ошибку. Нажимаем <strong>&quot;интер&quot;</strong>. Выходим в меню. <br />3- Опять загружаемся в эту сбойную ветку. Загружаем винду.<br />4- Выходим из этой ветки (закладки) из винды.<br />5- выкл. комп по питанию. Вставляем заного эти софтовые RAID.<br />6- вкл. комп по питанию. загружаемся в эту ранее сбойную ветку (закладку).<br />Ветка загружается уже без ошибок.<br />Эту ошибку метит в себе биос мамы. При изменении конфигурации винтов, биос загрузки перемечивает последовательность у себя ssd. И ошибка пропадает.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Fri, 20 Feb 2026 18:47:15 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163102#p163102</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163088#p163088</link>
			<description><![CDATA[<p>Была создана следилка за процессами.</p><br /><p><a href="https://forum.script-coding.com/viewtopic.php?pid=163073#p163073<br />">https://forum.script-coding.com/viewtop … 3#p163073<br /></a></p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Sat, 14 Feb 2026 14:18:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163088#p163088</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163063#p163063</link>
			<description><![CDATA[<p>мда... столько времени потерял, что бы понять, что Dicionary в VBS и в VB.NET разные. <br />Быстренько написал, код, для передачи из VBS в VB.NET Dicionary объект через проводник. А на приёме тишина- молчёк , я и так и эдак, молчёк. Простой текст, летит со скоростью света, а этот объект нифига. Стал копать, и выяснил что это разные объекты имеющие одно имя. И поэтому созданный этот объект в VBS нифига не читается и не распознаётся в VB.NET. Хорошо что хоть биты и байты стандартны для обоих языков. <br />...<br />Поэтому пока придётся передавать тексты, ну а когда будет время то создам свою библиотеку в VB.NET как собственный тип данных, по типу Dicionary - двух мерный массив, и тогда если эту библиотеку объявлять в VBS и в VB.NET то можно связывать их вместе.<br />Ну а пока, по старинке, только текст, через проводник.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Mon, 09 Feb 2026 19:24:57 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163063#p163063</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163062#p163062</link>
			<description><![CDATA[<p>Облом с этим WSC.<br />Сволочи. Регистрируется ТОЛЬКО ДЛЯ ИСПОЛНЕНИЯ В VBS. По настоящему нифига нет его в <br />просмоторщике по СОМ объектам.<br />Буду &quot;вшивать&quot; связь с &quot;проводником&quot;, внутрь exe файла.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Mon, 02 Feb 2026 09:07:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163062#p163062</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163058#p163058</link>
			<description><![CDATA[<p>Начнём, постепенно.<br />Выкладываю маленькую пробную, показательную прогу, по которой&nbsp; можно будет судить как это будет работать сервер-клиент.<br />Там всё с коментами, что бы все поняли что и как, что бы потом подправили для себя.<br />Пока этот пример как бы основа, самое начало передачи и приёма данных через сервер &quot;проводник&quot;.<br />файл <strong>ПРОВОДНИК.wsc</strong><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;windows-1251&quot; standalone=&quot;yes&quot;?&gt;
&lt;?component error=&quot;true&quot; debug=&quot;true&quot;?&gt;

&lt;component&gt;
&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;comment&gt; Создаём компонент с именем которое булет иметь при создании объекта COM &lt;/comment&gt;
&lt;comment&gt; и под которым оно зарегестрируется для COM &lt;/comment&gt;
&lt;comment&gt; --------------------------------------- &lt;/comment&gt;

&lt;registration progid=&quot;Server_Trye.Explorer&quot;/&gt;

&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;comment&gt; обозначаем как PUBLIC все функции и процедуры, что бы их вызывали стороние проги &lt;/comment&gt;
&lt;comment&gt; --------------------------------------- &lt;/comment&gt;

&lt;public&gt;
    &lt;method name=&quot;Get_t&quot;/&gt;
&lt;/public&gt;

&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;comment&gt; объявляем переменную, ShellWindows_ как объект &quot;Shell.Application&quot; &lt;/comment&gt;
&lt;comment&gt; За счёт такого объявления всё процедуры и функции его будут иметь&lt;/comment&gt;
&lt;comment&gt; Т.е. она будет для этого скрипта как глобальная переменная&lt;/comment&gt;
&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;object id=&quot;ShellWindows_&quot; progid=&quot;Shell.Application&quot;/&gt;


&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;comment&gt; Элемент &#039;implements&#039; задаёт обработчик COM-интерфейса для компонента &lt;/comment&gt;
&lt;comment&gt; скрипта, определяя тип COM-компонента, которым будет являться компонент &lt;/comment&gt; 
&lt;comment&gt; скрипта. Например, указав &#039;implements type=ASP&#039;, вы реализуете обработчик  &lt;/comment&gt;
&lt;comment&gt; интерфейса ASP и, следовательно, получаете доступ к объектной модели ASP в  &lt;/comment&gt;
&lt;comment&gt; вашем компоненте скрипта. От себя. Короче- пусть будет&lt;/comment&gt;
&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;implements type=&quot;ASP&quot;/&gt;


&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;comment&gt; Всё. на этом абракадабровый код закончен, и перехоит в банальный VBScript&lt;/comment&gt;
&lt;comment&gt; --------------------------------------- &lt;/comment&gt;

&lt;script language=&quot;VbScript&quot;&gt;&lt;![CDATA[

&#039;------------ настоящий VBS скрипт. Изголяйся как хочешь, и не надо знать всякие теги и т.д.

&#039;--------------------------------------------------------
Dim My_type_
&#039;--------------------------------------------------------

&#039;--------------------------------------------------------
&#039;--объявляется все перменные и назначается объект который был 
&#039; -обозначен как глобальный (см выше). И который имеет свойтсво Windows    
&#039;--------------------------------------------------------
Dim W_,w,Get_
Set W_=ShellWindows_.Windows
&#039;--------------------------------------------------------

&#039;--------------------------------------------------------
&#039; -Каждая функция GET и PUT сама делает поиск в прогах имени &quot;tray&quot; (см VBS скрипт)
&#039; - VBS скрипт в эти функции посылает имя которое необходимо искать в прогах.    
&#039; - Когда находит, то начинает по первой переменной COUNT делать цикл перебор всех имён key в Dictionary
&#039; - Читая по ним данные. 
&#039;--------------------------------------------------------
&#039;==============GET==========================
Function Get_t(Byval name,Byval Key_) 
        For Each w in W_
            if Instr(1,w.StatusText,name) = 1 Then
&#039;--------------------------------------------------------
&#039;- Устанавливаем тип объекта который получили от проводника
&#039;- и объявляем его, конечно мы знаем его, но вот так можно автоматом узнать что там за объект 
&#039;- VBS автоматом узнаёт что за объект и назначает его переменной
&#039;--------------------------------------------------------
Set My_type_= w.GetProperty(Key_)

&#039;--------------------------------------------------------
&#039;- возвращаем весь объект Dictionary
&#039;--------------------------------------------------------
Set Get_t = My_type_
&#039;--------------------------------------------------------
	exit function
	end if	
	next
end function



&#039;--------------------------------------------------------
&#039; - функция PUT в WSC файле мне не нужна. Поэтому я её не писал тут
&#039;==============PUT==========================
&#039;--------------------------------------------------------

]]&gt;
&lt;/script&gt;

&lt;comment&gt; --------------------------------------- &lt;/comment&gt;
&lt;comment&gt; На этом теге заканчивается тег со скриптами&lt;/comment&gt;
&lt;comment&gt; --------------------------------------- &lt;/comment&gt;

&lt;/component&gt;


</code></pre></div></div></div><p>Потом файл<br /><strong>ПРОВОДНИК.vbs</strong><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
&#039;============================
&#039;- В командной строк от админа
&#039;============================
&#039;- регистрация WSC 
&#039;============================
&#039;C:\Windows\system32&gt;regsvr32    scrobj.dll /n /i:file:\\полный путь к файлу wsc\ИМЯ файла .wsc
&#039;============================
&#039;- удвление регистрации WSC 
&#039;============================
&#039;C:\Windows\system32&gt;regsvr32    scrobj.dll /u /i:file:\\полный путь к файлу wsc\ИМЯ файла .wsc
&#039; - При этом происходит полностью провера кода в WSC файле. И если там ошибка, то будет сообщние где ошибка.
&#039;- И при этом удаление регистрации не происходит. Пока не исправите ошибку регистрация и ужаление её не произойдёт  &#039;============================


Option Explicit
&#039;============================

&#039;============================
&#039;- объявляются переменные
&#039;============================
Private ShellWindow, ShellWindows, T_, name_, Me_T ,One_
&#039;============================

&#039;============================
&#039;- назначаем переменную &quot;Me_T&quot;, как Dictionary
&#039;============================
set Me_T=CreateObject(&quot;Scripting.Dictionary&quot;)

&#039;============================

&#039;============================
&#039;- Глобальное имя свойства в переменной name_
&#039;============================
name_=&quot;tray&quot; 
&#039;============================
&#039;- самый первый key в свойтсвах проводника 
&#039;============================
One_=&quot;0&quot;
&#039;============================

&#039;============================
&#039; - посылаем в процедуру запись/поиска в проводник свойства в глобальной переменной name_
&#039;============================
Call OpenContainer (name_) 
&#039;============================

&#039;============================
&#039;-- Записываем  данные значения , 
&#039;-  key и значения в Dictionary
&#039;============================
Me_T.add &quot;test&quot;, &quot;34345&quot;
Me_T.add &quot;fso&quot; , &quot;dfvddg&quot;
Me_T.add &quot;1&quot; , &quot;2342242&quot;
Me_T.add &quot;ааа&quot; , &quot;3рет67о&quot;
Me_T.add &quot;123_цуц&quot; , &quot;111111111111&quot;
Me_T.add &quot;гг577HHH&quot; , &quot;ЛЛЛ РРРР&quot;
&#039;============================

&#039;============================
&#039;-посылаем весь объект Dictionary с данными для записи  в проводник, c key = &quot;0&quot; раной переменной One_
&#039;- это будет всего одна запись но со всем объектом сразу и с его содержимом 
&#039;============================
call N (One_, Me_T) 
&#039;============================

&#039;============================
&#039;-Процедура первой записи (name name_=&quot;tray&quot;) в проводник свойтсва которое потом 
&#039;-будет как метка для поиска его во всех прогах в винде. 
&#039;============================
    Sub OpenContainer(name)
        Dim ShellWindows
        Set ShellWindows = CreateObject(&quot;Shell.Application&quot;).Windows &#039;-оюъявдяется как прога в вине.
        For Each ShellWindow in ShellWindows &#039;- перебор всех прог в вине
&#039;============================
&#039;-поиск в прогах в свойтве её, имени которое имеет переменная name
&#039;- Если имя совпало, то останавливается поиск и переменная ShellWindow назначается 
&#039;-той прогой, в которой нашли это своёство с этим именем
&#039;============================
            if Instr(1,ShellWindow.StatusText,name) = 1 Then Exit Sub 
         Next
&#039;============================
&#039;- Если ничего не нашли, то создаём и записываем это свойство в проводник.
&#039;============================
        Set ShellWindow = GetObject(&quot;new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}&quot;) 
        ShellWindow.StatusText = name
    End Sub

&#039;============================
&#039;-Процедура записи в проводник 
&#039;============================
Sub N(name, newValue)
        ShellWindow.PutProperty name, newValue
End Sub
&#039;============================
   
&#039;============================
&#039;-объявляется объект WSC 
&#039;============================
Set T_ = CreateObject(&quot;Server_Trye.Explorer&quot;) 
&#039;============================

Dim O_,K_,v_,x

&#039;============================
&#039;-читается из объекта WSC, то что он прочёл в проводнике.
&#039;- посылаем туда  имя свойства проги в которой эта запись есть. 
&#039;- и посылаем первое имя которое там записано (переменная One_), 
&#039; - По этому имени будут искаться наш Объект Distionary 
&#039; - И При возврате  Устанавливаем тип объекта который получили от проводника
&#039;- и объявляем его, конечно мы знаем его, но вот так можно автоматом узнать что там за объект 
&#039;- и записываем весь объект вместе с данными в свою переменную 
&#039;- VBS автоматом узнаёт что за объект и назначает его переменной
&#039;============================
set O_=T_.Get_t(name_,One_)
K_=O_.keys
V_=O_.items
&#039;============================
&#039;- Читаем все данные
&#039;============================
For x=0 to O_.count-1
msgbox &quot;Key= &quot; &amp; K_(x) &amp; &quot; значение= &quot; &amp; V_(x)
next
&#039;============================
&#039; - А т.к. в exe(VB.NET) будет включон объект WSC то он(WSC) будет отдавать exe из себя то что лежало в &#039;проводнике. 
&#039;============================




</code></pre></div></div></div><p>когда скопируете к себе то сохраняйте файл в кодировки ANSI иначе абракадабра будет вылетать.<br />Записали всё в файлы.<br />Открыли ком строку от админа и зарегили WSC СОМ библиотеку (см выше в коде написан как).<br />Если всё ОКи то запускаем VBS и смотрим как выпадаюи месяги.<br />Процесс, передачи данных от VBS в проводник, из проводника в WSC, из WSC опять в VBS.<br />Это демонстрация передачи данных и как это будет пахать в совместно с VB.NET в трее вина.<br />В данных буду передавать коды. 0-НЕ показать, 1-показать месяги. Один из Key, будет иметь имя time для передачи и установки в exe времени по которому будут выпадать месяги. Т.е. можно там вот так интерактивно динамически менять параметры.. В Key =ico будет полный путь к картинки иконки для данной месяги.<br />Ну короче, полностью изменяемая будет exe в трее.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Sun, 01 Feb 2026 08:16:03 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163058#p163058</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163057#p163057</link>
			<description><![CDATA[<p>Есть такая стратегия в игре &quot;нарды&quot; -&gt; &quot;Улучшиться в домике&quot;<br />Так вот я начинаю улучшаться в &quot;домике&quot;.<br />А именно. Есть вот такая штука--&gt;<br /><a href="http://хххх://stackoverflow.com/questions/41516696/creating-systray-icon-with-vbscript<br />">хххх://stackoverflow.com/questions/4151 … -vbscript<br /></a><br />см в самом низу код. Код оч при оч крут.<br />Пашет на ура. Я его переделал под себя.<br /><strong>Цель</strong><br />1- В планировщике заданий, каждые 5 минут, будет запускаться заного VBS скрипт, который будет опрашивать мои хотелки (функции).<br />В данном случае, оставшуюся память защиты ssd, и опрос состояния дискового пространства. &quot;Завтра&quot; на ум придёт ещё хотелка--&gt; нет проблем без копилирования пиши - не хочу, и будет новый опрос. В онлайне меняй что хочешь. Запуск <strong>VBS</strong> через планировщик--вещь .<br />2- В этом VBS рбъявлен WSC как СОМ , который зарегин в системе как настоящий ком . В свете последних изысканий--&gt;<br /><a href="https://forum.script-coding.com/viewtopic.php?pid=163046#p163046">https://forum.script-coding.com/viewtop … 46#p163046</a><br /> это можно сделать запросто.</p><p>Схема такая. VBS это онлайн скрипт. исправляется на лету. WSC зарегин как настоящий СОМ, а то что ОН тоже скрипт, то не меняя в нём имени СОМ зарегистрированного объекта , а только &quot;кишочки&quot;, можно так же в онлайне его редактировать, при этом не нарушая работу общей моей задумки. В WSC будет объект проводник. в VBS будет <strong>Dictionary</strong> в который будут впихиваться данные от функций VBS. И при помощи СОМ WSC этот <strong>Dictionary</strong> будет впихиваться в &quot;проводник&quot;--&gt;<a href="https://forum.script-coding.com/viewtopic.php?pid=162734#p162734">https://forum.script-coding.com/viewtop … 34#p162734</a>.<br />В WSC так же будет функция доставания из проводника этого&nbsp; <strong>Dictionary</strong> и сразу же впихивание данных в обычный массив.<br />3- есть&nbsp; прога (см код) которая взята из &quot;того сайта выше&quot; </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>

Option Explicit
Dim fso: Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)

CompileTrayApp

Dim sTrayExePath: sTrayExePath = fso.GetFile(WScript.ScriptFullName).ParentFolder &amp; &quot;\TrayApp.exe&quot;
If fso.FileExists(sTrayExePath) Then
    Dim shell: Set shell = CreateObject(&quot;WScript.Shell&quot;)
    shell.Run &quot;&quot;&quot;&quot; &amp; sTrayExePath &amp; &quot;&quot;&quot; &quot;&quot;&quot; &amp; WScript.ScriptFullName &amp; &quot;&quot;&quot;&quot;, 0, False
End If

Log &quot;Script started&quot;
WScript.Sleep 2000

Log &quot;Doing something 1...&quot;
WScript.Sleep 5000

Log &quot;Doing something 2...&quot;
WScript.Sleep 5000

MsgBox &quot;Done&quot;
Log &quot;Done&quot;

&#039;===============================================
Sub Log(sMsg)
    Dim log: Set log = fso.OpenTextFile(WScript.ScriptFullName &amp; &quot;.log&quot;, 8, True)
    log.WriteLine Now &amp; &quot; - &quot; &amp; sMsg
    log.Close

    If fso.FileExists(sTrayExePath) Then
        Dim f: Set f = fso.CreateTextFile(WScript.ScriptFullName &amp; &quot;.tray&quot;, True)
        f.WriteLine sMsg
        f.Close
    End If
End Sub

Sub CompileTrayApp

    Dim outFolder: outFolder = fso.GetParentFolderName(WScript.ScriptFullName)
    Dim programPath: programPath = outFolder &amp; &quot;\Program.vb&quot; 
    Dim trayAppPath: trayAppPath = outFolder &amp; &quot;\TrayApp.vb&quot;
    Dim exePath: exePath = outFolder &amp; &quot;\TrayApp.exe&quot;

    If fso.FileExists(exePath) Then
        &#039;WScript.Echo &quot;TrayApp.exe already exists&quot;
        Exit Sub
    End If

    Dim sVbcPath: sVbcPath = GetLatestVbcPath()
    If sVbcPath = &quot;&quot; Then
        WScript.Echo &quot;Could not find VB.NET Complier (vbc.exe)&quot;
        Exit Sub
    End If

    &#039; === Write Program.vb ===
    Dim s
    s = &quot;Imports System.Windows.Forms&quot; &amp; vbCrLf
    s = s &amp; &quot;Imports System.Management&quot; &amp; vbCrLf
    s = s &amp; &quot;&quot; &amp; vbCrLf
    s = s &amp; &quot;Module Program&quot; &amp; vbCrLf
    s = s &amp; &quot;    Function GetScriptProcessId(scriptPath As String) As Integer&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim query As String = &quot;&quot;SELECT ProcessId, CommandLine FROM Win32_Process WHERE Name = &#039;wscript.exe&#039; OR Name = &#039;cscript.exe&#039;&quot;&quot;&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim searcher As New ManagementObjectSearcher(query)&quot; &amp; vbCrLf
    s = s &amp; &quot;        For Each proc As ManagementObject In searcher.Get()&quot; &amp; vbCrLf
    s = s &amp; &quot;            Dim cmd As String = proc(&quot;&quot;CommandLine&quot;&quot;)&quot; &amp; vbCrLf
    s = s &amp; &quot;            If Not cmd Is Nothing Then&quot; &amp; vbCrLf
    s = s &amp; &quot;                cmd = cmd.ToLower()&quot; &amp; vbCrLf
    s = s &amp; &quot;                If cmd.Contains(scriptPath.ToLower()) Then&quot; &amp; vbCrLf
    s = s &amp; &quot;                    Return Convert.ToInt32(proc(&quot;&quot;ProcessId&quot;&quot;))&quot; &amp; vbCrLf
    s = s &amp; &quot;                End If&quot; &amp; vbCrLf
    s = s &amp; &quot;            End If&quot; &amp; vbCrLf
    s = s &amp; &quot;        Next&quot; &amp; vbCrLf
    s = s &amp; &quot;        Return -1&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Function&quot; &amp; vbCrLf
    s = s &amp; &quot;&quot; &amp; vbCrLf
    s = s &amp; &quot;    Sub Main()&quot; &amp; vbCrLf
    s = s &amp; &quot;        Application.EnableVisualStyles()&quot; &amp; vbCrLf
    s = s &amp; &quot;        Application.SetCompatibleTextRenderingDefault(False)&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim args As String() = Environment.GetCommandLineArgs()&quot; &amp; vbCrLf
    s = s &amp; &quot;        If args.Length &lt; 2 Then&quot; &amp; vbCrLf
    s = s &amp; &quot;            MessageBox.Show(&quot;&quot;Expected VBS path as argument.&quot;&quot;, &quot;&quot;Error&quot;&quot;)&quot; &amp; vbCrLf
    s = s &amp; &quot;            Return&quot; &amp; vbCrLf
    s = s &amp; &quot;        End If&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim scriptPath As String = args(1)&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim pid As Integer = GetScriptProcessId(scriptPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;        If pid = -1 Then&quot; &amp; vbCrLf
    s = s &amp; &quot;            MessageBox.Show(&quot;&quot;Could not find WScript process for: &quot;&quot; &amp; scriptPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;            Return&quot; &amp; vbCrLf
    s = s &amp; &quot;        End If&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim trayApp As New TrayApp(scriptPath, pid)&quot; &amp; vbCrLf
    s = s &amp; &quot;        Application.Run()&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;End Module&quot; &amp; vbCrLf

    With fso.CreateTextFile(programPath, True)
        .Write s
        .Close
    End With

    &#039; === Write TrayApp.vb ===
    s = &quot;Imports System.Drawing&quot; &amp; vbCrLf
    s = s &amp; &quot;Imports System.IO&quot; &amp; vbCrLf
    s = s &amp; &quot;Imports System.Windows.Forms&quot; &amp; vbCrLf
    s = s &amp; &quot;Imports System.Diagnostics&quot; &amp; vbCrLf
    s = s &amp; &quot;Imports System.Timers&quot; &amp; vbCrLf
    s = s &amp; &quot;&quot; &amp; vbCrLf
    s = s &amp; &quot;Public Class TrayApp&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private trayIcon As NotifyIcon&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private trayMenu As ContextMenuStrip&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private fileWatcher As FileSystemWatcher&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private vbsPath As String&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private trayPath As String&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private logPath As String&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private parentPID As Integer&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private checkProcessTimer As System.Timers.Timer&quot; &amp; vbCrLf
    s = s &amp; &quot;&quot; &amp; vbCrLf
    s = s &amp; &quot;    Public Sub New(vbsFullPath As String, pid As Integer)&quot; &amp; vbCrLf
    s = s &amp; &quot;        vbsPath = vbsFullPath&quot; &amp; vbCrLf
    s = s &amp; &quot;        parentPID = pid&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayPath = vbsPath &amp; &quot;&quot;.tray&quot;&quot;&quot; &amp; vbCrLf
    s = s &amp; &quot;        logPath = vbsPath &amp; &quot;&quot;.log&quot;&quot;&quot; &amp; vbCrLf
    s = s &amp; &quot;        If File.Exists(trayPath) Then File.Delete(trayPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;        If File.Exists(logPath) Then File.Delete(logPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayMenu = New ContextMenuStrip()&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayMenu.Items.Add(&quot;&quot;About&quot;&quot;, Nothing, AddressOf ShowAbout)&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayMenu.Items.Add(&quot;&quot;Log&quot;&quot;, Nothing, AddressOf ShowLog)&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayMenu.Items.Add(&quot;&quot;Exit&quot;&quot;, Nothing, AddressOf ExitApp)&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayIcon = New NotifyIcon()&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayIcon.Text = vbsPath&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(&quot;&quot;C:\Windows\System32\wscript.exe&quot;&quot;)&quot; &amp; vbCrLf &#039;SystemIcons.Application
    s = s &amp; &quot;        trayIcon.ContextMenuStrip = trayMenu&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayIcon.Visible = True&quot; &amp; vbCrLf
    s = s &amp; &quot;        AddHandler trayIcon.DoubleClick, AddressOf OnTrayIconDoubleClick&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim trayDir = Path.GetDirectoryName(trayPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;        Dim trayFile = Path.GetFileName(trayPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;        If Directory.Exists(trayDir) Then&quot; &amp; vbCrLf
    s = s &amp; &quot;            fileWatcher = New FileSystemWatcher(trayDir, trayFile)&quot; &amp; vbCrLf
    s = s &amp; &quot;            AddHandler fileWatcher.Changed, AddressOf OnTrayFileChanged&quot; &amp; vbCrLf
    s = s &amp; &quot;            AddHandler fileWatcher.Created, AddressOf OnTrayFileChanged&quot; &amp; vbCrLf
    s = s &amp; &quot;            fileWatcher.EnableRaisingEvents = True&quot; &amp; vbCrLf
    s = s &amp; &quot;        End If&quot; &amp; vbCrLf
    s = s &amp; &quot;        checkProcessTimer = New System.Timers.Timer(5000)&quot; &amp; vbCrLf
    s = s &amp; &quot;        AddHandler checkProcessTimer.Elapsed, AddressOf CheckParentProcess&quot; &amp; vbCrLf
    s = s &amp; &quot;        checkProcessTimer.Start()&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private Sub ShowLog(sender As Object, e As EventArgs)&quot; &amp; vbCrLf
    s = s &amp; &quot;        If File.Exists(logPath) Then Process.Start(&quot;&quot;notepad.exe&quot;&quot;, logPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private Sub ShowAbout(sender As Object, e As EventArgs)&quot; &amp; vbCrLf
    s = s &amp; &quot;        MessageBox.Show(vbsPath, &quot;&quot;About&quot;&quot;)&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private Sub ExitApp(sender As Object, e As EventArgs)&quot; &amp; vbCrLf
    s = s &amp; &quot;       Try&quot; &amp; vbCrLf
    s = s &amp; &quot;           Dim parentProc As Process = Process.GetProcessById(parentPID)&quot; &amp; vbCrLf
    s = s &amp; &quot;           parentProc.Kill()&quot; &amp; vbCrLf
    s = s &amp; &quot;       Catch ex As Exception&quot; &amp; vbCrLf
    s = s &amp; &quot;       End Try&quot; &amp; vbCrLf
    s = s &amp; &quot;        trayIcon.Visible = False&quot; &amp; vbCrLf
    s = s &amp; &quot;        If fileWatcher IsNot Nothing Then fileWatcher.EnableRaisingEvents = False&quot; &amp; vbCrLf
    s = s &amp; &quot;        If checkProcessTimer IsNot Nothing Then checkProcessTimer.Stop()&quot; &amp; vbCrLf
    s = s &amp; &quot;        Application.Exit()&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private Sub OnTrayIconDoubleClick(sender As Object, e As EventArgs)&quot; &amp; vbCrLf
    s = s &amp; &quot;        If File.Exists(logPath) Then Process.Start(&quot;&quot;notepad.exe&quot;&quot;, logPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private Sub OnTrayFileChanged(sender As Object, e As FileSystemEventArgs)&quot; &amp; vbCrLf
    s = s &amp; &quot;        Try&quot; &amp; vbCrLf
    s = s &amp; &quot;            Threading.Thread.Sleep(100)&quot; &amp; vbCrLf
    s = s &amp; &quot;            Dim content = File.ReadAllText(trayPath).Trim()&quot; &amp; vbCrLf
    s = s &amp; &quot;            If content.ToLower() = &quot;&quot;done&quot;&quot; Then&quot; &amp; vbCrLf
    s = s &amp; &quot;                ExitApp(Nothing, Nothing)&quot; &amp; vbCrLf
    s = s &amp; &quot;            Else&quot; &amp; vbCrLf
    s = s &amp; &quot;                trayIcon.BalloonTipTitle = &quot;&quot;Update from &quot;&quot; &amp; Path.GetFileName(vbsPath)&quot; &amp; vbCrLf
    s = s &amp; &quot;                trayIcon.BalloonTipText = content&quot; &amp; vbCrLf
    s = s &amp; &quot;                trayIcon.ShowBalloonTip(3000)&quot; &amp; vbCrLf
    s = s &amp; &quot;            End If&quot; &amp; vbCrLf
    s = s &amp; &quot;        Catch ex As Exception&quot; &amp; vbCrLf
    s = s &amp; &quot;        End Try&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;    Private Sub CheckParentProcess(sender As Object, e As ElapsedEventArgs)&quot; &amp; vbCrLf
    s = s &amp; &quot;        Try&quot; &amp; vbCrLf
    s = s &amp; &quot;            Dim running = Process.GetProcesses().Any(Function(p) p.Id = parentPID)&quot; &amp; vbCrLf
    s = s &amp; &quot;            If Not running Then ExitApp(Nothing, Nothing)&quot; &amp; vbCrLf
    s = s &amp; &quot;        Catch&quot; &amp; vbCrLf
    s = s &amp; &quot;            ExitApp(Nothing, Nothing)&quot; &amp; vbCrLf
    s = s &amp; &quot;        End Try&quot; &amp; vbCrLf
    s = s &amp; &quot;    End Sub&quot; &amp; vbCrLf
    s = s &amp; &quot;End Class&quot; &amp; vbCrLf

    With fso.CreateTextFile(trayAppPath, True)
        .Write s
        .Close
    End With

    Dim shell: Set shell = CreateObject(&quot;WScript.Shell&quot;)
    Dim cmd: cmd = &quot;&quot;&quot;&quot; &amp; sVbcPath &amp; &quot;&quot;&quot; /target:winexe /reference:System.Management.dll /out:&quot;&quot;&quot; &amp; exePath &amp; &quot;&quot;&quot; &quot;&quot;&quot; &amp; programPath &amp; &quot;&quot;&quot; &quot;&quot;&quot; &amp; trayAppPath &amp; &quot;&quot;&quot;&quot;
    shell.Run cmd, 0, True

    fso.DeleteFile programPath
    fso.DeleteFile trayAppPath
End Sub

Function GetLatestVbcPath()
    Dim baseKey, versions, v, bestVer, bestPath, dir
    Dim candidates: candidates = Array(&quot;C:\Windows\Microsoft.NET\Framework64&quot;, &quot;C:\Windows\Microsoft.NET\Framework&quot;)
    bestVer = 0
    bestPath = &quot;&quot;

    For Each dir In candidates
        If fso.FolderExists(dir) Then
            Set versions = fso.GetFolder(dir).SubFolders
            For Each v In versions
                If LCase(Left(v.Name, 1)) = &quot;v&quot; Then
                    Dim fullPath, vbcPath, numVer
                    vbcPath = dir &amp; &quot;\&quot; &amp; v.Name &amp; &quot;\vbc.exe&quot;
                    If fso.FileExists(vbcPath) Then
                        numVer = CSng(Replace(Mid(v.Name, 2), &quot;.&quot;, &quot;,&quot;)) &#039; e.g., v4.0.30319 = 4.0
                        If numVer &gt; bestVer Then
                            bestVer = numVer
                            bestPath = vbcPath
                        End If
                    End If
                End If
            Next
        End If
    Next
    GetLatestVbcPath = bestPath
End Function

</code></pre></div></div></div><p>Который:<br />1-делает 2-а файла. Один как для app(exe), второй как класс. <br />2-компилирует его в Framework как VB.net.<br />3- запускает с аргументом себя работающего (запущенного)...<br />4- прога загружается в трей винды и посылает месяги юзеру.<br />5- через N времени она исчезает- закрывается (убивается сама).<br />...<br />Я этот код переделал.<br />убрал лишнее оставил только месяги по времени и иконки свои динамические.<br />В этот код добавил свой СОМ WSC.<br />Но т.к. все СОМ объекты тупо просто копируются, то тот СОМ в VBS ничего не знает о СОМ-е который в tray написанный на VB.NET.<br />Но они чётко идентичны. Т.е. меняя на лету в файле WSC можно шаманить в онлайне и в exe .<br />Т.к. сам CОМ (WSC) имеет связь с &quot;проводником&quot;, то как раз проводник и связывает их в между собой.<br />VBS впихивает в проводник <strong>Dictionary</strong>, а exe в трее его принимает. Я вот сейчас подумал, что лучше сразу массив посылать, безо всяких там заморочек с <strong>Dictionary</strong>.<br />Короче. <br />1- планировщик запускает по N времени VBS. Он делает мои хотелки по опросам.<br />2- VBS впихивает результтаты опроса в массив и посылает в проводник.<br />3- WSC принимает через проводник массив и отдаёт его exe который по времени выкидывает месяги в трее для юзера.<br />При этом меняя свою иконку, по желанию VBS юзера.<br />...<br />Можно конечно обойтись и без WSC и напрямую связать проводник с VBS и exe в трее. Но я решил лучше через лишнюю прокладку WSC.<br />Потому что возможно &quot;завтра&quot;, я захочу расширить массив или что ещё. Если связь будет вшита в exe то надо перекомпилировать exe . А если связь будет через WSC то он не нуждается в копиляции.<br />..<br />ПОЧЕМУ именно WSC? Да потому что VBS проще чем VB.NET, и там ковыряться с&nbsp; <strong>Dictionary</strong> который вообще не известен в VB.NET нафиг мне не здался... Я же не переводчик какой то там, который должен знать на 100% оба языка?</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Sun, 01 Feb 2026 01:16:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163057#p163057</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163042#p163042</link>
			<description><![CDATA[<p>Для монитора состояния RAID1 на контролёре ASM1061R, я использую софтину от&nbsp; ASMEDIA (см пост выше, там она выложена). Но она не запускается в автозапуске в моей ОС (см самый первый пост). Приходиться руками. Что бы она запускалась в автозапуске при заходе в вин, нужно её включить в &quot;планировщик заданий&quot;. он чётко срабатывает запуск прог от админа, не привлекая вниманием, на себя с помощью UAC окна на подтверждение на запуск.<br />Как туда установить, найдите в иннете. Там всё просто.<br />.. Да , и ещё.<br />Если будите искать драйвера сами то ищите по <br />VEN_1B21&amp;DEV_0622&amp;SUBSYS_10601B21 --&gt; (ASM1061R)<br />У ASM1061 другой DEV, (VEN такой же)<br />И поэтому софтина от ASMEDIA его не видит. Она заточена именно под <br />VEN_1B21&amp;DEV_0622, о чём там и пишет в окне мониторинга по RAID1.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Wed, 21 Jan 2026 17:13:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163042#p163042</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163039#p163039</link>
			<description><![CDATA[<p><strong>СОН и защита ssd (uwfmgr.exe)</strong><br />Столкнулся с проблемкой.<br />Когда установил софтовый RAID1 от карты ASM1061 (расширитель на 2-а порта по SATA3 не RAID), то скачал с <br /><a href="http://хххs://www.station-drivers.com/index.php/fr/component/remository/Drivers/Asmedia/ASM-106x-Sata-6G-Controller/Drivers/Asmedia-ASM-1x6x-Sata-6G-controller-Drivers-Version-3.3.5.0-WHQL/lang,fr-fr/<br />">хххs://www.station-drivers.com/index.ph … ng,fr-fr/<br /></a><br />для него драйвер . Он установил, сразу драйвер и для ASM1061R.&nbsp; <br /><span class="postimg"><img src="https://allwebs.ru/images/2026/01/21/9736860a289b37179d6f6c7fa029ae4f.jpg" alt="https://allwebs.ru/images/2026/01/21/9736860a289b37179d6f6c7fa029ae4f.jpg" /></span><br />И жил не тужил. До установки карты ASM1061 (расширитель на 2-а порта по SATA3 не RAID), у меня СОН и наличия самого драйвера на ASM1061R не возникало проблем. Короче. При установки карты ASM1061R, и запуске проги &quot;ASMEDIA RAID Manadger&quot;, сразу устанавливается драйвер для него (см скрин) со словом RAID. И СОН работал как часы. А при установки карты ASM1061 (расширитель на 2-а порта по SATA3 не RAID), то драйвер не виден был. Решил установить (см линк). Установил, и появился 2-а драйвера , один не RAID , второй RAID.<br />И вот тут появились проблемы. Синий экран смерти после просыпа из сна. ОС не страдала, чётко RAID1 срабатывал. А вот синий экран смерти не понравился. В нём были написаны строки типа </p><div class="codebox"><pre><code>&quot;FLTMGR.SYS&quot;</code></pre></div><p>.<br />Удалил драйвер с помощью &quot;панель упр-&gt;программы и компоненты&quot;. Тогда в диспетч. устройств, пропали драйвера не только от ASM1061 но и от ASM1061R (см скрин). Сон при этом конечно пахал на ура. Но тогда при загрузке в ОС и при выборе любого диска из 1трб раида1 (у меня пространство разбито на 4 раздела и каждый имеет свою букву диска), сразу инициализировались все буквы дисков. при этом сразу открывалось 4-е окна проводника, как будто я вставлял 4-е флешки. Т.е. получается что без драйвера ОС с защитой, не может сразу закишировать все диски.<br />Пришлось опять устанавливать драйвер (см линк), и уже в дисптч. устройств удалять только драйвер с ASM1061 (без RAID). При этом остался драйвер ASM1061R с RAID. И после этого СОН и проводники с инициализацией дисков работают как часы и при наличии драйвера в диспетчере устройств на ASM1061R. <br />ВЫВОД? Не надо устанавливать драйвер ASM1061 от см выше линк.<br />Т.е. установили карту с ASM1061R, запустили софт на RAID от ASMEDIA и этого хватит, что бы полноценно работать с картами ASM1061 и с софтовым RAID и с защитой SSD.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Wed, 21 Jan 2026 05:04:05 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163039#p163039</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163038#p163038</link>
			<description><![CDATA[<p>решил использовать те 1-а свои hdd, которые ранее стояли в компе. Которые я заменил на ssd.<br />Знаю что если&nbsp; взять диск, который ранее использовался, в &quot;пространстве&quot;, и его подключить к компу<br />то он отобразит себя как пространство, с предупреждением, что не хватает ещё дисков.<br />Т.е. в hdd прописывается внутри инфа, которая заставляет, другие ОС-ы и компы, видеть это &quot;пространство&quot;.<br />Т.к. ОС отображает его как &quot;пространство&quot;, то в </p><div class="codebox"><pre><code>diskart</code></pre></div><p> он не виден, и его можно увидеть только в &quot;дисковое пространство&quot;<br />А удалить, его от туда не просто. Надо что бы ОС стёрло в нём инфу о пространстве, при этом оставила всю юзерную инфу на hdd.<br />Как его удалить, вы знаете (чит. выше посты).<br />Но есть ещё способ. Виктория. тоже описан выше.<br />Но если использовать Виктория, тогда юзерная инфа стирается вместе с пространством.<br />Поэтому ЕСЛИ ВЫ ХОТИТЕ ОСТАВИТЬ СВОЮ ИНФУ НА ДИСКЕ, ТО ДЕЛАЙТЕ ВСЁ ПО УМУ в &quot;пространстве&quot;.<br />При этом когда диск удалиться из пространства, то инфа на нём вся сохраниться. Но при этом все данные о пространстве с этого диска исчезнут. <br />Это как &quot;разделить зеркало&quot;, в управлении дисками.<br />И вот когда я подцепил свои вынутые hdd, я получил полностью отдельные 2-а зеркальные диска. И теперь могу с ними делать что угодно.<br />И ещё заметил странность. После того как я этот hdd очистил в </p><div class="codebox"><pre><code>diskpart --&gt; clean</code></pre></div><p>, я его не смог в упр дисками, форматнуть в ReFS,<br />ОС предложила только в NTFS. А вот уже после NTFS, она предложила повторно форматнуть в ReFS.<br />...</p><p>И ешё. <br /><strong>Делать или нет резервную копию данных программного RAID?<br /></strong><br /></p><ul><li><p>Пишут и знаю, что когда накрывается RAID, на контролёре (например как у меня ASM1061R), или мама в которой стоял этот контролёр.<br />И если он не RAID0, то данные с него можно получить в 100% виде через USB переходник. Безо всех лишних процедур типа &quot;разделить зеркало&quot;.<br />Я проверял, работает. При этом не факт, что если накрывается мама с контролёром, то этот RAID будет виден в другой маме. При накрытии ОС, тут всё понятно. RAID на контролёре и с ним ничего не случается при потере ОС.<br />И если в RAID имеются 2-е копии, то нафига ещё нужна &quot;резервная копия&quot;?</p></li></ul><ul><li><p>И даже когда RAID софтовый, то он не пропадает при потере ОС. Его суй в другую ОС и он виден и доступен полностью на 100%</p></li></ul><p>Я лично отказываюсь от наличия ещё резервной копии</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Wed, 21 Jan 2026 02:41:33 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163038#p163038</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163032#p163032</link>
			<description><![CDATA[<p><strong> ASM1061R</strong><br />1-ое. Надо точно вам узнать, поддерживает ли ваша мама режим загрузки legacy (в простонародии MBR загрузку как в старых мамах). Именно поэтому ЭТИ старые контролёры, такие дешёвые, по этой причине. Контролёры с загрузкой по шине PCI в режиме UEFI стоят неимоверных денег, сравнимо со стоимостью ssd в 1 трб. <br />Откройте свой мануал (инструкцию) на маму, и ищите слово «legacy». Но возможно именно сейчас ВЫ не найдёте у себя этот режим на маме, а в мануале есть. Очень советую сходить на сервер мамы, и скачать новую прошивку на BIOS мамы. Возможно этот режим у вас появится. Но например у меня, этот режим на маме «Gigabyte» описан, но выйти я на него не мог очень долго. Помог случай. Короче. Обычно во всех мамах, этот режим сопровождается выставлением некое алгоритма установок. Если его придерживаться, то в маме появиться этот злосчастный «legacy». <br />И ещё. Это очень важно. В основном, все и накалываются на том что они суют плату RAID в PCI, а на экране не могут получить, заход в её BIOS. Что и есть у меня на маме «Gigabyte». У меня «Celeron» (3,5гц на 2-ух компах на разных мамах), а значит в нём встроена графика. И поэтому я покупал самую дешёвую маму именно со встроенной графикой. И в мануале по маме «Gigabyte» сказано.--&gt;</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
IO Ports 
&amp; Initial Display Output
Speciies the irst initiation of	the monitor display from the installed PCI Express graphics card or the	onboard	
graphics.
(Note)
 Sets the onboard graphics as the irst display.
------ что в переводе означает -------
Порты ввода-вывода
и начальный вывод изображения
Указывает на первое включение монитора с установленной видеокарты PCI Express или встроенной графики.
(Примечание)
Устанавливает встроенную графику в качестве первого дисплея.
------------
</code></pre></div><p> Поэтому если я сую в PCI что либо, то мама засекает что там что то стоит. И я указываю в BIOS что грузиться надо с PCI, то вывод на экран мама выводит на PCI шину, подразумевая, что там находиться видеокарта. Отключая при этом HDMI и VGA порты, которые встроены в маму.&nbsp; Т.е. я на экране вижу картину «Малевича», бился головой об клаву, не помогло, чёрный экран хоть тресни. И этот «эффект» Малевича, присутствует у всех, у кого мамы заточены, по современному, на режим загрузки UEFI. ПОЧЕМУ? Потому что загрузка в режиме MBR. Короче. Что бы загрузилась ОС через PCI надо что бы в PCI была загрузочная «флешка». Эта «флешка» (встроенная память) есть у ASM1061R. И там прописан загрузчик в BIOS контролёра, в котором присутствуют установки режимов RAID. При этом этот загрузчик, заточен под стандарт режимов загрузки какой есть во всём мире. А какой самый старый режим загрузки? Правильно MBR. Поэтому что бы попасть в BIOS контролёра ASM1061R, надо иметь :<br />1-	Режим «Legacy», в BIOS-е мамы<br />2-	Вывод изображения на внешний порт монитора. Хотя во второй моей мамы (MSI), есть напрямую режим «Legacy», без каких либо квестов, как в маме «Gigabyte». И поэтому MSI мама при заходе в BIOS контролёра выдаёт мне картинку, по шине VGA, при этом отключая порт HDMI. Но т.к. я изначально сижу на этом порту (VGA), то сразу засёк этот нюанс и смог выйти в BIOS контролёра сразу после вкл компа. «Cntr+R» внизу экрана написан заход в BIOS. При этом картинка логотипа с параметрами контролёра высвечивается там 1,5 сек, в ожидании того что юзер будет нажимать комбинацию этих клавишь.<br />На маме с заходом в BIOS контролёра,&nbsp; этого нам не надо, и я вам советую ЭТОЙ фигнёй не заниматься. Будем юзать графический интерфейс установок RAID в контролёре ASM1061R. Там всё просто и «…поймёт не только дворник, но даже карапуз (R)». Короче, в конце концов, я пролетаю на маме «Gigabyte», этот режим захода в BIOS за 2-е сек, с чёрным экраном. А т.к. у меня стоит ещё и расширитель по шине SATA на второй шине PCI с контралёром&nbsp; ASM1061(без R). Купленные (2-е шт) на алике за 450р. То ещё увеличивается время загрузки на 1 минуту. В маме MSI, я эти все контролёры&nbsp; (их параметры и режимы) вижу сразу при вкл компа, и только после прошествии 3ё-х минут вижу логотип мамы MSI. Т.е. загрузка PCI первична, во всех мамах (в зависимости от установок в BIOS-е мамы). Кстати, на маме MSI расширитель PCI по SATA сразу мне показал, что мои HDD не все имеют SATA3. Этот нюанс с видеокартами, я вам обязан был расписать, что бы вы не думали, что у всех работает RAID а у вас нет. У всех мам которые новые, и изначально с завода имеют режим UEFI, те все будут иметь экран Малевича. Но если в этих мамах установлены видеокарты, то&nbsp; Малевича не будет, а будет выход на BIOS контролёра RAID. У всех старых мам для которых режим загрузки UEFI был получен методом прошивки BIOS мамы, те все будут иметь сразу выход на BIOS RAID контролёра. Вот такие вот нюансы.<br />Я буду рассказывать вам тут загружаться в ОС не заходя в BIOS&nbsp; &nbsp;<br /> RAID. Что в начале вы поимеете? Как только вставите в маму контролёр, то при вкл. компа, у вас будет 2-а варианта развития событий:<br />1-	Малевич, до конца 21 века и с продолжением на 22 век.<br />2-	Выход на логотип BIOS контролёра, ожидание 1,5 сек (ничего не нажимая), и вы будите загружены в свою ОС (попадёте в меню, которое вы сами сделали с vhdx).</p><p>У этих 2-ух вариантов, тоже есть подпункты:<br />a)	Нет внешней графической видеокарты.<br />b)	 Есть внешняя графическая видеокарта<br /> У тех у кого нет, внешней графической видеокарты, те будут любоваться шедевром Малевича. Как например и я. Из-за жадности своей не имею внешней, видеокарты. Но на Малевича я созерцаю всего то 1,5 сек. А потом вылетаю на логотип Gigabyte на 2 сек. А уже потом на&nbsp; своё сделанное мной меню загрузок закладок. На маме MSI , весь процесс, загрузки происходит исключительно со всеми переборами, всех PCI карт и их BIOS-ами, + логотип мамы MSI, а уже потом вылетаю на своё меню по закладкам. Вот и вся разница по загрузкам на разных мамах.<br />Упрежу. ВСЕМ советую сразу перепрошить BIOS мамы на самую новую прошивку, что бы отбросить все нюансы по загрузчикам. Так. Вроде всё разъяснил, по поводу Малевича. <br />Дальше у меня в мануале по маме Gigabyte сказано:<br /></p><div class="codebox"><pre><code>
PCIe 1 Slot Sets the graphics card on the PCIEX16 slot as the irst display.(Default)
 This item is conigurable only when CSM Support is set to Enabled.
CSM Support
Enables or disables UEFI CSM (Compatibility Support Module) to support a legacy PC boot process.
Disabled  Disables UEFI CSM and supports UEFI BIOS boot process only. (Default)
---------- Перевод--------
Слот PCIe 1. Устанавливает видеокарту в слоте PCIEX16 в качестве первого дисплея. (По умолчанию)
Этот параметр можно настроить только в том случае, если для параметра «Поддержка CSM» установлено значение «Включено».
Поддержка CSM
Включает или отключает UEFI CSM (модуль поддержки совместимости) для поддержки процесса загрузки устаревшего ПК.
Отключено. Отключает UEFI CSM и поддерживает только процесс загрузки UEFI BIOS. (По умолчанию)
--------
 </code></pre></div><p>Вот именно этот режим у меня на маме, заставляет появляться Малевича. Т.е. тут главная надпись имеет слова «Включает или отключает UEFI CSM (модуль поддержки совместимости)»<br />Т.о. получаем квест логику алгоритма. Чтобы поиметь MBR (Legacy), мне нужно обяза включить CSM режим, при этом естественно будет отключён UEFI загрузка от BIOS-а, + отключиться сразу внешняя видеокарта, и видео будет перенаправлено на шину PCIх16. Что тут не понятно?<br />Почему я так зациклился на MBR, расскажу позже. Пока разберёмся с мамой. У меня режим CSM есть в 2-ух местах. В 1-ом мете он виден сразу, и там просто – enable/disable. При этом я выставляю, его как «enable», а мама всё равно его после вкл компа выставляет в «disable». И из-за этого нюанса, я так и не смог загрузиться с контролёра в установленную там в ssd ОС. Мама постоянно меня загружала только UEFI. И ни в какую не хотела грузиться с MBR загрузчика. <br />Во 2-ом месте, где прописан CSM, он запрятан (настоящий квест). Вот что написано по этому поводу в мануале.<br /></p><div class="codebox"><pre><code>
Disabled      Disables UEFI CSM and supports UEFI BIOS boot process only. (Default)
   Enabled      Enables UEFI CSM.
Storage Boot Option Control
  Allows you to select whether to enable the UEFI or legacy option ROM for the storage device controller.
   Do not launch    Disables option ROM.
   UEFI        Enables UEFI option ROM only.
   Legacy      Enables legacy option ROM only. (Default)
	 This	item	is	conigurable	only	when	CSM Support is set to Enabled.
  &amp; Other PCI devices
  Allows you to select whether to enable the UEFI or Legacy option ROM for the PCI device controller other 
than the LAN, storage device, and graphics controllers.
   Do not launch    Disables option ROM.
   UEFI        Enables UEFI option ROM only. (Default)
   Legacy      Enables legacy option ROM only.
	 This	item	is	conigurable	only	when	CSM Support is set to Enabled.
---------------- перевод ----------
Отключено Отключает UEFI CSM и поддерживает только процесс загрузки UEFI BIOS. (По умолчанию)
Включено Включает UEFI CSM.
Управление параметрами загрузки хранилища
Позволяет выбрать, следует ли включить UEFI или устаревшее ПЗУ для контроллера устройства хранения данных.
Не запускать Отключает ПЗУ параметров.
UEFI Включает только ПЗУ параметров UEFI.
Legacy Включает только устаревшее ПЗУ параметров. (По умолчанию)
Этот параметр можно настроить только при включенной поддержке CSM.
и другие устройства PCI
Позволяет выбрать, следует ли включить UEFI или устаревшее ПЗУ параметров для контроллера устройства PCI, отличного от контроллеров LAN, устройства хранения данных и графического контроллера.
Не запускать Отключает ПЗУ параметров.
UEFI Включает только ПЗУ параметров UEFI. (По умолчанию)
Legacy Включает только устаревшее ПЗУ параметров.
Этот параметр можно настроить только при включенной поддержке CSM.

---------

</code></pre></div><p>По простому, это звучит так. Если «тут» выставить CSM вкл. то можно грузиться из встроенной памяти ROM контролёров которые стоят в PCI платах или же в NET сети.<br />А что это означает, когда звучат такие слова как «CSM» и «Legacy» привязанные к памяти ROM контролёров которые стоят в PCI шине? А то что в ROM памяти этих контролёров стоят загрузчики MBR, прототипа загрузчика дискеты WinPe.<br />И поэтому что бы мне загрузится с контролёра ASM1061R, с установленных там ssd c ОС, мне обяза нужно выставить маму, в режим загрузки, в режиме MBR («Legacy»). Тогда мама полезет сразу в PCI шину, и будет ТАМ искать загрузчик MBR. А контролёр ASM1061R который стоит там и только и ждёт кто его спросит по стандарту «MBR» отвечает, «Я тут!!!» и подсовывает маме, свои установленные в него ssd. И только тогда ОС начинает грузиться с этих SSD.<br />Вот такой вот квест с этими мамами и контролёрами. Есть конечно и свежие контролёры с UEFI, но они не для меня, у меня нет таких денег. Я все деньги потратил на яхты, себе и жене, с детьми. Из сказанного выше, вы должны понять, что загрузчик, в SSD должен быть на MBR дисках, а не на UEFI. Вот почему у меня получается, что я гружусь в MBR, а имею диск «С» UEFI (потому что vhdx у меня UEFI, лежащий в ssd который MBR).<br /> Короче. Чтобы мама запомнила, что мне нужно установить <br />«навечно»&nbsp; CSM вкл, я должен ещё и в другом месте установить что мол я хочу что CSM вкл. Но эта строка появляется только тогджа когда я выствляю в меню BIOS-а <br /></p><div class="codebox"><pre><code>
Secure Boot
 Allows	you	to	enable	or	disable	Secure	Boot	and	conigure	related	settings.	This	item	is	conigurable	only	
when CSM Support is set to Disabled.
----- перевод -------
Безопасная загрузка
Позволяет включить или отключить безопасную загрузку и настроить связанные с ней параметры. Этот параметр настраивается только
когда для параметра «Поддержка CSM» установлено значение «Отключено».
---------
</code></pre></div><p>Т.е. в начале я должен вкл. «Secure Boot», только после этого появиться добавочные меню (как в игре с квестами, где открываются секретные комнаты), в которых доп. Выставляются параметры по ROM PCI шине, и можно только после этого выставить CSM, что бы мама запомнила.<br />Это я вам&nbsp; так подробно рассказал, что бы вы не отчаивались. И внимательно изучили свою маму.<br />1-	В начале «Secure Boot»<br />2-	Потом «CSM»<br />3-	Потом «Legacy»<br /> Приступим к самой плате PCI.<br />С ней тоже не так всё просто. Все привыкли, что когда на плате есть некие перемычки, то они обяза на что то влияют. А вот на этой плате не так. И поэтому все натыкаются на глухую стену, пытаясь загрузиться в BIOS переставляя ЭТИ перемычки. Но как вы все поняли от них загрузка не влияет.</p><p>Надо приобрести PCIe карту с контролёром&nbsp; ASM1061R. Я брал на авито, за 500р. Ребята тормошили компы, пришедшие к ним на заказ в фирму, а в них в комплектации были эти карты. Т.е. муха не садилась. И ОНИ их выставили на авито. Ищите те, которые продаются БЕЗ CD-rom. Всё драйвера и проги вы скачаете сами. Главное цена вопроса. У меня мамы обе имеют выставлялку по шине PCI в режимах GEN-2 и GEN-3. В той маме у меня , где есть режим GEN-3, карта выставилась с поддержкой режима GEN-2, хотя я выставил принудительно в маме режим GEN-3. На сайте производителя он заявлен как «ASM1061R | PCIe Gen2 x1 to 2 Ports SATA 6G III RAID» что соответствует скоростям по шине PCI как SATA3 6G <br /><a href="xxx://www.asmedia.com.tw/Web2/product/9daYQ10sxaHh0tXD/8A0yQ9Fsx6HuAsY2.html">xxx://www.asmedia.com.tw/Web2/product/9 … uAsY2.html</a><br /> <span class="postimg"><img src="https://avatars.mds.yandex.net/i?id=387c0944ae55c00fa7beb8c1c5421cc516748353-5339460-images-thumbs&amp;n=13" alt="https://avatars.mds.yandex.net/i?id=387c0944ae55c00fa7beb8c1c5421cc516748353-5339460-images-thumbs&amp;amp;n=13" /></span><br />Поэтому обяза слазейте в BIOS своей мамы и найдите у себя ЭТУ выставлялку, иначе не получите нужных скоростей по SATA через PCI шину. На картинке, вы видите те самые перемыки.<br /> <a href="http://market.yandex.ru/card/kontroller-pcie-x1-v20-asmedia-asm1061r-2-x-sata-sata-30-6gbs-raid-orient-a1061raid/102397957429?do-waremd5=y-SniRGHbrPzgxvZmvFN1w&amp;clid=703&amp;ogV=-10">market.yandex.ru/card/kontroller-pcie-x … mp;ogV=-10</a><br />Которые стоят ближе к железной планке, и сверху которых, нарисована таблица, параметров выставления их в разные режимы. Нам в самом начале нужно только одна вытсавлялка ИХ, все перемыки стоят в сторону железной планки. В таблице на плате этот режим обозначен как AHСI режим.<br /><span class="postimg"><img src="https://avatars.mds.yandex.net/i?id=e32dc7dd26aee54a499a2851d45d42783de0f80c-12450907-images-thumbs&amp;n=13" alt="https://avatars.mds.yandex.net/i?id=e32dc7dd26aee54a499a2851d45d42783de0f80c-12450907-images-thumbs&amp;amp;n=13" /></span>.<br />Что делаем? <br />1-	На котролёре проверяем чтобы перемыки стояли в режиме AHСI<br />2-	Вставляем шланги к портам на контролёре SATA. <br />3-	Подписываем эти шланги (со стороны SSD дисков) как ПОРТ 0 и ПОРТ 1 (скотчем), относительно надписей их на плате контролёра. Когда будет сбой, скажите мне спасибо что заранее посоветовал соломку подстелить. <br />4-	Вставляете в маму PCI контролёр.<br />5-	Цепляете, к шлангам SATA чистые/грязные SSD 2-е шт.<br />6-	На маме в BIOS-е, выставляете загрузку с PCI «Legacy» (или MBR)<br />7-	Вставляете в USB3 свой ранее сделанный загрузочный vhdx. Но можно и оставить и в SATA, без разницы. Всё равно нужно будет грузиться в ОС или из SATA или из USB3. Главное это нам нужна ОС.<br />8-	В ОС загружаете где либо прогу.<br /></p><div class="codebox"><pre><code>
asmedia_RaidMan_3.130.zip (size=1752kb)
Я качал из station-drives.com
</code></pre></div><p>--- и описание проги ------<br /><a href="http://хххх://ableconn.com/upload/RaidManagerTool_Engilsh%20v3.130v2.pdf">хххх://ableconn.com/upload/RaidManagerT … .130v2.pdf</a><br />9-	Прога не установочная. Сразу засекает вашу карту и… видит что у вас стоят 2-а SSD. Поэтому сразу предупрежу. Ставьте 2-а SSD сразу. В проге жмёте «MODE CHANGE» (см описание в PDF). Там выставляете режим «Normal», при этом ставите галки напротив ваших ssd дисков (которые справа). Жмёте «EXECUTE». Прога запустит графическое окно с&nbsp; двигающей полоской, индикатором процесса. Т.е. эта карта пометит себе что у неё стоят 2-а SSD, при этом она подгрузит сразу к вам в ОС свои драйвера к ней. Эта софтина служит для установки параметров RAID и монитора его. Этот процесс (разметки SSD в AHСI моде) всегда необходим при&nbsp; первой инициализации SSD. При этом ЭТА первая инициализация происходит только тогда когда на карте установлены перемыки в режим AHСI. Иначе вы будите получать фигу с маслом.<br />Эта прога заменяет полностью режим захода в BIOS контролёра при вкл компа. И с помощью её можно без проблем настроить все RAID режимы. + она мониторит процесс состояния дисков <br />10-	После этого как прога покажет что ваши SSD «GOOD», опять заходите в «MODE CHANGE» и уже там метите RAID1. И опять жмете&nbsp; «EXECUTE». После этого прога вам должна показать статус RAID1 и напротив всех SSD «GOOD». После этого можете ставить в плате пермыки как RAID1. И они будут служить вам только как защита от дурака. Т.е. уже никакие установки в BIOS-е контролёра или в этой проге не смогут повлиять на установки RAID. Т.е. это своеобразная защита от дурака, вот что означают эти перемыки.</p><p>Всё. С контролёром закончили. Перейдём к установке в эти SSD ОС win10. Т.к. контролёр требует загрузчик, MBR, то мы обязаны изготавливать диски в режиме MBR, иначе мы не сможет загрузиться с них. Поэтому что бы нам упростить задачу индификации, этого RAID1 , предлагаю упр.комп упр дисками-&gt; ищем диск под именем «ASMT106x_V0Safe». Это имя можно увидеть если вы справа напротив диска нажмете пркнмыши -&gt; свойтсва. Там вверху будет написано имя диска. Если вы в проге выберите установить RAID0 , то имя будет «ASMT106x_V0Speed».<br />Инициализируете этот диск как MBR, делаете ему раздел во всё пространство, и форматирует, и даёте ему имя «RAID1». Нафиг ЭТО надо? Потом поймёте.<br />Загружаемся, с флешки WinPE, и там пишем.<br /></p><div class="codebox"><pre><code>
Diskpart
lis vol
[i] У вас будет список букв дисков и их имена. И вы увидите вашу  метку «RAID1». Предположим что эта метка «RAID1» имеет том под номером 2. Пишем [/i]  
Sel disk 2
[i] Этим способом выбора диска через метку, гарантирует вам что вы не попортите другой ваш диск, а выберите именно ваш новый SSD RAID1. Пишем [/i]
Clean
Convert mbr
create partition primary size=100
format quick fs=fat32 label=&quot;SYSTEM&quot;

[i] Вот тут мне надо пояснить вам. В стандартном варианте, файловая система в загрузчике MBR форматируется в NTFS. Если его форматнуть в NTFS то вы не сможете делать полноценные меню  к закладкам. Поэтому что бы мне обеспечить изготовление меню по закладкам я форматирую в файловую сиcтему загрузчик в  FAT32 . Пишем [/i]
assign letter=&quot;S&quot;
active
create partition primary
format quick fs=ntfs label=&quot;RAID1&quot;
assign letter=&quot;Y&quot;
lis vol

[i] Ищите свой диск SSD в котором лежат ваши файлы VHDX (первая мама «w10.vhdx» и МЕНЮ «boot_menu.vhdx»). Предположим они лежат на диске «F» Пишем [/i]
exit

[i] Копируем чистую маму с w10 [/i]
copy     f:\ w10.vhdx    Y:\ w10.vhdx
[i] Копируем закладку от мамы «МЕНЮ» [/i]
copy     f:\ boot_menu.vhdx    Y:\ boot_menu.vhdx

[i] После того как всё скопируется, пишем [/i]
 
diskpart
sel      vdisk      file     Y:\ boot_menu.vhdx
attach
lis  vol 
[i] Ищите свой диск который имеет метку сделанную вами ранее при развороте win10 в vhdx файл «w10_vhdx».  Предположим он имеет букву «D» Пишем [/i]
exit

cd    /d     d:\windows\system32
bcdboot
bcdboot   d:\windows   /s    S:
bcdboot   d:\windows   /s    S:  /f    BIOS
[i] Прога напишет что она записала загрузчик. [/i]
</code></pre></div></div></div><p>ВСЁ. ВЫКЛ комп. Вытаскивайте, флешку. И вытаскивайте тот ваш SSD в котором вы делали ранее vhdx файлы. Но можете его оставить, для того что бы с него скопировать остальные ваши закладки в SSD RAID1. Но тогда для того что бы загрузиться с RAID1, нужно вам будет нажать F11/F12, что бы выбрать диск RAID1 для загрузки. Т.к. при первой загрузке в RAID1 у вас нет меню, то вы сразу попадёте в закладку «МЕНЮ», в которой можете уже копировать все остальные закладки и мамы на диск RAID1 из SSD. И делать тут меню загрузки. Но это произойдёт ЕСЛИ ВЫ ВСЁ В BIOS-е мамы выставили правильно.<br /> При первом впечатлении вам будет казаться что RAID1 очень медленный. Но это потому что при инициализации RAID1 и при изготовлении вами там основного раздела вы форматировали ускоренно. Поэтому постепенно контролёр в фоне будет там форматировать и оптимизировать сам этот RAID1. И вы через 2-4 раза увидите уже нормальную быстрою работу в ОС.</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Thu, 15 Jan 2026 03:18:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163032#p163032</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163026#p163026</link>
			<description><![CDATA[<p>дополню. Как то работая в защитной закладки, &quot;увидел&quot;, что мне надо исправить что то там. Можно это сделать командой </p><div class="codebox"><pre><code>commit</code></pre></div><p> а можно использовать преимущества закладок.&nbsp; Я пока работая в другой закладке, подключаю закладку с защитой и там в открытой винде ищу тот нужный файл (мне нужен был файл &quot;hosts&quot;). Меняю его на другой, и теперь в защитной закладке, у меня совершенно другой файл.<br />И написал код на VBS который переделывает этот файл, с чистого на заполненный, и наоборот.<br />А что бы я знал в какой варианте этот файл сейчас находиться меняю у него иконку. И по ней вижу, в какой версии сейчас находиться файл &quot;hosts&quot;. Это мне нужно для того что, например на сайте алика, нужен чистый hosts, там много они чего поносували в нём, и что бы не было гемора, я на случай захода на такие ответственный сайты, меняю им файл &quot;hosts&quot;.<br /></p><div class="codebox"><pre><code>
Option explicit
Dim fso,file,WshShell,Shortcut
dim DesktopPath,Lnk_Title,IconPath
Dim norm_ ,big_,smal_
norm_=&quot;C:\Windows\System32\drivers\etc\hosts&quot;
big_=&quot;C:\Windows\System32\drivers\etc\hosts1234&quot;
smal_=&quot;C:\Windows\System32\drivers\etc\hosts123&quot;
&#039;====================================
&#039;rem hosts1234- размер 289 заполненый
&#039;rem hosts123- чистый
&#039;=======================================


Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)  
Set file = fso.GetFile(&quot;C:\Windows\System32\drivers\etc\hosts&quot;)  
  
Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)  
DesktopPath = WshShell.SpecialFolders(&quot;Desktop&quot;)  
Lnk_Title = &quot;\HOSTS.lnk&quot;  
Set Shortcut = WshShell.CreateShortcut(DesktopPath &amp; Lnk_Title)  

if file.Size &gt; cint(4000) then &#039; проверяю, чистый он или заполненый
&#039;rem hosts1234- размер 289
&#039;rem hosts123- чистый
 fso.MoveFile norm_ , big_
 fso.MoveFile smal_ , norm_
    

IconPath = &quot;%SystemRoot%\System32\SHELL32.dll,20&quot;  

  else
&#039;rem hosts1234- размер 289
&#039;rem hosts123- чистый

 fso.MoveFile norm_ , smal_
 fso.MoveFile big_ , norm_
fso.CopyFile norm_, &quot;E:\09_10_2023\hosts&quot; , true  &#039; копирую сразу заполненный , в buckup место, потому что в процессе работы я его заполняю.

IconPath = &quot;%SystemRoot%\System32\SHELL32.dll,54&quot;



end if

Shortcut.TargetPath=&quot;C:\SOFT\hosts.vbs&quot; &#039; тут лежит у меня в маме, этот скрипт


Set file = Nothing  
Set fso = Nothing  


Shortcut.WorkingDirectory = &quot;C:\SOFT&quot;  
Shortcut.WindowStyle =4 &#039;3 7
Shortcut.IconLocation = IconPath  
Shortcut.Save  

Set Shortcut = Nothing
Set WshShell = Nothing
</code></pre></div><p>Если с размер вашего наполненного файла &quot;hosts&quot;, меньше чем 4000 байт, то у вас скрипт не будет ничего менять. А вот когда вы его чем то заполните, что бы он имел размер &gt; 4000 байт, то тогда увиде всё преимущество этого скрипта.<br />Когда первый раз нажмете на выполнения скрипта, он вам создаст ярлык на рабочем столе. <br />И в дальнейшем, просто нажимая на выполнение этого ярлыка, скрипт, будет вам менять файл &quot;hosts&quot;, и менять свою иконку относительно версии этого файла.<br />...<br />UAC вам е позволит с этим файлом ничего сделать. Я у себя весь каталог <br /></p><div class="codebox"><pre><code>C:\Windows\System32\drivers\etc\</code></pre></div><p>, в безопасности, сменил владельца на себя.<br />И поэтому делаю там с файлами что хочу. без вопросов. Конечно можно добавить код админа в скрип, но тогда ярлык будет у вас кажен раз спрашивать...<br />Если ВАМ так удобнее с секурити, то вот вам добвочный код с этим админной работой.<br /></p><div class="codebox"><pre><code>
Option explicit

&#039;=========== запуск от админа скрипта
Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
If WScript.Arguments.Length = 0 Then
  Set ObjShell = CreateObject(&quot;Shell.Application&quot;)
  ObjShell.ShellExecute &quot;wscript.exe&quot; _
    , &quot;&quot;&quot;&quot; &amp; WScript.ScriptFullName &amp; &quot;&quot;&quot; RunAsAdministrator&quot;, , &quot;runas&quot;, 1
  WScript.Quit
End if
&#039; ===================================================================
Dim fso,file,WshShell,Shortcut
dim DesktopPath,Lnk_Title,IconPath
Dim norm_ ,big_,smal_
norm_=&quot;C:\Windows\System32\drivers\etc\hosts&quot;
big_=&quot;C:\Windows\System32\drivers\etc\hosts1234&quot;
smal_=&quot;C:\Windows\System32\drivers\etc\hosts123&quot;
&#039;====================================
&#039;rem hosts1234- размер 289 заполненый
&#039;rem hosts123- чистый
&#039;=======================================


Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)  
Set file = fso.GetFile(&quot;C:\Windows\System32\drivers\etc\hosts&quot;)  
  
Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)  
DesktopPath = WshShell.SpecialFolders(&quot;Desktop&quot;)  
Lnk_Title = &quot;\HOSTS.lnk&quot;  
Set Shortcut = WshShell.CreateShortcut(DesktopPath &amp; Lnk_Title)  

if file.Size &gt; cint(4000) then &#039; проверяю, чистый он или заполненый
&#039;rem hosts1234- размер 289
&#039;rem hosts123- чистый
 fso.MoveFile norm_ , big_
 fso.MoveFile smal_ , norm_
    

IconPath = &quot;%SystemRoot%\System32\SHELL32.dll,20&quot;  

  else
&#039;rem hosts1234- размер 289
&#039;rem hosts123- чистый

 fso.MoveFile norm_ , smal_
 fso.MoveFile big_ , norm_
fso.CopyFile norm_, &quot;E:\09_10_2023\hosts&quot; , true  &#039; копирую сразу заполненный , в buckup место, потому что в процессе работы я его заполняю.

IconPath = &quot;%SystemRoot%\System32\SHELL32.dll,54&quot;



end if

Shortcut.TargetPath=&quot;C:\SOFT\hosts.vbs&quot; &#039; тут лежит у меня в маме, этот скрипт


Set file = Nothing  
Set fso = Nothing  


Shortcut.WorkingDirectory = &quot;C:\SOFT&quot;  
Shortcut.WindowStyle =4 &#039;3 7
Shortcut.IconLocation = IconPath  
Shortcut.Save  

Set Shortcut = Nothing
Set WshShell = Nothing
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Wed, 14 Jan 2026 09:55:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163026#p163026</guid>
		</item>
		<item>
			<title><![CDATA[Re: OFF: VBS Не убиваемая windows 10. Делюсь опытом.]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=163025#p163025</link>
			<description><![CDATA[<p>Пришло время насчёт подробностей, «как и что».<br />В настоящее время сделал закладку (я их называю про себя ветку, из-за того что это похоже на ветки от дерева), с защитой <strong> «uwfmgr.exe»</strong> и без. Работаю постоянно с защитой -&nbsp; нареканий нет. Правда пока только на маме Gigabyte, на MSI ещё не ставил защиту. Делаю салазки под RAID1,5, тогда и поставлю и туда. <br />….<br />Начать нужно с самого главного с, vhdx. Но главное всё таки в том, что бы вы не спешили сразу кодить коды, и делать vhdx диск. А в&nbsp; начале прочтите весь абзац (даже без кодов), до параграфа по установки PCI RAID1 контролёра. Там в конце уйма нюансов, которые могут потом повлиять на ваше потраченное время в пустую при вашей спешке. <br />Главная цель. <br />1-Создать основу первого vhdx диска с чистой ОС. <br />2- сделать этот vhdx загрузочным.<br />3- сделать от него первые закладки.<br />4- сделать эти первые закладки тоже загрузочными.<br />5- разобрать нюансы работы vhdx системы с USB3 и работы некоторых контролёров ssd дисков. <br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>Делал vhdx с помощью diskpart (а можно и через «управление дисками»). В начале суём флешку или ssd чистые. Флешку лучше не надо СЕЙЧАС, но в будущем можно будет и флешку. В конце поясню почему. И этот диск ssd предположим имеет номер 2. Номер можно посмотреть в управлении компом-&gt;упр дисками. Запуск ком строки. Через админа. <br /></p><div class="codebox"><pre><code>
diskpart
lis disk
[i] ищем наш чистый SSD диск. Смотрим его номер. пишем [/i]
sel disk 2 - номер вашего диска.
clean
convert gpt
create partition efi size=100
format fs=fat32 quick label=SYSTEM
create partition msr size=128
create partition primary
format fs=ntfs quick label=&quot;SSD_vhdx&quot;
assign letter=D
  
create vdisk file=D:\w10.vhdx maximum=50000 type=EXPANDABLE 
attach vdisk
clean
convert gpt
create partition primary
format fs=ntfs  quick label=&quot;w10_vhdx&quot;
assign letter=M
exit
</code></pre></div><p> У вас будет SSD диск UEFI с загрузчиков SYSTEM. Для загрузки его в режиме UEFI вам нужно посмотреть свойства раздела SYSTEM и скопировать оттуда его GUIDE код. У всех загрузочных UEFI разделов микрософта этот код стандартен.<br /></p><div class="codebox"><pre><code>
{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}
</code></pre></div><p>Т.к. vhdx диск у нас типа GPT (UEFI), то при загрузке, в режиме MBR (у RAID1 PCI&nbsp; контролёра загрузка, только через MBR) потом этот W10 отображается в ОС как UEFI диск и даёт возможность работать с ним как с полноценным GPT диском, как будто рядом нет никаких MBR разделов. Это позволило, этот диск расширять/сужать как настоящий GPT диск. <br />Раздел EFI (см выше код, раздел SYSTEM) это раздел загрузки. Он предназначен только для загрузки в режиме GPT (UEFI). W11 ставиться ТОЛЬКО на такие диски у которых есть этот раздел.<br />Раздел MSR (см выше код. Раздел имеет размер 128 мегов) не форматированный и нужен только для дисков, которые имеют тип GPT. Для дисков MBR этот раздел не нужен. Почему? Потому что этот маленький раздельчик нужен только для одного, для разширения/сжатия дискового пространства. Диски типа MBR этого не могут делать.</p><br /><p>Ставим w10 в наш диск. Для этого подключаем ISO файл с вашей ОС. Предположим у вас этот ISO файл в системе получил букву диска «N». И пишем в ком. строке от админа. <br /></p><div class="codebox"><pre><code>
Dism   /Get-ImageInfo   /ImageFile:N:\sources\install.wim
[i]Если прога напишет ошибку, то пишите так-&gt;[/i]
Dism   /Get-ImageInfo   /ImageFile:N:\sources\install.esd
</code></pre></div><p>Ищем в таблице индексов нужную нам версию w10. Предположим там нам нужна версия под индексом 2. Пишем.<br /></p><div class="codebox"><pre><code>
Dism   /Apply-Image   /ImageFile:N:\sources\install.wim /index:2  /ApplyDir:M:\
[i]Если прога напишет ошибку, то пишите так -&gt;[/i]
Dism   /Apply-Image   /ImageFile:I:\sources\install.esd /index:2  /ApplyDir:M:\
</code></pre></div><p>Подождите, когда прога «DISM» развернёт вам w10 в ваш vhdx диск. В результате у вас будет развернут там полноценный w10, но ещё не установленный, а только setup. Теперь сделаем загрузчик.<br />Выкл. комп. Вставляем флешку WinPE (просто загрузочную флешку). Загружаемся с неё. В ком строке пишем …. В начале нужно переключить клаву на EN раскладку. Левый шифт+альт.&nbsp; Пишем.<br /> </p><div class="codebox"><pre><code>
diskpart
lis vol
[i]ищем букву нашего диска, в котором находится наш vhdx файл. И  кстати ваш этот ssd имеет метку диска «SSD_vhdx» (см выше код). предположим эта буква «D».  Пишем [/i]
sel vdisk file=d:\w10.vhdx 
attach vdisk
lis vol
[i]ищем букву нашего развёрнутого диска, в котором находится наша ОС W10, Обычно такой диск будет последний в списке. Его можно узнать по метке диска «w10_vhdx». Предположим эта буква «H». Пишем [/i]
exit
</code></pre></div><p>В ком строке пишем.<br /></p><div class="codebox"><pre><code>
 cd   /d   h:\windows\system32
[i]система вас переместит в каталог «system32» вашего vhdx диска. пишем и жмем интер[/i]
bcdboot
[i]прога вам покажет весь хелп как правильно писать. Пишем[/i]
bcdboot    h:\windows /m  {c12a7328-f81f-11d2-ba4b-00a0c93ec93b}
</code></pre></div><p>Прога вам должна написать, что загрузчик записан и создан. <br />Строка&nbsp; «{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}» это GUIDE код загрузочного раздела UEFI SYSTEM (см выше коды). При загрузке в режиме MBR , там пишется буква раздела вместо этого кода.<br /> Теперь можете всё позакрывать, выйти и выкл. комп. Оставляете свой ssd или флешку в usb порту и грузитесь. И тут… Короче.<br /><strong>«СОВЕТ N1!!» </strong><br />Vhdx диск делайте в ssd который подключён к SATA. Потом объясню причину. С флешкой пока не связывайтесь. Иначе получите синий экран смерти. <br />Вкл комп и жмёте «F11» (У мамы GIGABYTE «F12»). Выбираете свой ssd и устанавливайте там вашу w10. После перезагрузки не забудьте опять выйти на ваш ssd с помощью «F11/F12» <br /><strong>«Как загружаться с USB, что бы не получить экран смерти?!!» </strong><br />В том экране смерти будет написано, что система не может … короче что то там типа такого «тратарарара…USB…трататата.». Что бы решить проблему надо :<br />0-	Установить винду, что бы там появилась прога «REGEDIT».<br />1-	Загрузиться в ОС через SATA. <br />2-	Запустить «REGEDIT» от админа.<br />3-	Найти ветку.<br /></p><div class="codebox"><pre><code>
 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
</code></pre></div><p>Там параграф «BootDriverFlags»<br />Там параметр этого парграфа, должен равняться в десятичном варианте «28». В HEX варианте «1С».</p><div class="codebox"><pre><code>
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
&quot;BootDriverFlags&quot;=dword:0000001c
</code></pre></div><p>Вообще винда сама может выставить этот флаг, если её устанавливать сразу из USB, Но у нас vhdx диск и поэтому этот вариант не прокатит. Приходиться всё править руками.<br />Это флаг параметра в микросекундах ожидания ОС загрузчика, пока драйвер USB не загрузиться. Иначе синий экран смерти. Но тут есть нюансы. Например, у меня есть ssd с новым китайским контролёром «YS9085N», купленный в 2024 году. Который только в конце 2025 года получил free распространение своей прошивки. Так вот. Этот УРОДЕЦ, выдавал синий экран смерти на всех параметрах этого флага. И только когда я ему сунул параметр 1000 , он стал грузиться с USB. Вывод. ЭТОТ УРОДЕЦ полноценно может работать только с SATA , через USB у него сплошной гемор. Возможно что современные прошивки уже решили эту проблему, но я после того случая стараюсь обходить этот контролёр SSD стороной, не взирая на цену ssd. <br />После установки этого флага, можете вытаскивать свой SSD из SATA и вставлять его в USB3/SATA3 переходник и сувать его в порт USB3. <br />После выбора его через «F11/F12» , можете грузиться через usb хоть W11. По времени загрузки не ощутимо с SATA3.<br />Теперь у вас есть полноценный архив «пустой» вашей W10. И вы можете его переписывать куда угодно и где угодно использовать.<br />Осталось дело за малым. Напихать в него обновления, + установить в него нужные вам проги + активировать его. Активировать w10 советую сразу в пуcтой W10. Что бы все сделанные от него ваши закладки тоже имели уже эту активацию. Учтите, что будет иметь ваша мама то и будет иметь ваша закладка от такой мамы. Но осталось малость ещё. Сделать ветки (закладки) и … прочее, по вашему усмотрению.<br />Я лично в начале использовал SSD 120гиг. Но потом поработав понял, что используя закладки лучше иметь всё таки для ОС 250гиг ssd. Потому что для загрузочных закладок нужна необходимость, расположения «мамы» родителя vhdx в одном и том же месте. Иначе может сработать загрузка или нет 50/50. Поэтому я имею у себя все свои vhdx файлы (включая закладки) на одном SSD.&nbsp; <br />Будем делать первую и самую главную для нас закладку «МЕНЮ».<br />Родитель vhdx у неё будет пустой W10. Эта закладка «МЕНЮ» нам нужна только для:<br />1-изготовления новых vhdx<br />2-проверка vhdx<br />3-правка vhdx<br />4-	Изготовления меню загрузки.<br />5-	И т.д. <br />Для этого нам опять нужно загружаться в WinPE (загрузочная флешка). Дело в том, чтобы сделать закладку МАМА vhdx родитель должен быть «закрыт». Т.е. если мы загрузились в нашу маму w10.vhdx то в нём самом на данный момент времени нельзя сделать от себя же закладку. Этот файл диск должен быть выгружен-закрыт. При этом есть ещё нюанс. Если например от мамы сделать закладку, а потом опять загрузиться в маму и что то там накалякать, то сделанная ранее закладка от такой мамы уже никогда не загрузиться. Поэтому что бы не было таких нюансов с загрузками, всегда все мамы, метят атрибутом «только чтение». Т.е. мамы теперь навечно не редактируемы. Или все закладки летят к праху. В такие vhdx&nbsp; диски с такой пометкой нельзя вообще загрузиться.&nbsp; Поэтому этот нюанс выступает своеобразным антивирусником. Т.е. если ваша закладка не грузиться значит что то там случилось с самой мамой. Или что-то произошло&nbsp; с битым файлом vhdx закладкой. Из-за того что мама всегда стоит не тронутой, то там битый сектор никогда не может организоваться. И лучше такую маму (если она виновата) заменить из ранее записанного backup-а. Благо этот backaup состоит из обычного копирования vhdx файла и всё. Всё остальное остаётся вообще не тронутым.&nbsp; <br />Пишем в ком строке от админа<br /></p><div class="codebox"><pre><code>
diskpart
sel vdisk file=d:\w10.vhdx
compact vdisk
[i] Устанавливаем атрибут на маму файл vhdx «только чтение». Именно поэтому вирусы этой «маме» пофигу.[/i]
attributes disk set readonly
create vdisk file=d:\bott_menu.vhdx parent=d:\w10.vhdx
attach vdisk
lis vol
[i] Ищем букву нашего vhdx диска. У него должен быть метка диска как «w10_vhdx» от мамы. И теперь все при все закладки будут иметь метку «w10_vhdx» и будут иметь 50 гиговый размер. Но этот размер можно в конкретной закладки изменить. Но только уменьшить. Что я вам и советую в МЕНЮ диска сделать. Потому что нам в меню диска нафиг не надо иметь 50 гиг размер. Причём когда разворачивается (загружается) любой vhdx диск он всегда будет иметь размер 50 гиг от мамы. [/i]    
exit
</code></pre></div><p>Далее там же в ком. строке пишем <br /></p><div class="codebox"><pre><code>
Bcdedit   /v
</code></pre></div><p>Появляется таблица. В самой последней таблице ищем строку</p><div class="codebox"><pre><code>
Загрузка Windows
-------------------
идентификатор   {da645bfd-d32e-11f0-aa42-bce30ed9d327}
device   “vhd=C: \w10.vhdx  ……
</code></pre></div><p>Код «{da645bfd-d32e-11f0-aa42-bce30ed9d327}» тут приведён для примера, что бы вы поняли что искать. У вас будет совершенно другой номер. Причём упрежу. Каждый раз когда вы будите делать загрузчик даже на тоже самое железо, этот код всё время будет разный.<br />Копируем этот ваш только этот код (выделяем, и нажимаем интер).<br />Пишем <br /></p><div class="codebox"><pre><code>
Bcdedit  /set    ВАШ_КОД   device vhd=c:\boot_menu.vhdx 
</code></pre></div><p>Должно получиться так<br /></p><div class="codebox"><pre><code>
Bcdedit  /set   {da645bfd-d32e-11f0-aa42-bce30ed9d327}  device          vhd=c:\boot_menu.vhdx 
</code></pre></div><p>Но лучше когда вставите свой код {da645bfd-d32e-11f0-aa42-bce30ed9d327} то лучше скопируйте ещё и строку «device», потому что в этой строке есть не только имя vhdx файла но и его параметр.<br />Например у меня эта строка выглядит так.<br /></p><div class="codebox"><pre><code>
Загрузка Windows
-------------------
идентификатор           {da645bf7-d32e-11f0-aa42-bce30ed9d327}
device                  vhd=[Y:]\boot_menu.vhdx,locate=custom:12000002 
</code></pre></div><p>Вы конечно сами можете добавит строку ,locate=custom:12000002 , но лучше что бы эта строка была точно такая же как у вас, мало ли что?<br />Потом добавьте обяза помимо строки «DEVICE» строку «OSDEVICE»<br /></p><div class="codebox"><pre><code>
Bcdedit  /set   {da645bfd-d32e-11f0-aa42-bce30ed9d327}  osdevice          vhd=c:\boot_menu.vhdx 
</code></pre></div><p>&nbsp; Это тоже самая строка как и с «DEVICE».Единствееное отличие это параметр vhdx диска.<br />У меня он выглядит так.<br /></p><div class="codebox"><pre><code>
osdevice                vhd=[Y:]\boot_menu.vhdx,locate=custom:22000002
</code></pre></div><p> Как видите в конце цифиРЫ другие. Заметьте, я у себя использую букву диска «Y» для того что бы проги не путались с буквами. И ещё. Что бы ssd быстро не вышел из строя, советую отключить в маме сразу файл подкачки. Тогда все при все закладки не будут иметь его изначально. Но если вам вдруг в какой то закладке он нужен то именно в ней можете его включить. <br />Теперь загружаемся в эту закладку МЕНЮ, и устанавливаем там:<br />1-	Hyper-V . Можно через панель упр -&gt; програмы и компоненты-&gt; компоненты виндовс. А можно и через powershell.<br />Разница только одна. Через&nbsp; панель упр устанвливаем всего дин компонент, «Средство управления Hyper-V, графическим интерфейсом». А если через&nbsp; powershell то там придётся ставить всю оснастку целиком. В конце попросит установка перезагрузиться. Перезагружаемся.<br />2-	Ставим free прогу EasyBCD.exe для изготовления меню загрузки.<br />3-	В Hyper-V изготавливаем ещё одну закладку от мамы, для установки туда обновлений. <br />4-	Запускаем сразу EasyBCD и редактируем загрузку. Переименовываем в “МЕНЮ”. Потом добавляем в меню, новую загрузку с нового vhdx файла для обновлений. Обзываем его как угодно.<br />5-	Загружаемся туда, обновляемся.<br />6-	Опять загружаемся в МЕНЮ, и метим этот файл обновлений в проводнике, как «только для чтения» .<br />7-	&nbsp; &nbsp;В Hyper-V изготавливаем ещё одну закладку от этого файла обновлений, для установки туда уже прог. <br />8-	Запускаем EasyBCD и редактируем загрузку. Добавляем в меню, новую загрузку с нового vhdx файла для прог. Старую с обновлениями удаляем из меню. Обзываем его как угодно.<br />9-	Загружаемся в закладку и устанавливаем все нужные вам проги или можно по отдельности в каждой закладке по своей проге. </p><p>10-	Опять загружаемся в МЕНЮ и уже в этот раз можно делать рабочие закладки. При этом метим мамы от них «только для чтения».<br />ВСЁ. При этом эти новые для работы закладки по размеру имеют всего 4 мегабайта. И их можно просто напросто накопировать кучу малу. Что бы не изготавливать в Hyper-V заного.<br />После этого вы можете делать сколько угодно закладок от любой «мамы», от чистой, до последней включая и с обновлений. Короче. Все эти закладки теперь это записанные уровни как в играх. Не нравиться – стёр её , загрузился в чистую и т.д.<br />Теперь про размер vhdx файла. Как видите таких закладок у вас может быть много. А ssd имеет размер. При развороте vhdx диска он будет иметь рамер 50 гиг. (посмотрите диск «С»).&nbsp; Как уменьшить его, например для закладки МЕНЮ? <br />Упр дисками. Выбираем диск «С», в меню выбираем, сжать. Указываем сжать (например) 35гиг. Оставьте лишние гиг 2-5 от конца. Он сожмётся. Вы увидите какой будет новый размер. Но в конце останется не размеченный размер. Вот тут то нам и нужен будет Hyper-V. Запускаем его и там в меню-&gt; изменить диск. Выбираем его и там будет предложено сжать. Сжимаем на нужный размер. Теперь этот vhdx (диск С) всегда будет маленький и не будет сжирать попусту размер с диска SSD.<br />Но тут есть засада. Все операции в&nbsp; Hyper-V с дисками нужно делать с закрытыми дисками vhdx, а мы находимся в МЕНЮ открытом vhdx диске. Для решения этой проблемы, я предлагаю, сделать копию файла boot_menu.vhdx в любой загруженной закладке, когда этот файл закрыт. Переименовать его. Потом загрузиться опять в МЕНЮ, и там его исправить размер , но для этого надо его «подключить», а потом его исправить в упр дисками, закрыть его. Открыть&nbsp; Hyper-V. Там его сжать. Загрузиться в любую закладку. Удалить старый файл boot_menu.vhdx и переименовать сжатый в boot_menu.vhdx.<br />Вот так можно «играться»&nbsp; с закладками, и с размерами. При этом buckup, полностью упрощён.<br />Теперь, ЛЮБОЙ чистый ssd можно изготавливать с ОС. Достаточно , туда скопировать vhdx диски, с мамами и с меню, и делать что угодно. Я например добавил ещё туда и win8.1.<br />Сделал vhdx, туда развернул win8 из ISO. Загрузился в МЕНЮ, добавил меню с этим vhdx диском, и вуаля. Есть ещё одна ОС.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; И ещё про win11. Как оказалось «ОНИ» улучшили сикурити этой ОС и поэтому если вы будите иметь в одном hdd/ssd дисках обе ОС (w11/w10) то вам обеспечен гемор, с «chkdsk». Потому что w11 всегда хочет подмять под себя всё. И поэтому метит как своё собственность общую корзину для ОС W10 и W11. А т.к. ОС W10 не знает что такое W11 , то при загрузке, W10 она всегда будет ругаться на повреждение диска где находиться эта общая корзина и будет запускать «chkdsk» на исправление её. А потом опять по кругу когда вы захотите уже загрузиться в W11. <br />Такого ГЕМОРА с корзинами у vhdx дисков нет и в помине, потому что эти корзины спрятаны в самом vhdx диске. И поэтому любая загрузочная ОС не видит чужую корзину, а видит только свою. Поэтому нет никакой ругани.&nbsp; &nbsp; <br /><strong>Ремарка от себя.</strong><br />Гибернация в vhdx дисках не работает. Она сразу сама отключается в них. Сон пашет. <br />Для уменьшения размеров мамы, я после обновления ОС архивировал, весь каталог хранилища компонентов Windows в каталоге WinSxS. На 5 гиг точно уменьшите.<br /><a href="http://%20https://blog.it-kb.ru/2018/10/16/clearing-space-on-the-windows-system-drive-via-cleanup-windows-component-store-in-winsxs-directory-with-dism-tool/"> https://blog.it-kb.ru/2018/10/16/clear … dism-tool/</a></p><p>Очистил диск «С» в маме. Запустите дефрагментацию диска «C».&nbsp; Настройте шрифт, ассоциацию расширений файлов с прогами, (jpg,PDF… файл чем открывать?). Настройте общий фон винды в маме. Короче всю свою винду настройте. И уберите файл подкачки. Я кстати ещё долго возвращался назад к маме, вспомнив в закладках о настройках того или сего в прогах…<br />Когда установите все свои браузеры, то в этой маме (закладке) не забудьте установить все Сертификаты SSL протокола с Госуслуг&nbsp; (если вам нужны они в России). Что бы потом в закладках вам не пришлось в каждой закладке устанавливать их по новой. <br />Саму закладку «МЕНЮ», можно и с чистой мамы сотворить – без настроек. Там ей пофигу. Причём я из-за Hyper-V вообще удалил драйвер сети из этой закладки- сеть там не нужна мне. Потому что Hyper-V после установки себя суёт в настройку сети ещё своих 2-а моста, которые через Net контролёр на маме лезут сами в иннет, и не спрашивают разрешения. Учтите ЭТО.<br />Кому интересно отключение хранилища, можете попробовать<br /></p><div class="codebox"><pre><code>
Отключение
DISM /Online /Set-ReservedStorageState /State:Disabled
Включение
DISM /Online /Set-ReservedStorageState /State:Enabled
 </code></pre></div><p>Короче, уменьшите вашу маму как можно больше. Потому что она вам в дальнейшем очень долго не понадобиться. А поэтому «НАФИГА козе баян?».&nbsp; Поищите в иннете и другие команды для уменьшения вашей мамы. <br />Но не шибко применяйте усердие по сжиманию/удалению. Вон, видете как у меня получилось? Пришлось возвращаться в не «тронутую маму», и уже заного делать закладки что бы полноценно использовать, программный RAID1,5,10. Теперь у вас есть мамы, которые вы можете копировать с закладкой boot_menu.vhdx («МЕНЮ») в любой ssd и делать загрузочные любые ssd диски. Запустите diskpart, раскроете vhdx диск меню, запустите в нём в каталоге system32 прогу bcdboot и сделает сразу его загрузочным в «МЕНЮ». Даже можете по первости использовать ssd 120 гиг, а уже когда созреете то купите себе поболе размером диск. <br />При использовании vhdx будет отсутсвовать режим «восстановления». Потому что его не будет на диске. Этот раздел «RECOVERY» размером 560 мег. восстановления (файл «Winre.wim»), в стандартном варианте находиться в самом конце диска. А он должен находиться в последовательном месте после раздела винды. И если его делать&nbsp; в vhdx то винда при загрузке ещё не раскрыла vhdx и поэтому не может туда поспасть в этот раздел.&nbsp; А если его делать на ssd а не в vhdx то винда не знает этого, и поэтому не попадает туда. Хотя можно конечно, создать и настроить ЭТОТ режим. Но я е стал «замарачиваться» этим. Решил создать 2-а файла «.bat» которые устанваливают режим SAFE MODE , и опять возвращают в стандартный режим винду.</p><div class="codebox"><pre><code>
@echo off 
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {default} bootmenupolicy legacy
timeout 5
exit
</code></pre></div><p>И возврат в станадартный режим меню<br /></p><div class="codebox"><pre><code>
@echo off 
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {default} bootmenupolicy standart
timeout 5
exit
</code></pre></div><br /><br /><p>Теперь про защиту, и исправления.<br />1-Если вам вдруг в голову придёт мысля «нажать кнп выкл комп», то файл vhdx который в этот момент был открыт, будет иметь на момент после вкл компа размер = размеру мамы (кроме того файла который , вы сами изменили размер см, выше как). Т.е. равен 50гиг. Потому что в момент выкл компа ОС не успела файл vhdx сжать-закрыть. <br />2- Если вдруг произошёл казус с появлением экрана смерти, то этот момент приравнивается к 1-ому пункту см 1 пункт. Т.е. размер vhdx = 50гиг. При этом если вы соберётесь всё равно загрузиться после перезагрузки в эту ветку, то вас ждёт опять же эта ошибка, потому что vhdx не был исправлен методом закрытия.<br /><strong>КАК ИСПРАВЛЯТЬ?</strong><br />Оч приоч просто. Надо при перезагрузке компа, выбрать пункт, «МЕНЮ», и там запустив Hyper-V, в меню выбрать «исправить диск». Выбираете тот vhdx который сбойнул (он всегда имеет размер 50гиг) и жмете ОК. Hyper-V предложит его дефрагментировать, и он сожмётся (закроется). После этого вы можете смело в эту закладку загрузиться, без последствий.</p></div></div><p>В следующий раз расскажу про RAID1 установку и настройку ASM1061R для загрузки даже на мамах с UEFI. Такой, которая как&nbsp; например является моя мама GIGABYTE. На маме MSI вообще не было проблем. Потому что она сразу сама загрузилась в биос RAID контролёра ASM1061R. А вот маму GIGABYTE с трудом удалось уговорить её грузиться с mbr контролёра ASM1061R. Объясню все нюансы этой процедуры «уговора мамы».</p>]]></description>
			<author><![CDATA[null@example.com (3wedsmncjklvjvd73734)]]></author>
			<pubDate>Wed, 14 Jan 2026 09:20:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=163025#p163025</guid>
		</item>
	</channel>
</rss>
