Назад | Перейти на главную страницу

Резервное копирование AppCmd ​​для IIS7 дает ошибку отказа в доступе (hresult: 80070005)

У меня есть сценарий, который я использовал в другой Windows 2008, чтобы удалить резервную копию конфигураций IIS7 и создать новую:

SET DEST=C:\Backup\Web\IIS7
SET BACKUPNAME=IIS7-CONFIGS
%windir%\system32\inetsrv\appcmd.exe delete backup "%BACKUPNAME%"
%windir%\system32\inetsrv\appcmd.exe add backup "%BACKUPNAME%"
robocopy %windir%\system32\inetsrv\backup "%DEST%" /MIR /R:6 /W:10 /ZB

Но на новом сервере Windows 2008 я получаю отказ в доступе при удалении:

ERROR ( hresult:80070005, message:Command execution failed.
Access is denied.
 )

У меня отключен UAC, и я практически скопировал все настройки со старого сервера (включая роль пользователя как администратора). Что мне не хватает?

У меня была аналогичная проблема

%systemroot%\system32\inetsrv\APPCMD.EXE migrate config "Default Web Site/MyWebApp"

Я получал 80070005 Доступ запрещен.

Я узнал, что проблема связана с тем, что мой web.config доступен только для чтения (поскольку я использовал систему управления исходным кодом, которая загружала файлы только для чтения, не проверенные разработчиками).

Удаление атрибута только для чтения из web.config решило проблему.

Я полагаю, вам нужно удалить атрибут только для чтения из некоторого файла конфигурации, который должен быть затронут вышеуказанными командами.

Я бы начал с запуска Process Monitor и посмотрел, есть ли ЗАПРЕЩЕННЫЙ ДОСТУП. Затем я смотрел в Process Monitor, для какой учетной записи пользователя произошел ЗАПРЕЩЕННЫЙ ДОСТУП, и давал необходимое разрешение.

+1 за очень красивый сценарий и хорошее использование команды robocopy.