Hey Spicers,
To begin, I’m not an avid programmer, but I can usually hack my way through a small script. But I’m googling my way through every step of this so bear with me please…
I’m writing a VBScript to do the following:
- Read a registry key to find out the version of .NET installed and save that version into a text file on the user’s desktop
- Modify that registry key REG_SZ value via .RegWrite to force the version of .NET to be something different temporarily while another piece of software installs
- Wait for other software to install
- Modify the .NET version registry key value back to what it was by reading the text file on the desktop and putting that value back into the key.
My script is constantly failing on step 2 above with a Windows Script Host error box that tells me:
Text
Error: Invalid root in registry key "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client\Version". Code: 80070005 Source: WshShell.RegWrite
In searching Code 80070005, all indications are pointing toward a permissions error on the registry key. However, I’ve taken ownership of that key and given local admins (of which I am) full control on the branch, and followed it all the way back up to the root and made sure I had permissions on every parent key, yet it still fails. Even after a reboot and retry.
If I substitute in a different path in the registry like «HKCU\test», my script works, but the values are obviously not written in the correct place, so I don’t think syntax is the issue.
Script I’m running is below, any advice is welcome:
VB.net
Set WshShell = CreateObject("WScript.Shell") Dim netVersion, dotNetRegKey 'Set dotNetRegKey to path we need to edit later dotNetRegKey = "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client\Version" 'Read the RegKey and save it to a variable called netVersion netVersion = WshShell.RegRead(dotNetRegKey) 'Create File System Object Set objFSO = CreateObject("Scripting.FileSystemObject") 'Save the currently logged on user profile path to a variable userProfilePath = WshShell.ExpandEnvironmentStrings("%UserProfile%") 'Write the variable to a file outFile = userProfilePath + "\Desktop\DotNetVer.txt" Set objFile = objFSO.CreateTextFile(outFile, True) objFile.Write netVersion objFile.Close 'Print the .Net version to a dialog box and let user know this value was saved to a text file strMessage = ".Net Version = " + netVersion + vbCrLf + vbCrLf + "Saved to text file at: " + userProfilePath + "\desktop\DotNetVer.txt" msgBox strMessage, 0, "AutoCAD DotNetVersion Trick" 'Modify the .Net Version Registry key with the "4.5" value 'THIS IS THE LINE WHERE IT ERRORS OUT AND FAILS TO WRITE THE KEY BELOW WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client\Version", "4.5", "REG_SZ" 'Tell the user what to do next, and warn them not to close the script yet. strMessage = "Next Step: Install AutoCAD" + vbCrLf + "Do not click OK or the 'X' until AutoCAD setup is complete!" + vbCrLf + "You will break it." + vbCrLf + vbCrLf + "Just move this window aside or something." msgBox strMessage, 0, "AutoCAD DotNetVersion Trick" 'Ask the user again if the AutoCAD software is really installed. strMessage = "Did the AutoCAD software setup complete successfully?" result = msgBox (strMessage, vbYesNo + vbQuestion, "AutoCAD DotNetVersion Trick") 'If result=6(yes), proceed. If result=7(no), exit script. if (result = 6) then 'add code here to edit registry key back to what it was msgBox "Yes was clicked", 0, "" elseif (result = 7) then msgBox "Script will now close...", 0, "AutoCAD DotNetVersion Trick" 'wscript.exit <--figure out how to break out of the If and end the sub here end if
Can anyone help? It seems I’m only having issues when writing registry changes to HKLM hive. I’m writing/testing this on my Windows 10 machine, but I’ve also run the script on a Windows 7 machine in our environment and the behavior was the same.
Thanks in advance.
B
After applying a few Microsoft patches to one of my desktops, I could not load my login script (.wsf) anymore. When I ran my login script, the following error occurred:
Windows Script Host
Error: Can’t create object: ‘Scripting.FileSystemObject’
Code: 80070005
Source: WScript.CreateObject
Since the login script has been working for years, I knew something got messed up on my desktop. My quick and dirty solution was to re-register scrrun.dll which is often the file that gives me trouble. To re-register scrrun.dll, do the following:
- Click Start, click Run, type ‘cmd’, click OK
- Type cd \windows\system32 and press ENTER. This moves you to the System32 directory (C:\Windows\System32\)
- Type regsvr32.exe scrrun.dll . This reregisters the scrrun.dll file. You get a notification that the registration completed succesfully (good job! 🙂 )
When I tried to run the WSF file again, everything was fine again. And thank you, Windows Update, for causing an additional incident during my job day 🙂
To make this post complete, one of these updates caused the problem:
- KB979895
- KB978380
- KB890830
- KB978382
- KB975561
Ошибка 0x80070005 «Отказано в доступе» наиболее часто встречается в трех случаях — при установке обновлений Windows, активации системы и при восстановлении системы. Если же аналогичная проблема возникает в других ситуациях, как правило, решения будут теми же, так как причина ошибки одна.
В этой инструкции подробно опишу работающие в большинстве случаев способы исправить ошибку доступа восстановления системы и установки обновлений с кодом 0x80070005. К сожалению, рекомендуемые шаги не гарантированно приводят к ее исправлению: в некоторых случаях требуется вручную определять, к какому файлу или папке и какому процессу требуется доступ и предоставлять его вручную. Описанное ниже подойдет для Windows 7, 8 и 8.1 и Windows 10.
Исправляем ошибку 0x80070005 с помощью subinacl.exe
Первый способ в большей степени относится к ошибке 0x80070005 при обновлении и активации Windows, так что если проблема у вас возникает при попытке восстановления системы, рекомендую начать со следующего способа, а уже потом, если не поможет, вернуться к данному.
Для начала, загрузите утилиту subinacl.exe с официального сайта Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=23510 и установите ее на компьютер. При этом, рекомендую устанавливать в какую-то папку, близкую к корню диска, например C:subinacl (именно с таким расположением я буду приводить пример кода далее).
После этого, запустите Блокнот и введите в него следующий код:
@echo off Set OSBIT=32 IF exist "%ProgramFiles(x86)%" set OSBIT=64 set RUNNINGDIR=%ProgramFiles% IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)% C:subinaclsubinacl.exe /subkeyreg "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing" /grant="nt servicetrustedinstaller"=f @Echo Gotovo. @pause
В блокноте выберите «Файл» — «Сохранить как», затем в диалоговом окне сохранения выберите в поле «Тип файла» — «Все файлы» и укажите имя файла с расширением .bat, сохраните его (я сохраняю на рабочий стол).
Кликните правой кнопкой мыши по созданному файлу и выберите пункт «Запуск от имени Администратора». По завершении вы увидите надпись: «Gotovo» и предложение нажать любую клавишу. После этого закройте командную строку, перезагрузите компьютер и попробуйте выполнить ту операцию, которая выдавала ошибку 0x80070005 снова.
Если указанный сценарий не сработал, попробуйте аналогичным образом еще один вариант кода (Внимание: код ниже может привести к неработоспособности Windows, выполняйте его только если готовы к такому исходу и знаете, что делаете):
@echo off C:subinaclsubinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f C:subinaclsubinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=administrators=f C:subinaclsubinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f C:subinaclsubinacl.exe /subdirectories %SystemDrive% /grant=administrators=f C:subinaclsubinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f C:subinaclsubinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=system=f C:subinaclsubinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=system=f C:subinaclsubinacl.exe /subdirectories %SystemDrive% /grant=system=f @Echo Gotovo. @pause
После запуска скрипта от имени администратора, откроется окно, в котором в течение нескольких минут поочередно будут меняться права доступа на разделы реестра, файлы и папки Windows, по завершении нажмите любую клавишу.
Опять же, лучше перезагрузить компьютер после его выполнения и только после этого проверять, удалось ли исправить ошибку.
Ошибка восстановления системы или при создании точки восстановления
Теперь об ошибке доступа 0x80070005 при использовании функций восстановления системы. Первое, на что следует обратить внимание — ваш антивирус: очень часто такая ошибка в Windows 8, 8.1 (а в скором времени и в Windows 10) бывает причиной функций защиты антивируса. Попробуйте, используя настройки самого антивируса, временно отключить его самозащиту и другие функции. В крайнем случае, можно попробовать удалить антивирус.
Если это не помогло, то следует попробовать выполнить следующие шаги по исправлению ошибки:
- Проверить, не переполнены ли локальные диски компьютера. Очистить, если да. Также, возможен вариант, когда ошибка появляется, если Восстановление системы использует один из зарезервированных системой дисков и нужно отключить защиту для этого диска. Как это сделать: зайдите в панель управления — Восстановление — Настройка восстановления системы. Выберите диск и нажмите кнопку «Настроить», после чего выберите пункт «Отключить защиту». Внимание: при этом действии имеющиеся точки восстановления будут удалены.
- Посмотреть, не установлено ли «Только чтение» для папки System Volume Information. Для этого в панели управления откройте «Параметры папок» и на вкладке «Вид» уберите отметку с «Скрывать защищенные системные файлы», а также включите «Показывать скрытые файлы и папки». После этого, на диске C кликните правой кнопкой мыши по System Volume Information, выберите пункт «Свойства», проверьте, чтобы не было отметки «Только чтение».
- Попробуйте выполнить выборочный запуск Windows. Для этого нажмите клавиши Win+R на клавиатуре, введите msconfig и нажмите Enter. В появившемся окне на вкладке «Общие» включите либо диагностический запуск, либо выборочный, отключив все элементы автозагрузки.
- Проверьте, включена ли служба Теневое копирование тома. Для этого нажмите Win+R на клавиатуре, введите services.msc и нажмите Enter. В списке найдите данную службу, при необходимости запустите ее и установите для нее автоматический запуск.
- Попробуйте сбросить репозиторий. Для этого перезагрузите компьютер в безопасном режиме (можно использовать вкладку «Загрузка» в msconfig) с минимальным набором сервисов. Запустите командную строку от имени администратора и введите команду net stop winmgmt и нажмите Enter. После этого переименуйте папку WindowsSystem32wbemrepository во что-то другое, например, repository-old. Снова перезагрузите компьютер в безопасном режиме и введите ту же команду net stop winmgmt в командной строке от имени администратора. После этого используйте команду winmgmt /resetRepository и нажмите Enter. Перезагрузите компьютер в обычном режиме.
Дополнительная информация: если ошибку вызывают какие-либо программы, связанные с работой веб-камеры, попробуйте отключить в параметрах вашего антивируса защиту веб-камеры (например, в ESET — Контроль устройств — Защита веб камеры).
Пожалуй, на данный момент — это все способы, которые я могу советовать для исправления ошибки 0x80070005 «Отказано в доступе». Если эта проблема возникает у вас в каких-то других ситуациях, описывайте их в комментариях, возможно, я смогу помочь.
Содержание
- Причина 1: Антивирус
- Причина 2: Отключена служба VSS
- Причина 3: Сбой TCP/IP
- Причина 4: Атрибуты системной папки
- Причина 5: Ошибки при загрузке обновлений
- Причина 6: Права доступа
- Причина 7: Повреждение системных файлов
- Причина 8: Вирусы
- Причина 9: Ошибки на жестком диске
- Заключение
- Вопросы и ответы
Во время взаимодействия с компьютером мы можем столкнуться с проблемами в виде различных системных сбоев. Они имеют разную природу, но всегда вызывают дискомфорт, а иногда и остановку рабочего процесса. В этой статье мы разберем причины возникновения ошибки 0x80070005 и опишем варианты ее устранения.
Эта ошибка чаще всего возникает при очередном автоматическом или ручном обновлении ОС. Кроме того, бывают ситуации, когда диалоговое окно с этим кодом возникает при запуске какого-либо приложения. Причины, которые приводят к такому поведению «винды», весьма разнообразные – от «хулиганства» антивирусной программы до повреждения данных в системном разделе.
Причина 1: Антивирус
Антивирусные программы чувствуют себя хозяевами в системе и зачастую действуют совершенно по-хулигански. Применимо к нашей ситуации они могут заблокировать доступ в сеть для служб обновления или запретить выполнение программ. Решить проблему можно, отключив активную защиту и брандмауэр, если таковой входит в пакет, или совсем удалить софт на время произведения апдейта.
Подробнее:
Как отключить антивирус
Как удалить антивирус
Причина 2: Отключена служба VSS
VSS – это служба теневого копирования, позволяющая перезаписывать те файлы, которые в данный момент заняты какими-либо процессами или программами. Если она отключена, то некоторые фоновые операции могут проходить с ошибками.
- Открываем системный поиск, нажав на значок лупы в левом нижнем углу на «Панели задач», пишем запрос «Службы» и открываем найденное приложение.
- Ищем в списке сервис, показанный на скриншоте, кликаем по нему, а затем жмем на ссылку «Запустить».
Если в колонке «Состояние» уже указано «Выполняется», нажимаем «Перезапустить», после чего перезагружаем систему.
Причина 3: Сбой TCP/IP
Большинство операций обновления происходит с подключением к интернету с помощью TCP/IP. Сбой в работе последнего может приводить к ошибке 0x80070005. Здесь поможет сброс стека протокола с помощью консольной команды.
- Запускаем «Командную строку». Обратите внимание, что это нужно сделать от имени администратора, иначе прием может не сработать.
Подробнее: Открытие командной строки в ОС Windows 10
Пишем (копируем и вставляем) такую команду:
netsh int ip reset
Жмем клавишу ENTER.
- После того как процесс завершится, перезагружаем ПК.
Причина 4: Атрибуты системной папки
На каждом диске в системе присутствует специальная папка с названием «System Volume Information», содержащая некоторые данные о разделах и файловой системе. Если она имеет атрибут, разрешающий только чтение, то процессы, требующие записи в этот каталог, будут выдавать ошибку.
- Открываем системный диск, то есть тот, как который установлена Виндовс. Идем на вкладку «Вид», открываем «Параметры» и переходим к изменению параметров папок.
- Здесь снова активируем вкладку «Вид» и отключаем опцию (убираем флажок), скрывающую защищенные системные файлы. Жмем «Применить» и ОК.
- Ищем нашу папку, кликаем по ней ПКМ и открываем свойства.
- Возле позиции «Только для чтения» снимаем галку. Обратите внимание, что чекбокс не обязательно должен стать пустым. Квадратик тоже подойдет (см. скриншот). Тем более что после закрытия свойств именно эта отметка выставится автоматически. После настройки нажимаем «Применить» и закрываем окно.
Причина 5: Ошибки при загрузке обновлений
В «винде» имеется еще одна особая директория с названием «SoftwareDistribution», в которую попадают все загруженные обновления. Если во время процесса скачивания и копирования произошла ошибка или обрыв соединения, то пакеты могут оказаться поврежденными. При этом система будет «думать», что файлы уже скачаны и будет пытаться ими воспользоваться. Для решения проблемы нужно очистить эту папку.
- Открываем оснастку «Службы» через системный поиск (см.выше) и останавливаем «Центр обновлений».
- Таким же способом завершаем работу сервиса фоновой передачи.
- Теперь идем в папку «Windows» и открываем нашу директорию.
Выделяем все содержимое и удаляем его.
- Для гарантированного достижения результата необходимо очистить «Корзину» от этих файлов. Сделать это можно с помощью специальных программ или вручную.
Подробнее: Очистка Windows 10 от мусора
- Выполняем перезагрузку.
Читайте также: Решаем проблему с загрузкой обновлений в Windows 10
Причина 6: Права доступа
Обсуждаемая нами ошибка может возникать из-за неверных настроек прав доступа к изменению некоторых важных разделов и ключей системного реестра. Попытка настройки этих параметров вручную может также оказаться неудачной. Поможет нам справиться с поставленной задачей консольная утилита SubInACL. Поскольку по умолчанию она отсутствует в системе, ее нужно скачать и установить.
Скачать утилиту с официального сайта
- Создаем в корне диска C: папку с названием «SubInACL».
- Запускаем скачанный установщик и в стартовом окне жмем «Next».
- Принимаем условия лицензионного соглашения.
- Нажимаем кнопку обзора.
В выпадающем списке выбираем диск C:, кликаем по созданной ранее папке и жмем ОК.
- Запускаем установку.
- Закрываем инсталлятор.
Здесь стоит объяснить, зачем мы меняли путь установки. Дело в том, что дальше нам придется писать скрипты для управления реестром, и в них будет фигурировать этот адрес. По умолчанию он довольно длинный и при вводе вполне можно ошибиться. К тому же там еще присутствуют пробелы, что подразумевает взятие значения в кавычки, отчего утилита может повести себя непредсказуемо. Итак, с инсталляцией мы разобрались, переходим к скриптам.
- Открываем обычный системный «Блокнот» и прописываем в нем вот такой код:
@echo off
Set OSBIT=32
IF exist "%ProgramFiles(x86)%" set OSBIT=64
set RUNNINGDIR=%ProgramFiles%
IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)%
C:subinaclsubinacl.exe /subkeyreg "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing" /grant="nt servicetrustedinstaller"=f
@Echo Gotovo.
@pause
- Идем в меню «Файл» и выбираем пункт «Сохранить как».
- Тип выбираем «Все файлы», даем скрипту любое название с расширением .bat. Сохраняем в удобное место.
Перед тем, как применять данный «батник», необходимо подстраховаться и создать точку восстановления системы, чтобы можно было откатить изменения в случае сбоя.
Подробнее:
Как создать точку восстановления в Windows 10
Как откатить Windows 10 до точки восстановления
- Запускаем скрипт от имени администратора.
- Перезагружаем машину.
Если прием не сработал, следует создать и применить еще один «батник» с кодом, указанным ниже. Не забудьте про точку восстановления.
@echo off
C:subinaclsubinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
C:subinaclsubinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
C:subinaclsubinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
C:subinaclsubinacl.exe /subdirectories %SystemDrive% /grant=administrators=f
C:subinaclsubinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
C:subinaclsubinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=system=f
C:subinaclsubinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
C:subinaclsubinacl.exe /subdirectories %SystemDrive% /grant=system=f
@Echo Gotovo.
@pause
Примечание: если во время выполнения скриптов в «Командной строке» мы видим ошибки доступа, значит, изначальные настройки реестра уже правильные, и нужно смотреть в сторону других способов исправления.
Причина 7: Повреждение системных файлов
Ошибка 0x80070005 также возникает и по причине повреждения системных файлов, отвечающих за нормальное течение процесса апдейта или запуск среды для выполнения программ. В таких случаях можно только попытаться их восстановить, используя две консольных утилиты.
Подробнее: Восстановление системных файлов в Windows 10
Причина 8: Вирусы
Вредоносные программы это извечная проблема владельцев ПК под управлением Виндовс. Эти вредители способны портить или блокировать системные файлы, изменять параметры реестра, вызывая различные сбои в системе. Если приведенные выше способы не принесли положительного результата, нужно проверить ПК на наличие вредоносных программ и при обнаружении избавиться от них.
Подробнее: Борьба с компьютерными вирусами
Причина 9: Ошибки на жестком диске
Следующее, на что следует обратить внимание, это возможные ошибки на системном диске. В Виндовс имеется встроенное средство по проверке и устранению таких неполадок. Впрочем, можно воспользоваться и специально предназначенными для этого программами.
Подробнее: Выполнение диагностики жесткого диска в Windows 10
Заключение
Крайним средством исправления ошибки 0x80070005 является попытка восстановления системы или ее полная переустановка.
Подробнее:
Восстанавливаем ОС Windows 10 к исходному состоянию
Возвращаем Windows 10 к заводскому состоянию
Как установить Виндовс 10 с флешки или диска
Давать советы по профилактике данной неполадки довольно сложно, но есть несколько правил, позволяющих минимизировать ее возникновение. Во-первых, изучите статью из параграфа про вирусы, это поможет понять, как не заразить свой компьютер. Во-вторых, старайтесь не пользоваться взломанными программами, особенно теми, которые устанавливают свои драйвера или службы, или меняют параметры сети и системы в целом. В третьих, без крайней надобности и предварительного изучения процесса, не изменяйте содержимое системных папок, параметров реестра и настроек «винды».
Ошибка 0x80070005 «Отказано в доступе» является не редким явлением на Windows 7, 8.1, 10. Появляется она при выполнении определенных действий в системе. Основная причина появления данной ошибки — это нарушение прав доступа к файлам. Чаще всего эту неполадку можно наблюдать при обновлении Windows, запуск некоторых служб, активации и восстановления ОС. Если проблема возникает при других действиях, то метод её решения будет одинаковым.
Исправление ошибки 0x80070005 с помощью subinacl.exe
[ads1]
Этот способ решения проблемы подходит, если вы пытаетесь обновить или активировать Windows. Если у вас появляется ошибка при восстановлении системы, рекомендую сначала воспользоваться методом 2, а если уже что-то не получится, тогда можно попробовать и этот.
Скачиваем программу subinacl.exe по ссылке: https://drive.google.com/file/d/1Bb8Q7Lg1B58kUMYxrB21wz-3MjOsgIae/view?usp=sharing и устанавливаем на компьютер.
Путь для установки, рекомендую выбрать как можно короче, например C:subinacl (по такому пути будет показан пример инсталляции).
Далее откройте блокнот (можно и любой другой текстовый редактор) и вставляем в него следующий код:
1 2 3 4 5 6 7 8 9 10 |
@echo off Set OSBIT=32 IF exist "%ProgramFiles(x86)%" set OSBIT=64 set RUNNINGDIR=%ProgramFiles% IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)% C:subinaclsubinacl.exe /subkeyreg "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing" /grant="nt servicetrustedinstaller"=f @Echo Gotovo. @pause |
Обратите внимание, что в коде (строка номер 7) указан путь к subinacl.exe по такому пути C:subinaclsubinacl.exe. Если вы установили программу Subinacl по другому пути, нужно будет исправить этот путь в коде.
После этого в блокноте нажимаете «Файл» — «Сохранить как», далее в окне сохранения файла, в разделе «Тип файла» — выбираете пункт «Все файлы», а в разделе «Имя файла» — даем любое имя, главное чтобы в конце имени было расширение .bat. Для удобства, сохраняем его на рабочий стол.
Далее кликаем правой клавишей мыши по файлу subinacl.bat и в контекстном меню выбираем пункт «Запуск от имени Администратора».
После успешного завершения операции, должно появиться уведомление «Gotovo» и предложение закрыть его, нажатием любой клавиши. Далее делаем перезагрузку компьютера и пробуем повторно выполнить операцию, которая раньше выдавала ошибку 0x80070005 отказано в доступе.
Появление ошибки во время восстановления системы или при создании точки восстановления
[ads2]
В первую очередь, при восстановлении системы и получении ошибки 0x80070005, обращаем внимание на вашу антивирусную программу. Из-за защиты компонентов антивирусом, служба восстановления Windows может не работать. Поэтому отключаем все защитные функции антивируса или можно временно его удалить, и попробовать провести процедуру. В крайнем случае, удалить антивирус.
Если это не помогло, можно попробовать следующие действия для исправления ошибки:
- Нужно проверить, есть ли свободное место на локальных дисках, в случае заполнения, очистить их.
- Проверить, не установлено ли «Только чтение» для папки System Volume Information. Для этого открываем параметры папок, переходим во вкладку «Вид» и в ней ищем пункт «Скрывать защищенные системные файлы». Убираем галочку с этого пункта.Там же ниже ставим галочку напротив пункта «Показывать скрытые файлы, папки и диски».Далее открываем диск С, в нем кликаем правой клавишей мыши по папке «System Volume Information», выбираем пункт «Свойства» и смотрим чтобы не было галачки в пункте «Только для чтения».
- Проверьте какой статус работы имеет служба «Теневое копирование тома». Зажимаем одновременно сочетание клавиш Win+R и вводим в появившуюся строку services.msc, и жмем Enter. Среди списка служб найти эту службу и проверить, чтобы она была включена (Состояние — Выполняется), при необходимости включить её.
Нажимаем Win+R и вводим в появившуюся строку services.msc, и жмем Enter. Находим службу «Центр обновления Windows» и останавливаем её работу. Для этого нажимаем правой клавишей по службе, и в контекстном меню выбираем «Остановить».
Идем по пути C:Windows и находим папку SoftwareDistribution. Переименуйте её в любое другое название, например SoftwareDistribution_backup.
Теперь снова открываем список служб и включаем (состояние должно быть «Выполняется) службу «Центр обновления». Перезагружаем ПК и пробуем обновиться.
На этом пока всё. Если будут найдены новые методы решения ошибки 0x80070005 «Отказано в доступе», добавлю их в статью. Всем добра!
I’m having a permissions problem while running a .vbs script. The script is to add new user accounts from an receptionist’s computer.
The script gets hung up on the line:
objUser.SetInfo
this is where it is actually setting the attributes and writing to the user account.
I know it’s a permissions problem. I have tried running the script as a «top level» admin where permissions shouldn’t be an issue, but I still get the error 80070005
. It doesn’t make a difference if I run it from a domain controller or workstation — same error.
I have created a simple 3 line script to create a user object to test my theory — and even the 3 line script fails on the objUser.SetInfo
line.
What can I do to easily have this script run from a domain joined computer (administrative assistant’s, or a receptionists)?
strOU= InputBox("Enter the classification of the new User" &_
vbCrLf & "NOTE: You MUST enter 'Patients'")
If strOU = False Then Call NO_OU(1)
If strOU = "" Then Call NO_OU(2)
' If IsNumeric(strOU) = False Then Call NO_OU(3)
strName = InputBox("Enter the Logon ID of the New Patient (firstname.lastname)" &_
vbCrLf & "to be created.")
If strName = False Then Call NOName(1)
If strName = "" Then Call NOName(2)
' If IsNumeric((Left(strName,3))) = False Then Call NOName(3)
strFirstName = InputBox("Enter the New Patient's First Name")
If strFirstName = False Then Call NOName(1)
If strFirstName = "" Then Call NOName(2)
strLastName = InputBox("Enter the New Patients's Last Name")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strtelephoneNumber = InputBox("Enter the New Patients's Telephone")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strstreetAddress = InputBox("Enter the New Patients's Street Address")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strl = InputBox("Enter the New Patients's city")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strpostalCode = InputBox("Enter the New Patients's postal code")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
Call Password()
Call Main()
Call Quit(2)
Sub Main()
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
Set objRoot = GetObject("LDAP://rootDSE")
Set objRootDSE = GetObject("LDAP://rootDSE")
Set objDomain = GetObject("LDAP://" &_
objRoot.Get("defaultNamingContext"))
Set objOU = GetObject("LDAP://OU=" &_
strOU & "," & strDNSDomain)
'Create the new User
On Error Resume Next
Set objUser = objOU.Create("User", "cn=" & strFirstName & " " & strLastName)
objUser.Put "sAMAccountName", strName
objUser.Put "givenName", strFirstName
objUser.Put "sn", strLastName
objUser.Put "distinguishedName", strFirstName & " " & strLastName
objUser.Put "displayName", strLastName & "," & strFirstName
objUser.Put "userPrincipalName", strName & "@dicksonmedical.mittens.local"
objuser.Put "telephoneNumber", strtelephoneNumber
objuser.Put "streetAddress", strstreetAddress
objuser.Put "l", strl
objuser.Put "postalCode", strpostalCode
objUser.SetInfo
If Err.number <> 0 Then Call Quit(1)
'Set User account environment
Set objUser = objOU.GetObject ("User", "cn=" & strFirstName & " " & strLastName)
Const Enabled = 1
Const Disabled = 0
If objUser.class = "user" Then
objUser.AllowLogon = Enabled
objUser.IsAccountLocked = False
objUser.SetPassword strInputReturn1
objUser.Put "pwdLastSet", Disabled
objUser.AccountDisabled = False
objUser.SetInfo
End if
'objUser.SetPassword StrPassword1
'objUser.SetPassword StrPassword2
'objUser.Put "pwdLastSet", Enabled
End Sub
Function Password()
strPassword = InputBox("Enter the User's Password")
If strPassword = False Then Call NOPassword(1)
If strPassword = "" Then Call NOPassword(2)
strConfPassword = InputBox("Enter the User's Password")
If strConfPassword = False Then Call NOPassword(1)
If strConfPassword = "" Then Call NOPassword(2)
If strPassword <> strConfPassword Then
Call PasswordMisMatch(1)
Else strInputReturn1 = strPassword
End If
End Function
Sub NO_OU(Error)
If Error = "1" Then MsgBox("Canceled")
If Error = "2" Then MsgBox("Invalid User Type Entered!" &_
vbCrLf & "Enter 'Patients'")
If Error = "3" Then MsgBox("Invalid User Type Entered!" &_
vbCrLf & "Enter 'Patients'")
Call Quit(1)
End sub
Sub NOName(Error)
If Error = "1" Then MsgBox("Canceled")
If Error = "2" Then MsgBox("User's Name not entered.")
If Error = "3" Then MsgBox("Invalid User Name" & vbCrLf &_
"Example: 888$jsmith")
Call Quit(1)
End sub
Sub NOPassword(Error)
If Error = "1" Then MsgBox("Canceled")
If Error = "2" Then MsgBox("User's Password not entered.")
Call Quit(1)
End Sub
Sub PasswordMisMatch(Error)
If Error = "1" Then MsgBox("Passwords Do NOT Match" &_
vbCrLf & "Try Again.")
Call Password()
End Sub
Sub Quit(Error1)
If Error1 = "1" Then MsgBox("Script Canceled!!")
If Error1 = "2" Then MsgBox("User Account Created.")
WScript.Quit
End Sub
Sub Sure(Error1)
If Error = "1" Then strYN = MsgBox("Are you sure?", 4, "Enter OU Prompt")
If strYN = 6 Then
If strYN = 7 Then Call Quit(1)
End If
End Sub
Во время работы на компьютере многие пользователи сталкиваются с ошибками системы, которые порой ставят в тупик. Именно по этой причине многие начинают паниковать, как только обнаружат на экране сообщение об ошибке 0x80070005. Что же представляет собой такая ошибка, как с ней бороться, новичку, безусловно, разобраться сложно. Однако если изучить рекомендации опытных пользователей, моментально всё станет на свои места, будет просто разобраться в вопросах, что такое ошибка 0x80070005 и как исправить её в Windows 10.
Устранение ошибки 0x80070005 Windows.
Что такое ошибка 0x80070005
Если на компьютере установлено автоматическое обновление, ваш ПК без вашего участия будет самостоятельно выполнять такие задачи, уведомляя о том, что такие действия были завершены успешно. К сожалению, может случиться так, что система проинформирует вас о неприятном сюрпризе, сообщая о возникновении неизвестной ошибки 0x80070005. Именно эта злополучная ошибка становится препятствием для получения желаемого обновления, а также поводом для ухудшения настроения. Также такое сообщение «выплывает», когда пользователь внезапно решил активировать Windows. Поможем разобраться в основных причинах возникновения такой ошибки, а также поможем вам выполнить определённые действия, «заставить» операционную систему безукоризненно слушаться вас.
Причины возникновения
Если разобраться в том, что провоцирует возникновение ошибки 0x80070005, тогда проще будет понять, почему вам отказано в доступе. Если углубиться в проблему, можно понять, что она возникает потому, что операционная система стремится получить файлы обновления или активации, которые размещены на удалённом сервере. Также с такой непонятной ситуацией придётся пересечься, если вы пожелаете восстановить операционную систему. Именно в такие моменты внезапно обнаруживается, что доступ к серверному хранилищу почему-то закрыт, соответственно, система вас мгновенно уведомляет о том, что выполнить вашу просьбу не может. Итак, теперь, когда вы понимаете, почему возникает ошибка, можно приступить к ознакомлению с информацией, как исправить проблему.
Способы решения
Итак, предлагаем приступить к ответственным действиям. Вариантов решения проблемы, которая извещает о таком коде ошибки, как 0x80070005, в Windows 10, существует несколько. Рассмотрим первый вариант, позволяющий устранить сбой в автоматическом режиме. Предлагаем запустить командную строку. Это достаточно просто сделать, если нажать две клавиши – Win и R, затем в открывшейся строке пропишите первую команду «cmd». Кстати, обращаем внимание, что все эти действия нужно выполнять исключительно от имени администратора, при игнорировании такой рекомендации ваши действия завершатся провалом.
В открывшемся окне, отличительной особенностью которого является чёрный фон, введите последовательно:
- sfc/scannow
- dism/online/cleanup-image/scanhealth
- dism/online/cleanup-image/restorehealth
Набирайте команды внимательно, ничего не пропуская, чтобы ваши действия, ориентированные на проверку диска на ошибки, увенчались успехом. Иногда будет вполне достаточно осуществить такие действия в автоматическом режиме, после этого проблема будет решена. К сожалению, гарантировать, что и в вашем случае всё именно так и случится, не всегда можно. Такой метод срабатывает только, когда нарушена целостность системных компонентов. В остальных случаях предлагаем предпринять иные действия.
Хорошим помощником выступает для большинства пользователей утилита SubInACL. Скачать утилиту рекомендуем с официального сайта Microsoft. После скачивания утилиту нужно проинсталлировать, не торопитесь, выполняйте все действия последовательно, опираясь на наши рекомендации. В частности, в момент инсталляции система запросит указать место, куда должна установиться программка. Важно поместить утилиту в корневой системный раздел.
После этого откройте стандартный блокнот, в его свободное поле введите предлагаемый нами код. Кстати, гораздо проще его скопировать, нежели набирать, это позволит избежать случайного пропуска какого-либо символа. Итак, откройте блокнот, пропишите в нём или же вставьте после предварительного копирования предлагаемый нами готовый код:
@echo off
Set OSBIT = 32
IF exist «%ProgramFiles(x86)%» set OSBIT = 64
set RUNNINGDIR = %ProgramFiles%
IF %OSBIT% = 64 set RUNNINGDIR = %ProgramFiles(x86)%
C:subinaclsubinacl.exe /subkeyreg «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing»/grant=»nt servicetrustedinstaller»=f
Теперь необходимо сохранить блокнот с расширением .bat.
После этого запустите утилиту от имени администратора. Далее она начнёт свою «деятельность», остаётся дождаться завершения процесса, о котором вы будете уведомлены появившейся надписью «Gotovo». Чтобы все изменения были успешно применены к операционной системе вашего ПК, рекомендуем вам перезагрузить компьютер. В большинстве случаев код 0x80070005 больше не появляется. Такими несложными действиями будут исправлены серьёзные проблемы, устранить которые изначально казалось невероятно сложно. Однако и этот скрипт не является волшебником на все случаи жизни. Иногда приходится искать и другие пути решения проблемы. Следует обратить внимание на то, какое количество свободного места имеется на диске, задействованном при восстановлении системы.
Кстати, при выполнении описанных действий не забудьте осуществить отключение антивируса или файервола, поскольку они могут препятствовать выполнению всех действий, в том числе осуществлять переименование или удаление содержимого папки SoftwareDistribution. Иногда даже полезно отказаться от одной антивирусной программы в пользу другой. Более мощный и надёжный антивирус может осуществить успешное устранение вирусной угрозы, которая зачастую выступает в качестве виновника тревожащей вас проблемы.
И ещё полезно будет выполнить сброс параметров TCP IP. Такие действия позволяют решить проблему с сетью, а также восстановить согласованность между компонентами, если ранее были инсталлированы «неродные» драйверы. Сброс параметров осуществить несложно, если последовательно ввести две команды:
- netsh int ip reset;
- netsh winsock reset.
Не забывайте после каждой команды нажимать клавишу «Enter». В завершение действий важно помнить, что компьютер нуждается в обязательной перезагрузке. После успешного старта наслаждайтесь стабильной работой вашей ОС. Ещё предлагаем изучить правила устранения ошибки, часто возникающей в момент восстановления системы.
Прежде всего, предлагаем разобраться, обладаете ли вы правами доступа к расположенному на системном диске каталогу System Volume Information. Поскольку нам предстоит работать со скрытыми каталогами, не забудьте включить отображение скрытых файлов, каталогов. Такие манипуляции важны, в ходе выполнения всех последующих действий потребуется осуществить включение службы теневого копирования тома.Также нам предстоит осуществить изменение атрибутов каталога System Volume Information, по этой причине отобразите свойства этого каталога, если там вы обнаружите галочку в чекбоксе возле параметра «Только чтение», обязательно уберите её. Чтобы необходимые изменения вступили в силу, требуется перезагрузка ОС, после которой запуск безопасного режима.
Далее снова предстоит поработать с командной строкой, пропишите в ней «net stop Winmgmt». После этого переориентируйте своё внимание на папку «System32», в которой вы обнаружите достаточное количество подпапок, среди которых нужно найти «WBEM».
Обнаружив её, кликните по ней и откройте, найдите в ней каталог «repository». Нам предстоит переименование этого каталога. Придумывать какие-то сложные названия не нужно. Будет вполне достаточно после основного названия «repository» поставить точку и приписать «Old». Поскольку мы вновь вносили определённые изменения, придётся перезагрузить свой ПК повторно, а при его рестарте выбрать безопасный режим. Теперь введите первичную команду остановки, затем пропишите «winmgmt /resetRepository».
Опять осуществляем перезагрузку, только в этот раз уже запускаем Виндовс как обычно. Скорее всего, после запуска ОС вы останетесь довольны тем, что непредвиденная ошибка при восстановлении системы больше не всплывает, не раздражает вас. Восстановление системных файлов теперь не будет проблемой.
Итак, разобраться в таком техническом вопросе, как возникновение ошибки 0x80070005, можно, но только при условии предельной внимательности.
Обновлено 07.04.2016
Ошибка 0x80070005 отказано в доступе-00
Всем привет сегодня расскажу как решается ошибка 0x80070005 «Отказано в доступе» в Windows 8.1 наиболее часто встречается в трех случаях — при установке обновлений Windows, активации системы и при восстановлении системы. Если же аналогичная проблема возникает в других ситуациях, как правило, решения будут теми же, так как причина ошибки одна. В этой инструкции подробно опишу работающие в большинстве случаев способы исправить ошибку доступа восстановления системы и установки обновлений с кодом 0x80070005. К сожалению, рекомендуемые шаги не гарантированно приводят к ее исправлению: в некоторых случаях требуется вручную определять, к какому файлу или папке и какому процессу требуется доступ и предоставлять его вручную. Описанное ниже подойдет для Windows 7, 8 и 8.1 и Windows 10.
Исправляем ошибку 0x80070005 с помощью subinacl.exe
Первый способ в большей степени относится к ошибке 0x80070005 при обновлении и активации Windows, так что если проблема у вас возникает при попытке восстановления системы, рекомендую начать со следующего способа, а уже потом, если не поможет, вернуться к данному.
Для начала, загрузите утилиту subinacl.exe с официального сайта Microsoft и установите ее на компьютер. При этом, рекомендую устанавливать в какую-то папку, близкую к корню диска, например C:subinacl (именно с таким расположением я буду приводить пример кода далее).
Ошибка 0x80070005 отказано в доступе-01
После этого, запустите Блокнот и введите в него следующий код:
@echo off Set OSBIT=32 IF exist "%ProgramFiles(x86)%" set OSBIT=64 set RUNNINGDIR=%ProgramFiles% IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)% C:subinaclsubinacl.exe /subkeyreg "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing" /grant="nt servicetrustedinstaller"=f @Echo Gotovo. @pause
В блокноте выберите «Файл» — «Сохранить как», затем в диалоговом окне сохранения выберите в поле «Тип файла» — «Все файлы» и укажите имя файла с расширением .bat, сохраните его (я сохраняю на рабочий стол).
Ошибка 0x80070005 отказано в доступе-02
Кликните правой кнопкой мыши по созданному файлу и выберите пункт «Запуск от имени Администратора». По завершении вы увидите надпись: «Gotovo» и предложение нажать любую клавишу. После этого закройте командную строку, перезагрузите компьютер и попробуйте выполнить ту операцию, которая выдавала ошибку 0x80070005 снова.
Если указанный сценарий не сработал, попробуйте аналогичным образом еще один вариант кода (Внимание: код ниже может привести к неработоспособности Windows, выполняйте его только если готовы к такому исходу и знаете, что делаете):
@echo off C:subinaclsubinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f C:subinaclsubinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=administrators=f C:subinaclsubinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f C:subinaclsubinacl.exe /subdirectories %SystemDrive% /grant=administrators=f C:subinaclsubinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f C:subinaclsubinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=system=f C:subinaclsubinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=system=f C:subinaclsubinacl.exe /subdirectories %SystemDrive% /grant=system=f @Echo Gotovo. @pause
После запуска скрипта от имени администратора, откроется окно, в котором в течение нескольких минут поочередно будут меняться права доступа на разделы реестра, файлы и папки Windows, по завершении нажмите любую клавишу.
Ошибка 0x80070005 отказано в доступе-03
Вот так вот просто решается Ошибка 0x80070005 отказано в доступе в Windows 8.1.
Материал сайта pyatilistnik.org
«Ошибка 0x80070005 отказано в доступе» появляется при действиях, связанных с синхронизацией приложений с серверами Microsoft. Обычно пользователи сталкиваются с ней при обновлении Windows, восстановлении системы или ее активации. Неважно, какое событие вызвало проблему, существует несколько решений, которые подойдут для любых ситуаций. В этой статье вы узнаете, что такое ошибка 0x80070005 в Windows 10 – как исправить ее и не допустить появления в будущем.
Причины
0x80070005 – это код системной ошибки, которая появляется лишь по одной причине – попытка скачивания обновлений с серверов Microsoft. Во время этого процесса система может отказать пользователю в доступе к некоторым файлам, тем самым прерывая процесс апдейта.
Возникнуть подобная проблема может в разных ситуациях: отсутствие прав на скачивание файлов, заражение компьютера вирусами, недостаток свободной памяти, проблемные ключи в реестре. Способы устранения ошибки 0x80070005, описанные в этой статье, помогут решить проблему во всех возможных случаях.
Отсутствие прав
Первое, что вам нужно сделать при возникновении ошибки 0x80070005, – получить права администратора компьютера. Зачастую она возникает именно по причине недостаточного уровня доступа.
Чтобы получить права администратора в Windows 10, сделайте следующее:
- Откройте окно «Выполнить» (Win+R) и введите команду control.
- В появившейся панели управления перейдите в раздел учетных записей.
- Здесь нужно изменить тип своего аккаунта с пользовательского на администраторский. Меняйте уровень доступа для той учетной записи, под которой вы работаете в Windows.
- После этого понадобится заново войти в систему с новым типом аккаунта.
Системный раздел
Ошибка 0x80070005 нередко появляется по причине отсутствия доступа к системному разделу System Volume Information.
Чтобы решить проблему, вам нужно:
- Найти эту папку в поиске по компьютеру.
- Открыть ее «Свойства».
- Перейти на вкладку атрибутов и установить параметр «Чтение и запись» для своего аккаунта.
Данная папка может быть скрыта в Windows 10, поэтому предварительно нужно нажать на вкладку «Вид» в проводнике и активировать показ скрытых элементов.
Нехватка памяти
Помимо недостатка прав для изменения некоторых элементов компьютера, ошибка 0x80070005 появляется и по причине банальной нехватки памяти. Чтобы получить больше свободного места на диске, удалите ненужные вам файлы или почистите кэш.
Статья по теме: Как очистить кэш на телефоне и компьютере
Сканирование на вирусы
Если ваша система была заражена вредоносным программным обеспечением, это может вызвать ошибку с кодом 0x80070005. Необходимо провести сканирование на вирусы, чтобы избавиться от всех нежелательных программ, установленных на вашем компьютере. В Windows 10 есть встроенный антивирус «Защитник», можете воспользоваться им.
Редактор реестра
Редактор реестра Windows может помочь исправить ошибку 0x80070005, но делает он то же самое, что и первые два способа, описанные в этой статье. С помощью редактирования некоторых разделов реестра вы можете выдать себе права администратора, чтобы получить доступ к чтению и записи всех разделов компьютера. Делается это следующим образом:
- Откройте окно «Выполнить» и введите команду regedit.
- В появившемся редакторе кликните правой кнопкой мыши по папке HKEY_CLASSES_ROOT.
- Выберите разрешения и найдите в списке свою учетную запись.
- Выдайте аккаунту все необходимые права (проставьте галочки в столбике «Разрешить»).
Если нужного аккаунта в списке нет, выберите всех пользователей и администраторов и выдайте им полный доступ ко всем файлам.
Андрей Дорохов
Инженер, мастер по ремонту компьютеров
Ошибка 0x80070005 – частое явление в Windows 10. Связана она обычно с отсутствием доступа к системным файлам. В большинстве случаев проблема исправляется выдачей прав администратора конкретному пользователю. Как правило, дополнительных действий после этого не требуется.
Можно ли исправить ошибку 0x80070005 с помощью восстановления системы?
Восстановление системы может исправить множество проблем с Windows, включая эту. Для отката системы перейдите в соответствующий раздел параметров, выберите дату, в которую ошибки не было, и запустите процесс. Однако при этом ошибка может появиться снова в будущем. Поэтому лучше просто выдать своей учетной записи права администратора.
Поможет ли исправить ошибку 0x80070005 отключение обновлений?
Если проблема возникала именно из-за скачивания новых патчей для Windows 10, то отключение центра обновлений поможет ее решить. Однако делать это не рекомендуется, так как вы рискуете лишиться не только новых функций, но и обновлений безопасности системы.
Ошибка 0x80070005 может возникать при ситуации, когда система, установленная на персональном компьютере, пытается обратиться к удаленному серверу компании Microsoft. Обычно подобная неприятность возникает из-за таких действий пользователя:
- Загрузка обновлений. Следствие — ошибка центра обновления Windows 0x80070005.
- Процедура активации системы. Следствие — ошибка активации лицензии Windows.
Кроме того, пользователь легко может столкнуться с непредвиденной ошибкой при восстановлении системы, которая также будет иметь код 0x80070005.
Логично, что у обычного человека возникает сразу два вопроса:
- Почему это происходит?
- Можно ли самостоятельно избавиться от кода ошибки 0x80070005 Windows 10 или 7?
Мы постараемся помочь решить данную проблему.
Юзеры видят код ошибки 0x80070005 после различных действий на ПК:
- активации «десятки»;
- восстановление «операционки»;
- обновление системы и отдельных утилит.
Любая из этих операций завершается неудачно — пользователь получает специальное сообщение об этом (в отдельном окне либо в окошке «Параметры», где расположен «Центр обновления Windows»).
Частое объяснение ошибки с таким кодом — недостаточное право доступа к системным файлам, отсутствие разрешений, которые необходимы для тех или иных операций. В связи с этим при возникновении ошибки сначала войдите в систему под «учёткой» администратора, а не обычного пользователя.
Однако, если вы вошли как администратор на «Рабочий стол», но ошибка всё равно появляется, её причиной значит является другой фактор: блокировка со стороны антивируса, выключенный полный доступ к системному каталогу System Volume Information, вирусы на устройстве и другое.
Почему возникает
Существует ряд определенных случаев, когда пользователь может увидеть ошибку с кодом 0x80070005:
- во время обновления операционной системы;
- во время восстановления ОС Windows 10;
- когда осуществляет активацию Виндовс и другие.
Для тех, кто задумывается, что означает ошибка 0х80070005 в Windows 10 поясняю — внесение изменений в систему, вследствие чего произошла неполадка. Ничего страшного не случилось, я подготовил руководство по ее устранению.
Вход в учётную запись администратора
Попробуйте сначала изменить тип своего аккаунта на ПК, чтобы входить в систему в качестве администратора:
- Вызываем с помощью R и Win панель «Выполнить» — в пустой строчке пишем control panel или control, чтобы запустить «Панель управления».
- На панели ищем внимательно блок под названием «Учётные записи пользователей».
- В центральной части окна кликаем по третьей ссылке «Изменение типа своей учётной записи».
- Ставим отметку слева от администратора — щёлкаем по кнопке изменения.
- Выходим из системы и заходим снова либо просто перезагружаем ПК.
О чем свидетельствует этот сбой?
Ошибка этого типа, как считается, может появляться в нескольких ситуациях. Чаще всего ее возникновение ассоциируется с попыткой установки апдейтов, активацией или восстановлением системы. Однако это далеко не все случаи ее проявления. Дело в том, что даже при регистрации динамических библиотек код будет одним и тем же, а вот описания сбоя – другими.
Однако в общем случае код ошибки 0x80070005 говорит, что система пытается обращаться к серверу Microsoft или к другому ресурсу (например, при установке игр), но в ответ получает запрет. С другой стороны, такой сбой может быть связан с установкой библиотек vbscript.dll и jsscript.dll, при которой производится их регистрация в системе в ручном режиме.
Далее мы предлагаем несколько решений, которые пусть и не гарантировано, но помогут исправить ситуацию. А не гарантировано потому, что сообщение может содержать один и тот же код, а первопричины – быть разными.
Запуск средства диагностики для «Центра обновления»
Если проблема возникла после запуска обновления «Виндовс», попытайтесь сначала исправить ошибку с помощью встроенного средства для диагностики:
- В «Поиске» системы (значок в виде лупы либо поисковая строка на «Панели задач») вводим запрос «Устранение неполадок».
- Если панель поиска не удаётся открыть, запускаем окно «Параметры» через I и Win либо через меню «Пуск» (шестерня под значком профиля). В «Параметрах» кликаем по плитке «Обновления и безопасность» и переходим на вкладку «Устранение неполадок».
- Находим пункт, посвящённый «Центру обновления» — раскрываем его единичным щелчком.
- Щёлкаем по «Запустить средство устранения неполадок».
- В окне мастера начнётся проверка — ждём завершение. Возможно, инструмент диагностики сразу обнаружит, что у вас на ПК отсутствуют те или иные обновления.
- В результате средство найдёт метод решения — кликаем по «Применить исправление». Если это загрузка апдейта, средство тут же начнёт скачивание.
- В отчёте будут показаны найденные неполадки и будет отмечено, были они исправлены либо нет. Щёлкаем по «Закрыть». Если обновление уже загрузилось (смотрим в первой вкладке «Центр обновления»), перезагружаем ПК, чтобы обновления установились.
Устранение ошибки при загрузке обновлений
Проблема может быть вызвана повреждением файлов обновления, которые находятся в папке SoftwareDistribution. Решением послужит удаление битых данных, но сначала нужно отключить две службы:
- Нажать на клавиатуре Win + R.
- В новом окне написать services.msc.
- Нажать ОК.
- В списке выделить Центр обновления Windows.
- Кликнуть по ссылке Остановить.
- Найти Фоновая интеллектуальная служба передачи (BITS), остановить аналогичным образом.
- Запустить файловый менеджер Проводник.
- Перейти в папку Windows, которая находится на диске C.
- Открыть директорию SoftwareDistribution.
- Выделить содержимое.
- Кликнуть правой кнопкой мыши по выделению.
- Выбрать опцию Удалить.
Сбрасываем настройки «Центра обновлений»
Если инструмент для диагностики не избавил вас от ошибки, сделайте сброс настроек центра. Для этого будем использовать специальный сценарий, который сначала остановит работу центра, сбросит его параметры, а затем снова запустит процесс. Выполните следующие шаги:
- Копируем и вставляем следующие команды в «Блокнот»: @ECHO OFF echo Sbros Windows Update echo. PAUSE echo. attrib -h -r -s %windir%system32catroot2 attrib -h -r -s %windir%system32catroot2*.* net stop wuauserv net stop CryptSvc net stop BITS ren %windir%system32catroot2 catroot2.old ren %windir%SoftwareDistribution SoftwareDistribution.old ren «%ALLUSERSPROFILE%application dataMicrosoftNetworkdownloader»downloader.old net Start BITS net start CryptSvc net start wuauserv echo. echo Gotovo echo. PAUSE
- Нажимаем на «Файл», а затем на «Сохранить как». В качестве расширения в конце названия файла пишем .bat.
- Используя правый клик мышки, щёлкаем по только что созданному файлу. Запускаем его от имени администратора.
- Перезагружаем компьютер.
Код ошибки 0x80070005: как исправить путем онлайн-восстановления системы
Очень может быть, что появление сбоя связано с нарушением целостности компонентов системы. Их нужно проверить. Для этого используется командная строка, запускать которую необходимо исключительно от имени администратора или локальной регистрационной записи, наделенной такими правами.
Первым делом прописывается команда sfc/scannow. Если по завершении процесса сбой появляется снова, то при постоянном подключении к интернету можно произвести проверку или восстановление системы онлайн.
Для этого в той же консоли применяется команда, указанная на изображении выше. Если это не сработало, двигаемся дальше.
Если для папки System Volume Information по ошибке был установлен статус «Только для чтения»
В системном разделе System Volume Information хранятся данные, необходимые для выполнения вышеуказанных действий на ПК (восстановление, обновление т. д.). Если для него будет указано значение «Только для чтения», система будет выдавать ошибку 0x80070005. Исправить это можно сменой статуса каталога:
- Сначала нужно включить показ скрытых папок в «Проводнике». Сделать это быстро можно следующим образом: в универсальной строке поиска «десятки» наберите запрос «показ скрытых папок» — панель сразу же покажет нужное окошко.
- В окне с настройками перейдите в самый низ списка и поставьте значение «Показывать скрытые…». Сохраните и примените все изменения.
- Раскройте содержимое системного диска и отыщите каталог System Volume Information — он будет корневым.
- В его контекстном меню (клик правой кнопкой мышки) щёлкните по последней строчке.
- Снимите чёрную квадратную о.
- Нажмите сперва на «Применить», а потом на ОК. Попробуйте провести обновление либо восстановление ещё раз.
Инструкция по решению проблем при возникновении ошибки 0x80070005
На различных этапах скачивания и установки обновления Windows 7, 8, 8.1 и Windows 10 Пользователи могут столкнуться с ошибкой 0x80070005. Также она может высвечиваться при активации системы и при процедурах по ее восстановлению. В этой статье приведено описание причин ошибки и инструкции, позволяющие ее исправить. Если ошибка 0x80070005 появилась в любой другой ситуации, попробуйте воспользоваться этой инструкцией, но с поправкой на конкретные действия, во время которых вы увидели сообщение об ошибке и этот код.
Удаляем ошибки в реестре с помощью CCleaner
Ошибка с кодом 0x80070005 может появляться, если у вас в реестре скопилось много ошибочных записей. Убрать их можно посредством сторонней утилиты CCleaner от компании Piriform. Для получения результата хватит и бесплатного варианта программы:
- Переходим на официальный сайт CCleaner по этой ссылке. Прокручиваем сайт немного вниз до списка версий — загружаем бесплатную (Free). Щёлкаем по зелёной кнопке «Скачать».
- На следующей странице с таблицей кликаем в первой колонке по ссылке Download.
- Устанавливаем утилиту с помощью загруженного инсталлятора. Переходим в интерфейсе приложения на блок «Реестр». Щёлкаем по клавише «Поиск проблем».
- Ждём, когда приложение завершит поиск проблем с реестром.
- Когда проверка закончится, кликаем по второй синей кнопке в правом нижнем углу окна «Исправить выбранное».
- Жмём на «Да», чтобы сохранить резервную копию реестра.
- Сохраняем в любом удобном месте и запоминаем обязательно его, чтобы в случае неполадок всё быстро восстановить.
- Щёлкаем после этого сразу на «Исправить отмеченные» — ожидаем завершение.
- После этого снова запускаем проверку на ошибки в реестре, так как за один раз все ошибки программа может не найти. Когда появится фраза «Неполадки не найдены», повторяйте обновление, активацию или другое необходимое вам действие на ПК, чтобы проверить, исчезла ли ошибка.
Видео: как пользоваться программой CCleaner
Если причина в блокировке антивирусом некоторых программ
Антивирус, постоянно работающий у вас на ПК (Avast, «Защитник Виндовс», Kaspersky, McAfee и прочие), может по ошибке блокировать скачивание апдейта, выполнение каких-либо операций на ПК. Чтобы удостовериться, что дело не в нём, на время деактивируйте защиту утилиты. Сперва опишем процедуру для Windows Defender (встроенного антивируса «десятки»):
- Раскройте трей «Виндовс» — щёлкните по знаку Defender (белому щиту).
- Если же его нет, раскройте панель «Параметры», зайдите в раздел «Безопасность и обновление» и перейдите в блок, посвящённый безопасности ПК. Кликните по клавише для запуска интерфейса «Защитника».
- В «Защитнике» переходим сразу в настройки — кликните по «Параметры» (пункт внизу окна в левой области).
- Под блоком с уведомлениями о защите жмём на ссылку, ведущую в список с дополнительными параметрами.
- Деактивируем первый пункт о защите в режиме реального времени с помощью тумблера под параметром.
- Кликаем по «Да», чтобы дать согласие на сохранение изменений.
- В итоге вы увидите красную отметку с крестиком и сообщение о том, что девайс сейчас уязвим. Попробуйте теперь сделать восстановление либо обновить систему — ошибка должна исчезнуть.
Если у вас в данный момент активным является антивирус от стороннего разработчика, деактивировать нужно его защиту. В случае Avast это сделать довольно легко:
- В трее «Виндовс» отыщите значок стороннего антивируса — кликните по нему, но не левой, а правой клавишей мышки и один раз.
- В появившемся контекстном меню значка открываем второй перечень для управления экранами — достаточно навести стрелку мышки на строчку.
- Выберите один из режимов деактивации — время, на которое антивирус отключит полностью свою защиту. В случае дальнейшего обновления либо восстановления может понадобиться около получаса, поэтому ставим максимальный показатель в данном случае — 1 час.
Сканирование ПК на наличие вирусов
Вначале используйте «родной» для вашего ПК антивирус, то есть тот, что находится постоянно в активном состоянии. Это может быть как стандартный Windows Defender, так и любой сторонний продукт для защиты. Вне зависимости от программы перед запуском проверки проследите, чтобы утилита была обеспечена всеми необходимыми обновлениями.
В качестве дополнительного средства рекомендуется после этого сканирования выбрать портативный сканер — антивирус, который не требует установки и не вступает в конфликт с текущей защитной утилитой ПК. Примеров таких программы много: Kaspersky Virus Removal Tool, AVG, Dr. Web CureIt, Microsoft Safety Scanner и другие. Расскажем о процедуре сканирования с помощью фирменной утилиты от самой корпорации «Майкрософт»:
- Откройте эту ссылку — она ведёт на официальный источник компании. Среди двух ссылок кликните по той, что соответствует разрядности вашей системы.
- Запустить скачанный документ и щёлкните по «Да», чтобы дать разрешение на изменение параметров системы.
- Отметьте пункт внизу окна и нажмите на «Далее».
- С помощью этой же клавиши на следующей странице интерфейса запустите работу сканера.
- Установите отметку в виде круга рядом с полной проверкой и щёлкните вновь по «Далее».
- Ждите, когда сканирование успешно завершится.
- Если будут отображены угрозы, смело удалите их в окошке с результатами. Если программа не обнаружит ничего подозрительного и опасного, просто кликните по «Готово» и переходите к другим способам решения.
Если причина в повреждённых файлах, не дающих провести обновление и активацию Windows
Если у вас на ПК повредились те или иные системные файлы, «операционка» будет просто не способна успешно выполнить операцию по восстановлению либо установке «апдейта». В данной ситуации решением станет официальная утилита от корпорации под названием SubinACL:
- Переходим на официальный ресурс «Майкрософт» — на страничку загрузки приложения SubinACL. Щёлкаем по красной кнопке Download и ожидаем окончания загрузки.
- Запускаем файл через панель с перечнем загруженных ранее файлов и щёлкаем по Next на начальном экране.
- Ставим отметку рядом с I accept the terms и кликаем по Next.
- В качестве папки, в которой будет установлена программа (строчка Install to), выбираем с помощью клавиши Browse системный диск (просто буква C без каталога Program Files и прочих папок). Запускаем установку программы с помощью клавиши Install Now. Ждём завершение процедуры.
- Теперь открываем обычный «Блокнот» либо другой текстовый редактор, например, WordPad. Копируем и вставляем текст: @echo off Set OSBIT=32 IF exist «%ProgramFiles(x86)%» set OSBIT=64 set RUNNINGDIR=%ProgramFiles% IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)% C:subinacl.exe /subkeyreg «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionComponent Based Servicing» /grant=»nt servicetrustedinstaller»=f @Echo Gotovo. @pause
- Щёлкаем по меню «Файл» и кликаем по строчке «Сохранить как».
- В названии вставляем script.bat. Bat здесь выступает в качестве системного расширения, который соответствует консоли «Командная строка». В ней будут выполняться вставленные в текстовый файл команды. Сохраняем документ в удобном месте, к примеру, на «Рабочем столе».
- Находим файл и вызываем его контекстное меню. В нём выбираем запуск документа с правами администратора.
- Ждём, когда в консоли завершится выполнение команд. Когда появится надпись Gotovo, жмём на любую кнопку. Закрываем окно консоли и перезапускаем устройство. Ошибка должна исчезнуть.
Лечение поврежденных системных файлов
Вызвать ошибку 0x80070005 может повреждение файлов системы. Для возвращения данных рекомендуется воспользоваться консольными командами: SFC и DISM. Порядок действий при использовании стандартных протоколов:
- Найти в меню Пуск приложение Командная строка и выполнить запуск программы.
- Ввести sfc /scannow, нажать Enter.
- Подождать завершения работы программы.
При появлении надписи Защита ресурсов Windows не может восстановить поврежденные файлы, следует воспользоваться функциями консольного приложения DISM:
- Запустить Командную строку.
- Ввести dism /Online /Cleanup-Image /RestoreHealth, нажать Enter.
- Подождать восстановления файлов, которые были утеряны.
- Перезагрузить систему, повторить установку компонентов обновления.
Внимание! Перед совершением манипуляций следует создать точку восстановления, которая при возникновении ошибки поможет откатить систему до прежнего состояния.
Если причина в выключенной службе «Теневое копирование тома»
Ошибка с кодом появляется также, если в «операционке» в данный момент деактивирована служба под названием «Теневое копирование тома». Решить проблему можно с помощью её включения в системном окне:
- Чтобы вызвать на дисплее окошко «Службы» просто наберите на панели «Поиск» соответствующий запрос.
- Если иконка в виде лупы либо поисковая строка отсутствует на «Панели задач» слева рядом с «Пуском», зажмите R и Win и напечатайте запрос английскими буквами services.msc — можете просто его скопировать и вставить.
- Щёлкните сразу по заголовку первого столбца «Имя», чтобы службы с русскими названиями перешли в начало перечня — так удобнее будет искать строчку «Теневое копирование тома». Кликните по строчке дважды левой кнопкой мышки.
- В выпавшем меню со значениями для типа запуска процесса выберите пункт «Автоматически».
- Щёлкните по самой клавише запуска службы — подождите, пока система её включит. Нажмите на «Применить» и закройте все окна — повторите обновление или восстановление, после которого появилась ошибка.
Как исправить ошибку 0x80070005 в Windows 7 — Статейный холдинг
Некоторые пользователи, работая на компьютерах с Windows 7, встречаются с ошибкой 0x80070005. Она может возникнуть при попытке загрузки обновлений, запуске процесса активации лицензии ОС или же во время процедуры восстановления системы. Давайте разберемся, в чем заключается непосредственная причина указанной проблемы, а также выясним пути её устранения.
Причины ошибки и способы её устранения
Ошибка 0x80070005 является выражением отказа в доступе к файлам для выполнения определенной операции, чаще всего связанной с загрузкой или установкой обновления. Непосредственными причинами возникновения данной проблемы могут быть множество факторов:
Каждая из вышеназванных причин возникновения проблемы имеет свои способы решения, о которых разговор пойдет ниже.
Способ 1: Утилита SubInACL
Вначале рассмотрим алгоритм решения проблемы с помощью утилиты SubInACL от компании Microsoft. Данный способ отлично подойдет, если ошибка 0x80070005 возникла во время обновления или активации лицензии операционной системы, но вряд ли поможет, если она появилась в процессе восстановления ОС.
Скачать SubInACL
Если данный вариант не работает, то можно аналогичным образом создать файл с расширением «.bat», но с другим кодом.
Способ 2: Переименование или удаление содержимого папки SoftwareDistribution
Как было уже сказано выше, причиной ошибки 0x80070005 может быть обрыв при загрузке предыдущего обновления. Таким образом, недогруженный объект препятствует корректному прохождению следующего обновления. Данную проблему можно решить путем переименования или удаления содержимого той папки, которая содержит загрузки обновлений, а именно каталога «SoftwareDistribution».
В то же время не все пользователи рискуют удалять содержимое папки «SoftwareDistribution», так как боятся уничтожить ещё не установленные обновления или каким-то другим способом повредить системе.
Случаются ситуации, когда вышеописанным вариантом не удается удалить именно тот битый или недогруженный объект, который сбоит, так как именно он занят процессом. В обоих этих случаях можно задействовать другой метод. Он заключается в переименовании папки «SoftwareDistribution».
Данный вариант более сложный, чем описанный выше, но зато при необходимости все изменения можно будет откатить.
Способ 3: Отключение антивируса или файервола
Следующей причиной, которая может вызвать ошибку 0x80070005, являются неправильные настройки или сбои в работе штатного антивируса или файервола. Особенно часто это вызывает проблемы во время восстановления системы.
Чтобы проверить, так ли это, необходимо временно отключить защиту и проследить, не появляется ли ошибка вновь.
Процедура деактивации антивируса и файервола может значительно отличаться в зависимости от производителя и версии указанного программного обеспечения.
Если проблема появляется снова, можете включать защиту и продолжать поиск причин возникновения неполадок. Если же после отключения антивируса или файервола ошибка исчезла, попробуйте откорректировать настройки указанных видов антивирусных программ. В случае если настроить ПО не получится, советуем деинсталлировать его и заменить аналогом.
Урок: Как отключить антивирус
Способ 4: Проверка диска на ошибки
Сбой 0x80070005 может вызвать физическое повреждение или логические ошибки на том жестком диске ПК, на котором установлена система. Наиболее простой способ проверить винчестер на наличие указанных выше проблем и при возможности устранить неисправности осуществляется при помощи системной утилиты «Check Disk».
Урок: Проверка диска на ошибки в Виндовс 7
Способ 5: Восстановление системных файлов
Еще одной причиной изучаемой нами проблемы может быть повреждение системных файлов Виндовс. При подозрении на указанную неисправность следует просканировать ОС на целостность и при необходимости произвести восстановление поврежденных элементов с помощью системного инструмента «SFC».
Урок: Проверка на целостность файлов ОС в Виндовс 7
Способ 6: Сброс параметров TCP/IP
Ещё одной причиной, вызывающей изучаемую нами проблему, может являться сбой в работе TCP/IP. В этом случае необходимо сбросить параметры данного стека.
Способ 7: Изменение атрибутов каталога «System Volume Information»
Следующей причиной возникновения ошибки 0x80070005 может являться установка атрибута «Только чтение» для каталога «System Volume Information». В этом случае нам необходимо будет изменить вышеуказанный параметр.
Способ 8: Включение службы «Теневое копирование тома»
Ещё одной причиной проблемы может быть отключенная служба «Теневое копирование тома».
Способ 9: Устранение вирусной угрозы
Иногда ошибку 0x80070005 может вызвать заражение компьютера определенными типами вирусов. Тогда требуется произвести проверку ПК специальной антивирусной утилитой, но не штатным антивирусом. Лучше всего производить сканирование из-под другого устройства или через LiveCD(USB).
Во время проверки при обнаружении вредоносного кода необходимо выполнять те рекомендации, которые дает утилита через свой интерфейс.
Но даже, если вирус будет найден и обезврежен, то это ещё не дает полную гарантию исчезновения изучаемой нами ошибки, так как вредоносный код мог произвести определенные изменения в системе.
Поэтому после его удаления, скорее всего, понадобится дополнительно применить один из тех способов устранения проблемы 0x80070005, которые мы описали выше, в частности, восстановление системных файлов.
Как видим, существует довольно широкий перечень причин возникновения ошибки 0x80070005. Алгоритм устранения зависит от сути этой причины. Но даже если вам не удалось её установить, можете просто использовать все указанные в данной статье способы и методом исключения добиться нужного результата.
Предоставление прав пользователю в «Редакторе реестра»
Если все вышеуказанные способы не сработали, попробуйте расширить права своей учётной записи в «Редакторе реестра». Помните, что изменений параметров реестра — ответственная задача. Выполняйте всё строго в соответствии с инструкцией:
- Вызываем панель «Выполнить» с помощью кнопок R и Win — набираем regedit, чтобы раскрыть интерфейс «Редактора реестра».
- Разрешаем редактору изменять параметры системы.
- По первой главной ветке со словом ROOTS в конце щёлкаем правой кнопкой — выбираем строчку «Разрешения».
- Во вкладке «Безопасность» окна «Разрешения для группы» ищем в первом меню свой аккаунт. Если его нет, кликаем по «Добавить».
- Вводим имя учётной записи. Если не помните, жмём на клавишу «Дополнительно».
- В правой части нового окна щёлкаем по «Поиск», выбираем свой аккаунт — кликаем по ОК в этом и предыдущих окнах.
- В разделе безопасности выделяем добавленный аккаунт и в меню снизу ставим галочку «Полный доступ» в первом столбце «Разрешить». Применяем изменения, закрываем все окна и перезагружаем девайс, чтобы все изменения начали действовать.
Восстановление системы или возврат компьютера в исходное состояние
В «десятке» присутствует функция возврата ПК в исходное состояние. Это крайний метод решения проблемы с кодом 0x80070005 (если не получается провести активацию или обновление). По сути, это переустановка имеющейся версии «операционки» с возможным сохранением пользовательских файлов. При этом вам не понадобится где-то искать установочный диск или иной носитель с дистрибутивом ОС — ПК будет использовать файлы, уже имеющиеся в системе. Опишем процедуру восстановления:
- Вызовите панель «Пуск» с помощью кнопки на клавиатуре либо щелчком по иконке в левом углу снизу. Щёлкните по значку в виде шестерни в столбце слева над кнопкой для выключения или перезагрузки ПК. Вместо этого можно зажать I и Win и подождать появления системной панели с параметрами.
- В открытом окне «Параметры» выберите «Безопасность и обновление».
- Переключитесь тут же на пятую вкладку «Восстановление». Выберите первую опцию — нажмите на «Начать».
- Ваш компьютер перезагрузится — появится синее меню, в котором вас попросят выбрать между двумя вариантами восстановления: с сохранением личных документов (ваши утилиты, тем не менее, будут удалены безвозвратно — придётся просто устанавливать их заново) или с полным удалением всей имеющейся информации.
- После этого щёлкните по «Далее» на следующей странице. Процесс восстановления займёт около 20 минут — возможно, больше.
I’m having a permissions problem while running a .vbs script. The script is to add new user accounts from an receptionist’s computer.
The script gets hung up on the line:
objUser.SetInfo
this is where it is actually setting the attributes and writing to the user account.
I know it’s a permissions problem. I have tried running the script as a «top level» admin where permissions shouldn’t be an issue, but I still get the error 80070005
. It doesn’t make a difference if I run it from a domain controller or workstation — same error.
I have created a simple 3 line script to create a user object to test my theory — and even the 3 line script fails on the objUser.SetInfo
line.
What can I do to easily have this script run from a domain joined computer (administrative assistant’s, or a receptionists)?
strOU= InputBox("Enter the classification of the new User" &_
vbCrLf & "NOTE: You MUST enter 'Patients'")
If strOU = False Then Call NO_OU(1)
If strOU = "" Then Call NO_OU(2)
' If IsNumeric(strOU) = False Then Call NO_OU(3)
strName = InputBox("Enter the Logon ID of the New Patient (firstname.lastname)" &_
vbCrLf & "to be created.")
If strName = False Then Call NOName(1)
If strName = "" Then Call NOName(2)
' If IsNumeric((Left(strName,3))) = False Then Call NOName(3)
strFirstName = InputBox("Enter the New Patient's First Name")
If strFirstName = False Then Call NOName(1)
If strFirstName = "" Then Call NOName(2)
strLastName = InputBox("Enter the New Patients's Last Name")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strtelephoneNumber = InputBox("Enter the New Patients's Telephone")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strstreetAddress = InputBox("Enter the New Patients's Street Address")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strl = InputBox("Enter the New Patients's city")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
strpostalCode = InputBox("Enter the New Patients's postal code")
If strLastName = False Then Call NOName(1)
If strLastName = "" Then Call NOName(2)
Call Password()
Call Main()
Call Quit(2)
Sub Main()
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
Set objRoot = GetObject("LDAP://rootDSE")
Set objRootDSE = GetObject("LDAP://rootDSE")
Set objDomain = GetObject("LDAP://" &_
objRoot.Get("defaultNamingContext"))
Set objOU = GetObject("LDAP://OU=" &_
strOU & "," & strDNSDomain)
'Create the new User
On Error Resume Next
Set objUser = objOU.Create("User", "cn=" & strFirstName & " " & strLastName)
objUser.Put "sAMAccountName", strName
objUser.Put "givenName", strFirstName
objUser.Put "sn", strLastName
objUser.Put "distinguishedName", strFirstName & " " & strLastName
objUser.Put "displayName", strLastName & "," & strFirstName
objUser.Put "userPrincipalName", strName & "@dicksonmedical.mittens.local"
objuser.Put "telephoneNumber", strtelephoneNumber
objuser.Put "streetAddress", strstreetAddress
objuser.Put "l", strl
objuser.Put "postalCode", strpostalCode
objUser.SetInfo
If Err.number <> 0 Then Call Quit(1)
'Set User account environment
Set objUser = objOU.GetObject ("User", "cn=" & strFirstName & " " & strLastName)
Const Enabled = 1
Const Disabled = 0
If objUser.class = "user" Then
objUser.AllowLogon = Enabled
objUser.IsAccountLocked = False
objUser.SetPassword strInputReturn1
objUser.Put "pwdLastSet", Disabled
objUser.AccountDisabled = False
objUser.SetInfo
End if
'objUser.SetPassword StrPassword1
'objUser.SetPassword StrPassword2
'objUser.Put "pwdLastSet", Enabled
End Sub
Function Password()
strPassword = InputBox("Enter the User's Password")
If strPassword = False Then Call NOPassword(1)
If strPassword = "" Then Call NOPassword(2)
strConfPassword = InputBox("Enter the User's Password")
If strConfPassword = False Then Call NOPassword(1)
If strConfPassword = "" Then Call NOPassword(2)
If strPassword <> strConfPassword Then
Call PasswordMisMatch(1)
Else strInputReturn1 = strPassword
End If
End Function
Sub NO_OU(Error)
If Error = "1" Then MsgBox("Canceled")
If Error = "2" Then MsgBox("Invalid User Type Entered!" &_
vbCrLf & "Enter 'Patients'")
If Error = "3" Then MsgBox("Invalid User Type Entered!" &_
vbCrLf & "Enter 'Patients'")
Call Quit(1)
End sub
Sub NOName(Error)
If Error = "1" Then MsgBox("Canceled")
If Error = "2" Then MsgBox("User's Name not entered.")
If Error = "3" Then MsgBox("Invalid User Name" & vbCrLf &_
"Example: 888$jsmith")
Call Quit(1)
End sub
Sub NOPassword(Error)
If Error = "1" Then MsgBox("Canceled")
If Error = "2" Then MsgBox("User's Password not entered.")
Call Quit(1)
End Sub
Sub PasswordMisMatch(Error)
If Error = "1" Then MsgBox("Passwords Do NOT Match" &_
vbCrLf & "Try Again.")
Call Password()
End Sub
Sub Quit(Error1)
If Error1 = "1" Then MsgBox("Script Canceled!!")
If Error1 = "2" Then MsgBox("User Account Created.")
WScript.Quit
End Sub
Sub Sure(Error1)
If Error = "1" Then strYN = MsgBox("Are you sure?", 4, "Enter OU Prompt")
If strYN = 6 Then
If strYN = 7 Then Call Quit(1)
End If
End Sub
Как исправить ошибку Windows script host
Windows script host довольно редкая системная ошибка, которая появляется в Windows 7, 8 или 10 версиях независимо от того, лицензионные они или нет. Путь указанный в ней говорит о невозможности запуска конкретного файла. Чаще всего это возникает в следствии появления вирусов.
В статье я рассмотрю причины появления и как можно устранить Windows script host ошибку с кодом 80070002 когда не удается найти указанный файл.
Причины появления ошибки
Чаще всего причиной являются сбои при установке приложений, программ и вирусы. Возможно смогла загрузиться только часть необходимых данных и поэтому системе не удаётся найти указанный файл даже если он присутствует по указанному в ошибке адресу. Это связанно с неверной записью реестра.
Windows script host — это компонент для запуска исполняемых сценариев на различных языках. В сценарии может быть любая задача (например, включение программы).
Так же поспособствовать реализации ошибки мог и сам пользователь, который всячески оптимизировал систему вручную или с помощью стороннего софта, что не всегда может положительно повлиять на её состояние из-за вирусов. Не исключено, что виной этому может быть и антивирус.
Как исправить ошибку (код 80070002)
Всё зависит от того куда указывает ошибка. Однако решения всегда почти одинаковы. Вот несколько примеров на, что может указывать Windows script host:
- Nvideo_driver.js
- WindowsUpdateDrivers.vbs
- Launchall.js
Обратите внимание, что это может быть любой файл с расширением vbs и js (редко с другим).
После каждой инструкции требуется перезагрузка, чтобы применить изменения.
Устранение неполадок в реестре
Устранение нужно начать с исправления реестра. Скачайте программу Ccleaner и установите. Зайдите во вкладку реестра и нажмите на «Поиск проблем».
Исправьте все найденные неполадки и повторите процедуру до тех пор, пока они не будут обнаружены.
Устранение ссылки на запуск вируса
Если при включении компьютера появляется Windows script host с указанием пути на Nvideo_driver.js, Launchall.js или другие документы с подобным расширением на конце, то это значит, что сам вирус (то есть указанные выше файлы) удалены, но обращение на него остаётся.
Скорее всего исправление реестра должно было помочь в этом, но если это не так, то первым делом проведите полную проверку компьютера на вирусы и удалите их. Как это сделать я уже писал в статье про постоянное появление рекламы в браузере. Обычно такие вирусы создаются именно с этой целью.
Проверьте и очистите автозагрузку удалив записи об автоматическом запуске там. Либо можно перейти вручную по указанному в ошибке адресу и провести удаление самостоятельно.
Откройте строку выполнения через меню Пуск или клавишами Win+R и введите команду:
Проблема с обновлением
Если Windows script host указывает на WindowsUpdateDrivers, то в этом случае может помочь очистка папки где хранятся временные данные обновлений. Но сначала отключите соответствующую службу.
Снова введите в строку выполнения команду, но уже другую:
Найдите «Центр обновления Windows» и отключите его через контекстное меню (правой кнопкой мыши) в свойствах.
Перейдите в локальный диск C (там где установлена ОС) >> Windows >> SoftwareDistribution >> DataStore и удалите всё, что там расположено. Затем включите службу и попробуйте обновиться.
Следующим шагом будет удаление недавних обновлений. Они часто могут быть причиной ошибки особенно на пиратских версиях Windows.
Войдите в панель управления через меню Пуск >> Программы и компоненты >> Просмотр установленных обновлений. Кликните по столбцу «Установлено» для сортировки по дате и удаляйте строки по одной до тех пор, пока ошибка 80070002 не пропадёт.
Неправильное время
Важно установить правильную дату на компьютере иначе будет несоответствие со временем на авторское право различных утилит и программ. Оно ограниченно во времени и сравнивается со специальным сервером.
На рабочем столе нажмите на время в правом нижнем углу и перейдите в настройки.
Поставьте синхронизацию с официальным сервером компании Microsoft, чтобы избежать различных конфликтов или вручную укажите верную на текущий момент дату.
Источник
Исправляем ошибку 0x80070005 в Windows 10
Исправление ошибки 0x80070005
Эта ошибка чаще всего возникает при очередном автоматическом или ручном обновлении ОС. Кроме того, бывают ситуации, когда диалоговое окно с этим кодом возникает при запуске какого-либо приложения. Причины, которые приводят к такому поведению «винды», весьма разнообразные – от «хулиганства» антивирусной программы до повреждения данных в системном разделе.
Причина 1: Антивирус
Антивирусные программы чувствуют себя хозяевами в системе и зачастую действуют совершенно по-хулигански. Применимо к нашей ситуации они могут заблокировать доступ в сеть для служб обновления или запретить выполнение программ. Решить проблему можно, отключив активную защиту и брандмауэр, если таковой входит в пакет, или совсем удалить софт на время произведения апдейта.
Причина 2: Отключена служба VSS
VSS – это служба теневого копирования, позволяющая перезаписывать те файлы, которые в данный момент заняты какими-либо процессами или программами. Если она отключена, то некоторые фоновые операции могут проходить с ошибками.
- Открываем системный поиск, нажав на значок лупы в левом нижнем углу на «Панели задач», пишем запрос «Службы» и открываем найденное приложение.
Ищем в списке сервис, показанный на скриншоте, кликаем по нему, а затем жмем на ссылку «Запустить».
Если в колонке «Состояние» уже указано «Выполняется», нажимаем «Перезапустить», после чего перезагружаем систему.
Причина 3: Сбой TCP/IP
Большинство операций обновления происходит с подключением к интернету с помощью TCP/IP. Сбой в работе последнего может приводить к ошибке 0x80070005. Здесь поможет сброс стека протокола с помощью консольной команды.
- Запускаем «Командную строку». Обратите внимание, что это нужно сделать от имени администратора, иначе прием может не сработать.
Пишем (копируем и вставляем) такую команду:
netsh int ip reset
Жмем клавишу ENTER.
Причина 4: Атрибуты системной папки
На каждом диске в системе присутствует специальная папка с названием «System Volume Information», содержащая некоторые данные о разделах и файловой системе. Если она имеет атрибут, разрешающий только чтение, то процессы, требующие записи в этот каталог, будут выдавать ошибку.
- Открываем системный диск, то есть тот, как который установлена Виндовс. Идем на вкладку «Вид», открываем «Параметры» и переходим к изменению параметров папок.
Здесь снова активируем вкладку «Вид» и отключаем опцию (убираем флажок), скрывающую защищенные системные файлы. Жмем «Применить» и ОК.
Ищем нашу папку, кликаем по ней ПКМ и открываем свойства.
Возле позиции «Только для чтения» снимаем галку. Обратите внимание, что чекбокс не обязательно должен стать пустым. Квадратик тоже подойдет (см. скриншот). Тем более что после закрытия свойств именно эта отметка выставится автоматически. После настройки нажимаем «Применить» и закрываем окно.
Причина 5: Ошибки при загрузке обновлений
В «винде» имеется еще одна особая директория с названием «SoftwareDistribution», в которую попадают все загруженные обновления. Если во время процесса скачивания и копирования произошла ошибка или обрыв соединения, то пакеты могут оказаться поврежденными. При этом система будет «думать», что файлы уже скачаны и будет пытаться ими воспользоваться. Для решения проблемы нужно очистить эту папку.
- Открываем оснастку «Службы» через системный поиск (см.выше) и останавливаем «Центр обновлений».
Таким же способом завершаем работу сервиса фоновой передачи.
Теперь идем в папку «Windows» и открываем нашу директорию.
Выделяем все содержимое и удаляем его.
Для гарантированного достижения результата необходимо очистить «Корзину» от этих файлов. Сделать это можно с помощью специальных программ или вручную.
Причина 6: Права доступа
Обсуждаемая нами ошибка может возникать из-за неверных настроек прав доступа к изменению некоторых важных разделов и ключей системного реестра. Попытка настройки этих параметров вручную может также оказаться неудачной. Поможет нам справиться с поставленной задачей консольная утилита SubInACL. Поскольку по умолчанию она отсутствует в системе, ее нужно скачать и установить.
- Создаем в корне диска C: папку с названием «SubInACL».
Запускаем скачанный установщик и в стартовом окне жмем «Next».
Принимаем условия лицензионного соглашения.
Нажимаем кнопку обзора.
В выпадающем списке выбираем диск C:, кликаем по созданной ранее папке и жмем ОК.
Запускаем установку.
Закрываем инсталлятор.
Здесь стоит объяснить, зачем мы меняли путь установки. Дело в том, что дальше нам придется писать скрипты для управления реестром, и в них будет фигурировать этот адрес. По умолчанию он довольно длинный и при вводе вполне можно ошибиться. К тому же там еще присутствуют пробелы, что подразумевает взятие значения в кавычки, отчего утилита может повести себя непредсказуемо. Итак, с инсталляцией мы разобрались, переходим к скриптам.
- Открываем обычный системный «Блокнот» и прописываем в нем вот такой код:
@echo off
Set OSBIT=32
IF exist «%ProgramFiles(x86)%» set OSBIT=64
set RUNNINGDIR=%ProgramFiles%
IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)%
C:\subinacl\subinacl.exe /subkeyreg «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing» /grant=»nt service\trustedinstaller»=f
@Echo Gotovo.
@pause
Идем в меню «Файл» и выбираем пункт «Сохранить как».
Тип выбираем «Все файлы», даем скрипту любое название с расширением .bat. Сохраняем в удобное место.
Перед тем, как применять данный «батник», необходимо подстраховаться и создать точку восстановления системы, чтобы можно было откатить изменения в случае сбоя.
- Запускаем скрипт от имени администратора.
Если прием не сработал, следует создать и применить еще один «батник» с кодом, указанным ниже. Не забудьте про точку восстановления.
@echo off
C:\subinacl\subinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
C:\subinacl\subinacl.exe /subdirectories %SystemDrive% /grant=administrators=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=system=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
C:\subinacl\subinacl.exe /subdirectories %SystemDrive% /grant=system=f
@Echo Gotovo.
@pause
Примечание: если во время выполнения скриптов в «Командной строке» мы видим ошибки доступа, значит, изначальные настройки реестра уже правильные, и нужно смотреть в сторону других способов исправления.
Причина 7: Повреждение системных файлов
Ошибка 0x80070005 также возникает и по причине повреждения системных файлов, отвечающих за нормальное течение процесса апдейта или запуск среды для выполнения программ. В таких случаях можно только попытаться их восстановить, используя две консольных утилиты.
Причина 8: Вирусы
Вредоносные программы это извечная проблема владельцев ПК под управлением Виндовс. Эти вредители способны портить или блокировать системные файлы, изменять параметры реестра, вызывая различные сбои в системе. Если приведенные выше способы не принесли положительного результата, нужно проверить ПК на наличие вредоносных программ и при обнаружении избавиться от них.
Причина 9: Ошибки на жестком диске
Следующее, на что следует обратить внимание, это возможные ошибки на системном диске. В Виндовс имеется встроенное средство по проверке и устранению таких неполадок. Впрочем, можно воспользоваться и специально предназначенными для этого программами.
Заключение
Крайним средством исправления ошибки 0x80070005 является попытка восстановления системы или ее полная переустановка.
Давать советы по профилактике данной неполадки довольно сложно, но есть несколько правил, позволяющих минимизировать ее возникновение. Во-первых, изучите статью из параграфа про вирусы, это поможет понять, как не заразить свой компьютер. Во-вторых, старайтесь не пользоваться взломанными программами, особенно теми, которые устанавливают свои драйвера или службы, или меняют параметры сети и системы в целом. В третьих, без крайней надобности и предварительного изучения процесса, не изменяйте содержимое системных папок, параметров реестра и настроек «винды».
Источник