<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Скрипт который будет удалять или править ветку реестра]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5015</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5015&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Скрипт который будет удалять или править ветку реестра».]]></description>
		<lastBuildDate>Sat, 10 Mar 2012 00:09:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57681#p57681</link>
			<description><![CDATA[<div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p>А я в свою очередь поинтересуюсь у коллег - есть ли какие-то идеи по реализации переименования существующего ключа реестра, кроме создания ключа с новым именем и рекурсивного копирования в него содержимого ключа со старым именем и далее с последующим удалением старой ветки ?</p></blockquote></div><p>Идей нет, кроме как экспортировать раздел реестра в файл, сделать замену RegExp&#039;ом, добавить туда же удаление раздела, импортировать файл в реестр — что, в принципе, означает то же самое. Насколько я помню, в WinAPI нет функций по переименованию разделов и параметров реестра.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 10 Mar 2012 00:09:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57681#p57681</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57671#p57671</link>
			<description><![CDATA[<p>Спасибо за исчерпывающий ответ! <br />В принципе я к этому и сам начал приходить, но этот пример действительно не только функционален, но и очень КРАСИВ!!!</p>]]></description>
			<author><![CDATA[null@example.com (Gera-sim)]]></author>
			<pubDate>Fri, 09 Mar 2012 19:59:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57671#p57671</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57669#p57669</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Rom5)]]></author>
			<pubDate>Fri, 09 Mar 2012 18:41:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57669#p57669</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57638#p57638</link>
			<description><![CDATA[<p>В WSH нет красивой оболочки.</p><p>Описывайте подробно и в конкретностях, что Вы хотите.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 08 Mar 2012 09:05:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57638#p57638</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57636#p57636</link>
			<description><![CDATA[<p>Согласен, если просто нужен быстрый результат. Но иногда нужна и красивая оболочка, позволяющаяя и сделать выбор действия, и определить какие-либо настройки.</p>]]></description>
			<author><![CDATA[null@example.com (Gera-sim)]]></author>
			<pubDate>Thu, 08 Mar 2012 08:38:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57636#p57636</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57635#p57635</link>
			<description><![CDATA[<p>Для результата не критично каким инструментом пользоваться. Вам какая разница?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 08 Mar 2012 08:30:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57635#p57635</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57634#p57634</link>
			<description><![CDATA[<p>А как это сделать при помощи сценария VBS?</p>]]></description>
			<author><![CDATA[null@example.com (Gera-sim)]]></author>
			<pubDate>Thu, 08 Mar 2012 08:19:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57634#p57634</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40273#p40273</link>
			<description><![CDATA[<p>Отлично!!! По моему это то что нужно.</p>]]></description>
			<author><![CDATA[null@example.com (Ivan_Kinomanov)]]></author>
			<pubDate>Mon, 11 Oct 2010 07:11:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40273#p40273</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40178#p40178</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Fri, 08 Oct 2010 16:07:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40178#p40178</guid>
		</item>
		<item>
			<title><![CDATA[VBS: Скрипт который будет удалять или править ветку реестра]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40130#p40130</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Ivan_Kinomanov)]]></author>
			<pubDate>Fri, 08 Oct 2010 10:24:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40130#p40130</guid>
		</item>
	</channel>
</rss>
