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

Почему я не могу удалить файл favicon.ico в Windows Server 2008?

Я скопировал файл favicon.ico из одной папки веб-сайта в другую в Windows 2008.

Теперь я не могу ни удалить этот файл, ни изменить его владельца на вкладке безопасности даже как администратор.

Как я могу восстановить доступ?

Я нашел Ручка Sysinternals быть удобным (и бесплатным) инструментом для этих целей.

C:\path\to\handle.exe c:\path\to\favicon.ico

Однако handle.exe работает только с локальными дескрипторами и не сообщает, кто открыл файл. Этот сценарий VBS определяет, у кого открыт файл, и может проверять файлы на удаленном сервере:

' WhosGotItOpen.vbs
strServername = "."         ' A dot is the same as current computer.
                            ' If you want to check remote server, replace dot with the name of the server.
strFilename = "myfile.ext"  ' Put the name of your file here.
                            ' Can be also be piece of the path, like: "folder\myfile"
Set objFileSystem = GetObject("WinNT://" & strServername & "/LanmanServer")

If (IsEmpty(objFileSystem) = False) Then
   For Each Resource In objFileSystem.Resources
      If (Not Resource.User = "") And (Not Right(Resource.User,1) = "$") Then
         If Instr(1, Resource.Path, strFilename ,1) > 0 Then
            WScript.Echo Resource.user & ";" & Resource.Path
         End If 
      End If 
   Next
Else
   WScript.Echo "Error in filesystem , quitting."
   WScript.Quit(2)
End If 

Похоже, у файла есть открытый дескриптор, предотвращающий любые его модификации. Вы пробовали запустить Process Explorer или другую утилиту для поиска дескрипторов открытых файлов и посмотреть, какой процесс заблокирован?