Eu estava fazendo um script do PowerShell para uma maneira mais rápida de fechar arquivos bloqueados em um grande servidor de arquivos do Windows Server 2008 R2 (mais de 2.500 arquivos abertos neste momento e a hora de pico era de 3 a 4 horas atrás) e Eu teria que escolher entre net files
ou openfiles
. Então eu fui com openfiles
como é mais recente e pode dar o caminho completo do arquivo ( net files
pode fazer isso também, mas você precisa consultar cada ID).
Eu estava tendo problemas com isso: alguns arquivos não serão fechados. Eu verifiquei com arquivos de rede, e tudo estava ok ... Então eu comecei a dar uma olhada mais de perto, e este é (um trecho de) o que eu encontrei:
C:\> net files
ID Path User name # Locks
-------------------------------------------------------------------------------
3221368833 G:\Users\... SomeUser 3
2550215683 G:\Users\... SomeUser 3
3422797829 G:\Users\... SomeUser 0
805310474 F:\Recursos\... SomeUser 3
335585292 G:\Users\SomeUser\My Documents SomeUser 0
4026636306 G:\Users\SomeUser\Desktop SomeUser 0
2684396568 G:\Users\... SomeUser 0
2952839192 G:\Users\...\EXCEL\SomeFolder2016 SomeUser 0
4160993304 G:\Users\... SomeUser 0
1610613364 F:\Recursos\Suministros SomeUser 0
The command completed successfully.
C:\> openfiles /query /v
Files opened remotely via local share points:
---------------------------------------------
Hostname ID Accessed By Type #Locks Open Mode Open File (Path\executable)
=============== ======== ==================== ========== ========== =============== ============================================================================
MyServer 32213688 SomeUser Windows 3 Write + Read G:\Users\SomeUser\My Documents\[SomePath].XLS
MyServer 25502156 SomeUser Windows 3 Write + Read G:\Users\SomeUser\My Documents\[SomePath].xls
MyServer 34227978 SomeUser Windows 0 Write + Read G:\Users\SomeUser\My Documents\[SomePath].xls
MyServer 80531047 SomeUser Windows 3 Write + Read F:\Recursos\Suministros\[SomePath].xls
MyServer 33558529 SomeUser Windows 0 Read G:\Users\SomeUser\My Documents
MyServer 40266363 SomeUser Windows 0 Read G:\Users\SomeUser\Desktop
MyServer 26843965 SomeUser Windows 0 Write + Read G:\Users\SomeUser\My Documents\[SomePath].XLS
MyServer 29528391 SomeUser Windows 0 Read G:\Users\SomeUser\My Documents\EXCEL\SomeFolder2016
MyServer 41609933 SomeUser Windows 0 Write + Read G:\Users\SomeUser\My Documents\[SomePath].XLS
MyServer 16106133 SomeUser Windows 0 Read F:\Recursos\Suministros
Espere, os IDs são diferentes ... Inferno, não, os openfiles
IDs são truncados !!
Então, obviamente, para o script em si, estou indo no momento para net files
, pegar os IDs, consultar cada ID para obter o caminho completo e, a partir disso, posso reutilizar o restante do script. / p>
Mas pelo bem da minha sanidade mental: isso é um erro? Uma característica? O Windows Server 2008 R2 não é novo e eu não consegui encontrar nenhuma referência a isso, para não falar sobre um hotfix!