別のWindows2008で、構成の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をオフにして、古いサーバーからすべての設定をほぼコピーしました(管理者であるユーザーロールを含む)。何が足りないのですか?
まず、Process Monitorを実行して、アクセスが拒否されているかどうかを確認します。次に、アクセスが拒否されたユーザーアカウントが発生したプロセスモニターを調べて、必要なアクセス許可を与えます。
非常に優れたスクリプトとrobocopyコマンドの適切な使用のために+1。
同様の問題が発生しました
%systemroot%\system32\inetsrv\APPCMD.EXE migrate config "Default Web Site/MyWebApp"
80070005アクセスが拒否されました。
この問題は、web.configが読み取り専用であることが原因であることがわかりました(開発者がチェックアウトしていないファイルを読み取り専用としてダウンロードするソースコード管理システムを使用したため)。
Web.configから読み取り専用属性を削除すると、問題が修正されました。
上記のコマンドでアクセスする必要がある構成ファイルから、読み取り専用属性を削除する必要があると思います。