我有一个在另一个 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,并从旧服务器复制了几乎所有设置(包括用户角色为管理员)。我遗漏了什么?
答案1
我将首先运行进程监视器,查看是否存在任何访问被拒绝的情况。然后,我将在进程监视器中查找发生访问被拒绝的用户帐户,并授予必要的权限。
+1,非常好的脚本和对 robocopy 命令的良好使用。
答案2
我知道这是旧帖,但刚才也有同样的问题。然后我意识到我没有以管理员身份运行“cmd”
因此以管理员身份运行 CMD,并且运行良好。
答案3
我遇到了类似的问题
%systemroot%\system32\inetsrv\APPCMD.EXE migrate config "Default Web Site/MyWebApp"
我收到 80070005 访问被拒绝。
我发现问题是由于我的 web.config 是只读的(因为我使用了源代码管理系统,该系统将未经开发人员签出的文件下载为只读文件)。
从 web.config 中删除只读属性,解决了该问题。
我认为您必须从某些配置文件中删除只读属性,而这些配置文件应该受到上述命令的影响。