IIS7的AppCmd备份会导致访问被拒绝错误(hresult:80070005)

我有一个脚本,我一直在使用另一个Windows 2008来删除configuration的IIS7备份,并创build一个新的:

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. ) 

我有UACclosures,几乎从旧服务器(包括用户angular色是一个pipe理员)复制的所有设置。 我错过了什么?

我将开始运行进程监视器,看看是否有任何访问被拒绝。 然后,我将在Process Monitor中查找访问被拒绝的用户帐户,并给予必要的许可。

+1为一个非常好的脚本和很好的使用robocopy命令。

我有一个类似的问题运行

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

我得到80070005访问被拒绝。

我发现这个问题是由于我的web.config是只读的(因为我使用的源代码pipe理系统下载为只读的文件,而不是由开发商签出)。

从web.config中删除只读属性,解决了这个问题。

我想你必须从一些configuration文件中删除只读属性,这些文件应该被上面的命令所触及。