RunOnce Registry Key
All versions of Windows support a registry key, RunOnce, which can be used to specify commands that the system will execute one time and then delete.
In WindowsВ 8 and WindowsВ 8.1, RunOnce entries for installation of software-only SWENUM devices are processed during device installation. Other RunOnce entries are added to the RunOnce key. These are applied the next time the system processes the RunOnce key. Device installation does not force the system to process RunOnce entries.
In WindowsВ 7 and previous versions, immediately after a device is installed, Windows executes the command stored under the RunOnce key and then removes the key. Additionally, each time the system starts, it executes the command stored under the RunOnce key and then removes the key. Therefore, if you put a command under the RunOnce key, you cannot easily predict when it is executed.
Immediately after a device has been installed, Windows executes the command stored under the RunOnce key and then removes the key. Additionally, each time the system starts, it executes the command stored under the RunOnce key and then removes the key. Therefore, if you put a command under the RunOnce key, you cannot easily predict when it is executed.
For device installations, RunOnce registry keys can be created by using add-registry-sections, which are specified through INF AddReg directives. Each add-registry-section has the following syntax:
reg-root, [subkey], [value-entry-name], [flags], [value]
The registry root (reg-root) and subkey values for the RunOnce registry key are as follows:
HKLM, «Software\Microsoft\Windows\CurrentVersion\RunOnce»
The value-entry-name string is omitted from a RunOnce registry entry. The type of the entry, which is indicated by the Flags value, must be either REG_SZ (Flags value of 0x00000000) or REG_EXPAND_SZ (Flags value of 0x00010000). For an entry of type REG_SZ (the default), the Flags value can be omitted.
The value parameter in a RunOnce key specifies the command to be executed. This parameter is a quoted string that has the following format:
By default, a RunOnce key is deleted after the specified command is executed. You can prefix a RunOnce key value parameter with an exclamation point (!) to defer deletion of the key until after the command runs successfully. Without the exclamation point prefix, if the specified command fails, the RunOnce key will still be deleted and the command will not be executed the next time that the system starts.
Also, by default, the RunOnce keys are ignored when the system is started in Safe Mode. The value parameter of RunOnce keys can be prefixed with an asterisk (*) to force the command to be executed even in Safe Mode.
Consider the following guidelines when you create a value string entry:
Rundll32 can appear either with or without its .exe file name extension.
DllName is the full path of a DLL or executable image. Except for a required terminating comma, the expression must not otherwise contain any commas. If no file name extension is supplied, the default extension is .dll.
EntryPoint is the name of the entry point within the DLL indicated by DllName.
Arguments is an optional substring that contains any arguments that must be passed to the specified DLL.
Exactly one space must separate the EntryPoint string from the Arguments substring.
The following code example shows the add-registry-section entry that stores a command and its arguments under the RunOnce key:
The following rules apply when you use RunOnce registry keys for device installations:
These registry keys must be used only for installations of software-only devices that are enumerated by SWENUM, the software device enumerator.
RunOnce keys must consist only of calls to Rundll32.exe. Otherwise, WHQL will not digitally sign the driver package.
The code to be executed must not prompt for user input.
Server-side installations execute in a system context. For this reason, you must be certain that the code to be executed contains no security vulnerabilities and that file permissions prevent the code from being maliciously modified.
Starting with Windows Vista, the system will not execute the commands specified by the RunOnce keys if a user without administrator privileges is logged on to the system. This could lead to incomplete or corrupted installations following a system restart.
Before the device installation application creates the RunOnce entries, it informs the current user that a user who has administrator privileges must log on after a system restart.
How to recover your Windows product key
Technical Level : Basic
If you are planning to reinstall Windows but you can’t find your product key, this article will show you where and how you can find your product key.
The key could be:
- Printed on a Certificate of Authenticity sticker
- Stored in the Windows Registry
- Embedded in the PC’s UEFI firmware
Note that if you are currently running Windows 10 and wish to reinstall the operating system, you don’t need your product key. After the reinstall, Windows 10 will detect that it has been reinstalled on a previously activated system and will automatically reactivate.
Printed on a Certificate of Authenticity Sticker
If your PC came with Windows 7 or earlier, then your product key will be printed on a COA sticker. This sticker verifies that the computer came with a genuine copy of Windows. You will need to examine your computer to find the sticker. On laptops, it’s usually on the bottom side. On desktops, it could be on the back, sides, or top. It looks something like this:
Embedded in the PC’s UEFI firmware
If you have a newer PC that came with Windows 8 or Windows 10, then your product key likely won’t be on a sticker. Instead, computer manufacturers now embed the key right into the computer’s UEFI firmware. Unlike the COA sticker, the embedded key can’t be smudged off, stolen or erased (easily).
If you want to extract the UEFI key, the process is simple. Open the Start menu, type powershell and then run the program.
Next type the following command in the PowerShell window and hit Enter.
You will be presented with the key in the window.
Stored in the Windows Registry
If your product key isn’t embedded in the firmware or you’re missing your COA sticker, you’re not out of luck as long as you haven’t formatted your computer. You can still recover the key because Windows stores it in the registry. Here is how:
1. Open a new Notepad window
2. Copy and paste the following text into the window
3. Click File > Save As and save the file to your desktop as productkey.vbs. It’s important to include the .vbs extension because this is a Windows Scripting Host file.
4. Close Notepad and double-click the file. Wait a few seconds, and then you will be presented with a popup displaying your product key:
Reading the Windows registry key “SOFTWARE\Microsoft\Windows\CurrentVersion\Run” using RegGetValue() returns error code 2
Reading the Windows registry key «SOFTWARE\Microsoft\Windows\CurrentVersion\Run» using RegGetValue() returns error code 2.
I’ve been sitting for hours debugging this problem, but haven’t found a solution.
Here is the code that I use to retrieve the registry value named «test»:
Below is a picture that I’ve added the registry value «test» to the Run key (mentioned above).
The error code I get is 2 which represents an invalid file.
It should be mentioned that the local host is running Windows 10 Pro x64.
What could be the source of this confusion?
Modified code:
I still get the error code 2 after using the KEY_WOW64_64KEY flag.
1 Answer 1
Problem
You are most probably trying to access the 64-bit registry view from a 32-bit application.
By default, a 32-bit application running on WOW64 accesses the 32-bit registry view and a 64-bit application accesses the 64-bit registry view. The following flags enable 32-bit applications to access redirected keys in the 64-bit registry view and 64-bit applications to access redirected keys in the 32-bit registry view. These flags have no effect on shared registry keys.
Solution
You can rebuild your application in x64 mode or you can specify which view of the registry you require.
Важные ключи реестра Windows
Частенько возникают ситуации и задачи, которые не решить через интерфейс, а через реестр решается на ха. Конечно, можно через утилитки сторонних товарищей это решить, через политики заморочиться, но можно и прямиком, через реестр.
Итак, решаемся на правку реестра. Вот статейка, где собрано многое из удобного и нужного. Я ее скопипастил отсюда
Реестр Windows.
Реестр Windows представляет собой настоящую сокровищницу всевозможных “тонких” настроек операционной системы и различных ее компонентов, а раз так, то неплохо было бы изучить его на предмет чего-нибудь вкусненького и заодно полезного.
Напоминаю – что реестр является наиболее уязвимым элементом Windows, и любое некорректное вмешательство в его недра может частично или полностью лишить систему работоспособности.
Поэтому рекомендую перед началом экспериментов создать резервную копию реестра. Сделать это можно несколькими способами:
Экспортировать с помощью редактора реестра “Пуск -> Выполнить… -> regedit.exe”. В окне редактора реестра жмём “Файл -> Экспорт…”.
В командной строке вводим regedit.exe /E c:\all.reg.
Воспользоваться программой архивации и восстановления системы “Пуск -> Программы -> Стандартные -> Служебные -> Архивация данных”.
Взять на вооружение какую-либо специализированную программу, например: Wise Registry Cleaner
Лучше всего для “баловства” с реестром использовать виртуальную машину. Если что то пойдет не так и система отправится “на тот свет”, то восстановить работоспособность системы не составить труда.
Не рекомендуется производить опыты с реестром на “боевых” системах.
Очистка файла подкачки после завершения работы
Во время своей работы Windows активно использует файл подкачки pagefile.sys, перенаправляя в него данные, не умещающиеся в оперативной памяти компьютера. Естественно, после плодотворной и творческой работы, часть информации (порой и конфиденциального характера) может в нем осесть. Поэтому, чтобы не оставлять злоумышленнику не единого шанса, запускаем редактор реестра, находим ветку “HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\Session Manager\Memory Management” и присваиваем параметру “ClearPageFileAtShutdown” значение “1″.
Важно помнить, что пользоваться этим маниакальным средством нужно лишь в случае действительно крайней необходимости, потому как в обычной жизни активация этой функции Windows может только навредить нервной системе пользователя, которому рано и поздно порядком поднадоест томительное ожидание перезагрузки или отключения компьютера.
Запрет записи на внешние USB-диски
С появлением миниатюрных и доступных по цене USB-носителей вопрос информационной безопасности стал как никогда актуальным. Ведь, посудите сами, практически любой сотрудник офиса без особого труда, озлобившись на все и вся, может унести любую информацию из корпоративной сети, тем самым, нанеся ощутимый финансовый урон компании. Одним из эшелонов обороны от таких недоброжелательных пользователей является блокирование записи данных на внешние USB-диски.
Для активации этой функции находим в ветке “HKEY_LOCAL_MACHINE\System\CurrentContro lSet\Control” раздел ” StorageDevicePolicies” (если такового ключа нет, то создаем его) и формируем в нем DWORD-параметр “WriteProtect” со значением “1″ (включено) или “0″ (отключено), после чего закрываем редактор реестра и перезагружаем компьютер для активации изменений.
Удаление приложений из списка “Установка и удаление программ”
К редактированию списка про инсталлированных приложений, ютящегося в меню “Панель управления -> Установка и удаление программ”, иногда прибегают опытные пользователи для наведения там порядка и удаления “мертвых” ссылок на стертые ранее приложения. К тому же, подобная опция вполне пригодится для защиты от случайной деинсталляции того или иного программного обеспечения.
Чистка списка достигается путем удаления соответствующих разделов ветки “HKEY_LOCAL_MACHINE\Software\Microsoft\W indows\CurrentVersion\Uninstall”, а в 64-битных системах существует еще одна ветка реестра “HKEY_LOCAL_MACHINE\Software\Wow6432Node\M icrosoft\Windows\CurrentVersion\Uninstal l”.
Автоматический вход в Windows
В случае если за компьютером работает только один пользователь, то сэкономить время при загрузке операционной системы поможет функция автоматического входа в Windows. Тут, правда, есть два “но”: первое – не стоит забывать об информационной безопасности своего рабочего места (ведь доступ к вашим файлам и документам сможет получить любой человек), второе – логин и пароль, указанные в качестве идентификационных параметров, хранятся в реестре и не шифруются.
Схема настройки следующая. Находим ветку HKEY_LOCAL_MACHINE\Software\Microsoft\Wi ndows NT\CurrentVersion\Winlogon и там работаем со следующими строковыми параметрами (если некоторые из них отсутствуют, то их необходимо создать):
значение AutoAdminLogon ставим равным “1″
в DefaultUserName указываем имя пользователя, в поле DefaultPassword его пароль
при наличии домена в сети корректируем параметр DefaultDomainName
Сохраняем изменения и пользуемся на здоровье.
Удаляем ненужные папки из директории “Мои документы”
С легкой руки компании Microsoft последние версии ОС Windows, помимо пресловутой папки “Мои документы”, научились создавать еще ряд спорной нужности директорий — ”Мои рисунки”, “Мои видеозаписи”, “Моя музыка” и пр. Более того, спустя какое-то время можно обнаружить, что и другие программы так и норовят тоже “прилепить” там что-нибудь наподобие My eBooks, My ISO Files. В общем, камень преткновения какой-то, а не “Мои документы”. Избавиться от этого кошмара и научить исталяторы программ копировать данные в нужные места можно опять-таки при помощи реестра и ветки HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Explorer\Shell Folders.
Просто корректируем системные пути в соответствии нашими потребностями. Как видите, ничего сложного, зато порядка на жестком диске будет больше.
Изменение частоты интернет-синхронизации часов Windows
Начиная с Windows XP, любой пользователь этой системы получил возможность синхронизовать системное время с атомными часами через интернет. Одна беда — нет функции настройки частоты синхронизации. Между тем, внести свои правки можно в ветке HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\S ervices \W32Time\TimeProviders\NtpClient реестра Windows.
Здесь в переменной SpecialPollInterval задается частота обновления (в секундах). Например, указанное на приведенном скриншоте значение 604800 соответствует 168 часам, то есть семи суткам. Задаем частоту поменьше, ведь точность — вежливость королей!
Убираем слова “Ярлык для…” при создании ярлыков
Испокон веков при создании ярлыков на программы Windows добавляет к названию ссылки словосочетание “Ярлык для…”. Практика показывает, что это словосочетание не слишком прельщает российских пользователей, поэтому практически сразу все исправляется на нужный лад. В принципе, это не так уж и сложно. Достаточно обнулить значение двоичного параметра Link в ветке HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Explorer.
Отключение диспетчера задач Windows
Диспетчер задач Windows – вещь, конечно, незаменимая, особенно для системных администраторов. Для рядовых же пользователей этот инструмент – лишняя лазейка, позволяющая взглянуть на список запущенных в системе процессов. Как ее закрыть?
Очень просто: открываем редактор реестра через меню “Пуск -> Выполнить… -> Regedit.exe”, находим ветку HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Policies\System (если раздела System не существует, то создаем его) и прописываем в ней новый DWORD-параметр DisableTaskMgr со значением равным “1″.
Теперь, любая попытка открыть менеджер задач будет пресекаться таким вот информационным сообщением:
Ограничение запуска программ
Операционная система офисного компьютера частенько страдает от чрезмерного любопытства сотрудников компании, так и норовящих порой полазать по настройкам Windows и позапускать разные приложения. О блокировании настроек мы еще поговорим ниже, а пока расскажем, как путем нехитрых манипуляций сузить круг разрешенных для запуска в системе программ.
Для этого в редакторе реестра открываем ветку HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVersion\Policies\Explorer, в ней создаем DWORD-ключ RestrictRun равным единице. Теперь здесь же добавляем новый подраздел с аналогичным именем RestrictRun и прописываем в нем разрешенные для загрузки пользователем приложения в формате, показанном на приведенном скриншоте.
Обратите внимание, что имена программ должны содержать расширение файла. Кроме того, чтобы самим не оказаться у разбитого корыта, первым в список обязательно включаем редактор regedit.exe, так как в противном случае система лишит нас возможности с ним работать в дальнейшем. Далее, оформив в пронумерованном порядке список разрешенных для запуска пользователем программ, закрываем редактор реестра и перезагружаем компьютер для внесения изменений.
Блокирование доступа к настройкам аккаунтов в OE
В почтовом клиенте Outlook Express есть замечательный пункт меню “Сервис -> Учетные записи…”, ведущий к параметрам почтовых аккаунтов. Скрыть его с глаз долой поможет DWORD-параметр No Modify Accts со значением “1″, добавленный в раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ou tlook Express.
Изменение цвета сжатых директорий и файлов
В операционных системах на ядре NT данные, сжатые средствами NTFS, подсвечиваются для наглядности синим цветом. Изменить его на любой другой можно следующим образом.
В разделе Explorer ветки HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion отыскиваем двоичный параметр AltColor, отвечающий за раскраску сжатых объектов. Если такового ключа нет, то создаем его и прописываем в нем значение нового цвета в шестнадцатеричном формате, например, FFFF00 (желтый). Для активации внесенных правок потребуется перезагрузить операционную систему.
Изменение поискового движка Internet Explorer
Обычно при наборе в адресной строке IE какой-нибудь фразы, не соответствующей формату интернет-адреса, браузер передает эту строку установленному в параметрах онлайновому поисковику от Microsoft (auto.search.msn.com). Однако, отдавая предпочтение другим поисковым системам, логичнее будет переиначить настройки на свой лад.
Делается это посредством манипуляций с единственным строковым параметром в ветке HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl.
К примеру, для службы Google строка приобретет вид http://www.google.com/keyword/%s, а для отечественного “Яндекса” – http://www.yandex.ru/yandsearch?text=%s.
Отключение стартовой заставки Outlook Express
Загрузка встроенного в Windows почтового клиента Outlook Express всегда сопровождается появлением стартовой заставки этой программы. Поскольку толку от лицезрения такой помпезной картинки ровным счетом никакого, смело деактивируем ее через реестр операционной системы путем добавления DWORD-ключа NoSplash в ветку HKEY_CURRENT_USER\Identities\Уникальный_ идентификатор\Software\Microsoft\Outlook Express\5.0. Естественно, значение созданного параметра должно быть равно единице.
Запрет на загрузку файлов в IE
Блокирование загрузки файлов из интернета через Internet Explorer является одним из лучших способов защиты от заражения компьютера вирусами и прочими программной нечистью. Чтобы предотвратить скачивание данных, необходимо в разделе реестра HKEY_CURRENT_USER\Software\Policies\Micr osoft\Internet Explorer\Restrictions создать параметр NoSelectDownloadDir типа DWORD и присвоить ему значение, равное единице.
Напоследок еще раз напомним, что все перечисленные манипуляции с реестром нужно проводить с особой осторожностью, и перед любыми изменениями крайне желательно сделать резервную копию на жестком диске.
Включение/Отключение Удаленного Рабочего Стола (RDP)
Если вам очень срочно нужно получить удаленный доступ к компьютеру ч/з протокол RDP, но на удаленном компьютере он отключен, то есть два варианта.
Первый муторный: Позвонить пользователю удаленного ПК, по шагово объяснить как зайти в св-ва “Моего компьютера”, где находится вкладка “Удаленные сеансы” и какую галочку из двух необходимо поставить. Очень муторно, долго и затратно.
Второй легкий: Открываем редактор реестра. Подключаемся к компьютеру “Файл -> Подключить сетевой реестр” указываем IP или имя удаленного ПК. Переходим в раздел реестра удаленного ПК “HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\Terminal Server” изменяем значение параметра “fDenyTSConnections” на “0″(включено RDP) или “1″ (отключено RDP).
В посте использовались данные полученные из интернета и собственного опыта.
В реестре еще много чего можно делать, но пока остановимся на этом.
В общем, пользуемся. Если нужна помощь, не стесняемся обращаться.