<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>реестр &#8902; Clip-Clap</title>
	<atom:link href="https://clip-clap.ru/tag/%d1%80%d0%b5%d0%b5%d1%81%d1%82%d1%80/feed/" rel="self" type="application/rss+xml" />
	<link>https://clip-clap.ru/tag/реестр/</link>
	<description></description>
	<lastBuildDate>Mon, 12 Oct 2020 19:37:08 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.8</generator>

<image>
	<url>https://clip-clap.ru/wp-content/uploads/2020/07/cropped-favicon-32x32.png</url>
	<title>реестр &#8902; Clip-Clap</title>
	<link>https://clip-clap.ru/tag/реестр/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Удаление программ из консоли и простой пример мониторинга реестра</title>
		<link>https://clip-clap.ru/it/%d1%81%d0%be%d1%84%d1%82-%d0%b8-%d0%be%d1%81/windows/%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b8%d0%b7-%d0%ba%d0%be%d0%bd%d1%81%d0%be%d0%bb%d0%b8-%d0%b8-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be/</link>
					<comments>https://clip-clap.ru/it/%d1%81%d0%be%d1%84%d1%82-%d0%b8-%d0%be%d1%81/windows/%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b8%d0%b7-%d0%ba%d0%be%d0%bd%d1%81%d0%be%d0%bb%d0%b8-%d0%b8-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Thu, 16 Jul 2020 20:32:34 +0000</pubDate>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[реестр]]></category>
		<guid isPermaLink="false">https://clip-clap.ru/?p=888</guid>

					<description><![CDATA[<p>На форуме OSZone модератор&#160;DJ Mogarych&#160;задал вопрос на тему удаления программ по сети. Команда wmic не видела ряд приложений, отображаемых в</p>
<p>Сообщение <a href="https://clip-clap.ru/it/%d1%81%d0%be%d1%84%d1%82-%d0%b8-%d0%be%d1%81/windows/%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b8%d0%b7-%d0%ba%d0%be%d0%bd%d1%81%d0%be%d0%bb%d0%b8-%d0%b8-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be/">Удаление программ из консоли и простой пример мониторинга реестра</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>На форуме OSZone модератор&nbsp;<em>DJ Mogarych</em>&nbsp;задал вопрос на тему удаления программ по сети. Команда wmic не видела ряд приложений, отображаемых в элементе панели управления «Установка и удаление программ». Нужно было их найти!</p>



<figure class="wp-block-image size-large is-resized"><img fetchpriority="high" decoding="async" src="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-01_mini1.png" alt="" class="wp-image-2439" width="1147" height="960" srcset="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-01_mini1.png 640w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-01_mini1-300x251.png 300w" sizes="(max-width: 1147px) 100vw, 1147px" /></figure>



<p>По условиям задачи, у вас нет возможности работать в системе интерактивно, поэтому нужно сформировать команду для тихого удаления программы. Ее выполнение – уже дело техники или инфраструктуры (есть <a href="http://technet.microsoft.com/sysinternals/bb897553.aspx" rel="nofollow">psexec</a>). Но сначала давайте познакомимся со способом, который ветеран OSZone применяет для решения задачи.</p>


</br>



<h2 class="wp-block-heading">Сведения из класса WMI Win32_Product</h2>



<p>Этот способ базируется на инструментарии управления Windows (WMI). Сведения об установленных программах содержатся в классе&nbsp;<strong>Win32_Product</strong>, поэтому можно удалять программы из командной строки или PowerShell.</p>



<h3 class="wp-block-heading">CMD</h3>



<p>Коллега по форуму пользуется командaми из арсенала консоли WMI. Вот так можно посмотреть список установленных программ наряду с основными сведениями о них:</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td><code>wmic product get name,version,vendor</code></td></tr></tbody></table></figure>



<p>Зная имя программы, можно тихо удалить ее:</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td><code>wmic product where name="Имя программы" call uninstall /nointeractive</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">PowerShell</h3>



<p>Командлет <strong>Get-WMIObject</strong> вам <a href="http://www.outsidethebox.ms/14817/#Get-WmiObject" rel="nofollow">хорошо знаком</a>. Список программ:</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td><code>Get-WmiObject Win32_Product | ft name,version,vendor,packagename</code></td></tr></tbody></table></figure>



<p>Удаление программы:</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td><code>(Get-WmiObject Win32_Product -Filter "Name = 'Имя программы'").Uninstall()</code></td></tr></tbody></table></figure>


</br>



<h3 class="wp-block-heading">Недостаток способа</h3>



<p>Этот подход сопряжен с большим ограничением, которое отчасти породило вопрос на форуме. Элемент панели управления «Установка и удаление программ» отображает больше приложений, чем выводят wmic и PowerShell.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>В списке WMI присутствуют только приложения, установленные с помощью&nbsp;<a href="http://www.outsidethebox.ms/14004/#_Toc336356916">Windows Installer</a>.</p></blockquote>



<p>Это не совсем очевидно, но я специально добавил в первую команду PowerShell вывод имен пакетов — все они MSI. Инструментарий управления Windows спроектирован в том числе и для управления состоянием ПО, но далеко не все программы используют установщик Windows, к сожалению.</p>



<h2 class="wp-block-heading">Сведения из реестра Windows</h2>



<p>Зато все нормальные программы при установке должны записывать сведения в реестр, откуда их извлекает элемент панели управления appwiz.cpl. Конкретный раздел реестра хорошо известен и давно задокументирован в статье <a href="http://support.microsoft.com/kb/314481" rel="nofollow">KB314481</a> (ее я всегда нагугливаю запросом <em>uninstall registry</em>).</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td><code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall</code></td></tr></tbody></table></figure>



<p>У каждого приложения там свой подраздел, именем которого по воле разработчика является название или идентификатор программы. Команда для удаления записана в параметре&nbsp;<strong>UninstallString</strong>&nbsp;– именно она вызывается из панели управления.</p>


</br>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-021.png" alt="" class="wp-image-2440" width="1137" height="778" srcset="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-021.png 603w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-021-300x205.png 300w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-021-130x90.png 130w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-021-600x412.png 600w" sizes="(max-width: 1137px) 100vw, 1137px" /></figure>



<p>Заметьте, что команда открывает графический интерфейс деинсталлятора, но не удаляет программу автоматически, как в случае со способом WMI. Поэтому нужно еще выяснить ключ тихой установки/удаления, зависящий от <a href="http://www.oszone.net/2766" rel="nofollow">типа установщика</a>. Зачастую, это /s или /silent, и тогда команда для автоматического удаления выглядит примерно так:</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td><code>"C:\Program Files\VideoLAN\VLC\uninstall.exe" /s</code></td></tr></tbody></table></figure>



<p>Но и у этого способа есть&nbsp;<strong>нюанс – в обсуждаемом разделе реестра могут отображаться не все программы</strong>. Например, я не нашел там установленный uTorrent (проверьте у себя).</p>



<p>Откуда панель управления о нем знает? К ответу можно прийти поиском по реестру или просто догадаться, но лучше сразу взять простой и удобный инструмент — Process Monitor.</p>


</br>



<h2 class="wp-block-heading">Быстрый мониторинг реестра с помощью Process Monitor</h2>



<p>Давайте выясним, откуда «Установка и удаление программ» берет сведения об установленном uTorrent. На панели инструментов <a href="http://technet.microsoft.com/sysinternals/bb896645" rel="nofollow">Process Monitor</a> и Process Explorer есть мишень, помогающая точно определить процесс.</p>



<p>Перетяните мишень из Process Monitor на окно панели управления.</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-031.png" alt="" class="wp-image-2441" width="1136" height="803" srcset="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-031.png 636w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-031-300x212.png 300w" sizes="(max-width: 1136px) 100vw, 1136px" /></figure>



<p>В панели управления выполните поиск программы, чтобы спровоцировать запрос в реестр.</p>


</br>



<p>В Process Monitor нажмите <kbd>Ctrl</kbd> + <kbd>F</kbd> и поищите имя программы или издателя (я искал <em>torrent</em>).</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-041.png" alt="" class="wp-image-2442" width="1139" height="540" srcset="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-041.png 620w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-041-300x142.png 300w" sizes="(max-width: 1139px) 100vw, 1139px" /></figure>



<p>Перейдите в редактор реестра сочетанием клавиш <kbd>Ctrl</kbd> + <kbd>J</kbd>. </p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-051.png" alt="" class="wp-image-2443" width="1140" height="394" srcset="https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-051.png 579w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-051-300x103.png 300w, https://clip-clap.ru/wp-content/uploads/2020/10/registry-monitoring-051-575x198.png 575w" sizes="(max-width: 1140px) 100vw, 1140px" /></figure>



<p>Обратите внимание на имя раздела реестра. Это пользовательский раздел HKEY_CURENT_USER, а остальной путь идентичен системному разделу HKLM, который рассматривался выше.</p>



<p>Помимо uTorrent в этом разделе у меня отметился браузер Яндекс и одно приложение Microsoft, пожелавшее не афишировать свое название в имени подраздела. Заметьте, что Process Monitor помог найти нужную информацию моментально!</p>


</br>



<h2 class="wp-block-heading">Почему приложения записывают сведения в разные разделы реестра</h2>



<p>Для эксперимента выполните повторную установку uTorrent или любого другого приложения из списка HKCU. По ходу дела вы не увидите запроса UAC. Приложению для установки и работы не нужны права администратора, поэтому&nbsp;нет необходимости ставить его в Program Files&nbsp;и вносить изменения в HKLM. Оно устанавливается в профиль и пишет сведения только в раздел реестра HKCU.</p>



<p>Применительно к удалению тут есть еще один нюанс – программа установлена в профиль конкретного пользователя, что видно на рисунке выше (Users\Vadim). Поэтому при дистанционном удалении команда должна содержать абсолютный путь, если только не выполняется от имени этого пользователя.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Традиционный же способ установки программ сопряжен с требованием прав администратора, сохранением файлов приложения в Program Files и записью сведений в HKLM. Даже если технически в этом нет нужды, разработчики могут идти навстречу администраторам, помогая им контролировать установку программ на ПК и проводить инвентаризацию ПО.</p></blockquote>



<p>Мне попадались приложения, в которых установщик ориентируется на текущие права пользователя – администратору показывает запрос UAC, а пользователю сразу ставит в профиль.</p>


</br>



<h2 class="wp-block-heading">Литература</h2>



<p>Для дальнейшего изучения вопроса вам могут пригодиться подобранные мной материалы. Открывает список статья, которой скоро исполнится 10 лет. Она еще из первой волны материалов на тему автоустановки, но вполне актуальна.</p>



<ul><li><a href="http://www.oszone.net/2766" rel="nofollow">Типы инсталляторов</a></li><li><a href="http://community.spiceworks.com/how_to/show/179-using-a-command-line-to-uninstall-software-on-remote-pcs" rel="nofollow">Using a Command Line to Uninstall Software on Remote PCs</a> – инструкция по удалению программ с помощью wmic</li><li><a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/11/13/use-powershell-to-quickly-find-installed-software.aspx" rel="nofollow">Use PowerShell to Quickly Find Installed Software</a> – разбор побочного эффекта при опросе класса Win32_Product и <strong>скрипт</strong> PowerShell для извлечения сведений из раздела реестра Uninstall (опять же, только HKLM)</li><li><a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/12/14/use-powershell-to-find-and-uninstall-software.aspx" rel="nofollow">Use PowerShell to Find and Uninstall Software</a> – Эд Уилсон мучает класс Win32_Product при помощи своего модуля</li></ul>
<p>Сообщение <a href="https://clip-clap.ru/it/%d1%81%d0%be%d1%84%d1%82-%d0%b8-%d0%be%d1%81/windows/%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b8%d0%b7-%d0%ba%d0%be%d0%bd%d1%81%d0%be%d0%bb%d0%b8-%d0%b8-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be/">Удаление программ из консоли и простой пример мониторинга реестра</a> появились сначала на <a href="https://clip-clap.ru">Clip-Clap</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://clip-clap.ru/it/%d1%81%d0%be%d1%84%d1%82-%d0%b8-%d0%be%d1%81/windows/%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-%d0%b8%d0%b7-%d0%ba%d0%be%d0%bd%d1%81%d0%be%d0%bb%d0%b8-%d0%b8-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Кэширование страницы с использованием Disk: Enhanced 
Минифицировано с помощью Disk
Кэширование БД с использованием Disk (Request-wide (широкий запрос) modification query)

Served from: clip-clap.ru @ 2026-07-03 10:04:58 by W3 Total Cache
-->