<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Скрипт который будет удалять или править ветку реестра]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5015&amp;type=atom" />
	<updated>2012-03-10T00:09:56Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5015</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57681#p57681" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p>А я в свою очередь поинтересуюсь у коллег - есть ли какие-то идеи по реализации переименования существующего ключа реестра, кроме создания ключа с новым именем и рекурсивного копирования в него содержимого ключа со старым именем и далее с последующим удалением старой ветки ?</p></blockquote></div><p>Идей нет, кроме как экспортировать раздел реестра в файл, сделать замену RegExp&#039;ом, добавить туда же удаление раздела, импортировать файл в реестр — что, в принципе, означает то же самое. Насколько я помню, в WinAPI нет функций по переименованию разделов и параметров реестра.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-03-10T00:09:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57681#p57681</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57671#p57671" />
			<content type="html"><![CDATA[<p>Спасибо за исчерпывающий ответ! <br />В принципе я к этому и сам начал приходить, но этот пример действительно не только функционален, но и очень КРАСИВ!!!</p>]]></content>
			<author>
				<name><![CDATA[Gera-sim]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27410</uri>
			</author>
			<updated>2012-03-09T19:59:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57671#p57671</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57669#p57669" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Gera-sim пишет:</cite><blockquote><p>Согласен, если просто нужен быстрый результат. Но иногда нужна и красивая оболочка, позволяющаяя и сделать выбор действия, и определить какие-либо настройки.</p></blockquote></div><p>На &quot;Главной&quot; есть описание работы на VBS с реестром - чтение/запись/удаление - см <a href="http://www.script-coding.com/WMI_StdRegProv.html">Рецепты WMI: работа с реестром Windows</a>, и даже примеры работы, в т.ч. и рекурсивного чтения веток. Взяв этот пример за образец, я сделал еще и так сказать недостающее в описании - рекурсивное удаление. Т.е. команда удаления ключа, может удалить только ключ, в котором нет подключей, иначе приходится это делать рекурсивно.</p><p>Я его реализовал так:<br /></p><div class="codebox"><pre><code>&#039;--- Запуск рекурсивного удаления всех веток раздела реестра&#039;
&#039; pPC - имя машины, с реестром которой работаем
&#039; pROOT - одна из констант : Const HKLM = &amp;H80000002 / Const HKEY_USERS = &amp;H80000003
&#039; pKeyPath - путь к разделу
Function uf_recursDelSubkeys(pPC, pROOT, pKeyPath)
	retDel = 0 &#039; накапливаем возвращаемые коды ошибок - для определения успешности удаления в целом&#039;
	retDel = uf_DeleteSubkeys (pPC, pROOT, pKeyPath)
	uf_recursDelSubkeys = retDel
End FUNCTION
Function uf_DeleteSubkeys (pPC, pROOT, pKeyPath)
	retDel = 0
	Set objRegistry = GetObject(&quot;winmgmts:\\&quot; &amp; pPC &amp; &quot;\root\default:StdRegProv&quot;)
	objRegistry.EnumKey pROOT, pKeyPath, arrSubkeys 
	If IsArray(arrSubkeys) Then 
		For Each strSubkey In arrSubkeys
			retDel = retDel + uf_DeleteSubkeys (pPC, pROOT, pKeyPath &amp; &quot;\&quot; &amp; strSubkey)
		Next 
	End If 
	ret = objRegistry.DeleteKey (pROOT, pKeyPath)
	retDel = retDel + ret
	Set objRegistry = Nothing
	uf_DeleteSubkeys = retDel
End FUNCTION</code></pre></div><p>О самой программе, использующей такое удаление, рассказывал в ветке - <a href="http://forum.script-coding.com/viewtopic.php?id=6455">HTA/CMD: Инструмент редактирования реестра удаленной системы</a>. Может она Вам подойдет в качестве &quot;красивой&quot; оболочки. Если попробуете ее и решите, что не хватает какого-то функционала, то дайте знать - скрипт у меня так сказать &quot;не заброшен&quot;, могу чего и дописать. Это приложение для случаев, если Вы хотите вносить изменения в чьем-то удаленном реестре. А если надо всего лишь &quot;красиво&quot; подтверждать изменения в своем реестре - пишите скрипт по примерам из &quot;Главной&quot; и перемежевывайте его диалогами подтверждения&nbsp; - MsgBox().</p><p>А я в свою очередь поинтересуюсь у коллег - есть ли какие-то <strong>идеи по реализации переименования существующего ключа реестра</strong>, кроме создания ключа с новым именем и рекурсивного копирования в него содержимого ключа со старым именем и далее с последующим удалением старой ветки ?</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2012-03-09T18:41:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57669#p57669</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57638#p57638" />
			<content type="html"><![CDATA[<p>В WSH нет красивой оболочки.</p><p>Описывайте подробно и в конкретностях, что Вы хотите.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-03-08T09:05:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57638#p57638</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57636#p57636" />
			<content type="html"><![CDATA[<p>Согласен, если просто нужен быстрый результат. Но иногда нужна и красивая оболочка, позволяющаяя и сделать выбор действия, и определить какие-либо настройки.</p>]]></content>
			<author>
				<name><![CDATA[Gera-sim]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27410</uri>
			</author>
			<updated>2012-03-08T08:38:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57636#p57636</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57635#p57635" />
			<content type="html"><![CDATA[<p>Для результата не критично каким инструментом пользоваться. Вам какая разница?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-03-08T08:30:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57635#p57635</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=57634#p57634" />
			<content type="html"><![CDATA[<p>А как это сделать при помощи сценария VBS?</p>]]></content>
			<author>
				<name><![CDATA[Gera-sim]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27410</uri>
			</author>
			<updated>2012-03-08T08:19:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=57634#p57634</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40273#p40273" />
			<content type="html"><![CDATA[<p>Отлично!!! По моему это то что нужно.</p>]]></content>
			<author>
				<name><![CDATA[Ivan_Kinomanov]]></name>
			</author>
			<updated>2010-10-11T07:11:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40273#p40273</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40178#p40178" />
			<content type="html"><![CDATA[<p><strong>Ivan_Kinomanov</strong>, если есть домен, то самый простой вариант — пакетный файл, делающий импорт *.reg файлов, например:<br /></p><div class="codebox"><pre><code>@echo off
start /min /wait regedit /s &quot;\\domain.com\Goodies$\1Cv7.7 Buh 2010.reg&quot;
start /min /wait regedit /s &quot;\\domain.com\Goodies$\1Cv7.7 ZiK 2010.reg&quot;</code></pre></div><p>Располагаем его в сценариях входа в групповой политике соответствующего OU:<br /></p><div class="codebox"><pre><code>Политика Установка ссылок на базы 1С-Предприятие [dc.domain.com]
   Конфигурация компьютера    
   Конфигурация пользователя    
      Конфигурация программ    
      Конфигурация Windows    
         Службы удаленной установки    
         Сценарии (вход/выход из системы)    &lt;===
         Параметры безопасности    
         Перенаправление папки    
         Настройка Internet Explorer    
      Административные шаблоны</code></pre></div><p>Примерное содержимое *.reg файла:<br /></p><div class="codebox"><pre><code>Windows Registry Editor Version 5.00

; Удалить подраздел вместе со всеми предыдущими параметрами:
[-HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles]

; Если же нужно убрать не все, а только какие-то конкретные, заранее известные параметры, тогда так:
[HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles]
&quot;\\\\SQL\\Бухгалтерия 2009\\&quot;=-

; Добавляем нужные параметры:
[HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles]
&quot;\\\\SQL\\Бухгалтерия 2010\\&quot;=&quot;Бухгалтерия 2010&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2010-10-08T16:07:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40178#p40178</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40130#p40130" />
			<content type="html"><![CDATA[<p>Добрый день форумчане и разработчики скриптов!<br />Обращаюсь к Вам за помощью.<br />Есть необходимость написать скрипт который будет удалять все ветки реестра по адресу<br />HKEY_USERS\%Profile%\Software\1C\1Cv7\7.7\Titles<br />где %Profile% - определяется скриптом для всех пользователей данного компьютера</p><p>В этой ветке несколько строковых значений<br />к примеру <br />Параметр \\192.168.0.14\Base1\ <br />Значение Документооборот<br />Параметр \\192.168.0.14\Base2\ <br />Значение Делопроизводство</p><p>А затем по этим адресам будет записывать новые строковые значения или только одно.<br />Параметр \\192.168.0.124\Base\ <br />Значение Делопроизводство+Документооборот</p><p>Необходимо для автоматизации чистки реестра и прописания нового пути к базе данных 1С.</p>]]></content>
			<author>
				<name><![CDATA[Ivan_Kinomanov]]></name>
			</author>
			<updated>2010-10-08T10:24:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40130#p40130</id>
		</entry>
</feed>
