是否有Powershell命令来检查另一个用户是否正在使用某个文件?如果没有,编写一个可以编写脚本的内容是什么?
答案 0 :(得分:4)
我没有内置命令,但是您可以使用多种工具:
net file
来自Technet上的SysInternals(psfile和handle):
psfile.exe # lists and allows you to close remotely opened files
handle.exe | select-string ': File'
答案 1 :(得分:4)
您永远无法判断文件当前是否仅被用于最近使用的文件。原因是脚本返回文件的那一刻可以被之前使用它的程序关闭。像这样编写脚本只会导致不稳定的行为。
更好的方法是,如果文件未被使用,只需执行脚本要执行的操作,并捕获由于使用冲突导致的异常。最终结果将是一个更简单,更可靠的计划。
答案 2 :(得分:1)
我发现使用SysInternals“ListDlls.exe”非常简单方便:
c:\SysInternals\Listdlls.exe -d AssemblyInUse.dll
ListDLLs v3.1 - List loaded DLLs
Copyright (C) 1997-2011 Mark Russinovich
Sysinternals - www.sysinternals.com
----------------------------------------------------------------------------
powershell.exe pid: 7296
Command line: "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe"
我希望有所帮助!