有没有办法(powershell、命令行、api、snmp)列出网络位置上文件的快照时间戳。因此,我正在寻找当您单击属性 -> 以前的版本时 Windows 正在执行的操作的自动化。
我们有一个 netapp,并使用这些快照轻松备份。我在 Windows 工具和 DataOnTap Powershell 模块中搜索过,但到目前为止,运气还不错。
答案1
您可以使用 netapp CLI 执行此操作。如果是 7 模式,则执行此snap list volumename
操作。如果是 CDOT,则执行此操作snap show -vserver vservername -volume volumename -fields create-time
。
您提到要对网络上的文件执行此操作。这意味着可能不清楚哪个卷包含您想要的文件。Netapp 中的快照是从整个卷拍摄的,并且卷中的所有文件都列出了相同的先前版本。要找出您正在查看的文件位于哪个卷中,首先要找出它所在的共享。查看文件的位置,一直返回到服务器,然后查看第一个“目录”。这就是共享。现在您需要知道该共享位于哪个卷中:
- 对于 7 模式,输入
cifs shares
并查找我们刚刚找到的共享名称。 - 对于 CDOT,输入
cifs share show -vserver vservername
并查找共享名称。
如果你的分享恰好指向某件事里面卷,不用担心,卷才是最重要的。该卷上的快照将具有与 Windows 以前版本中相同的时间戳。
答案2
我一直ls ltr --time=atime
在.snapshot
目录中使用,因为这是一种不需要任何特殊权限的方式。
我确信你可以在 Windows 中做同样的事情:
在“Windows 资源管理器”中更改为 (path)/~snapshot
您将看到快照名称的列表,修改日期将是“此目录被更改的时间”,这不是太有用。
但是,如果右键单击列标题,您应该能够添加“访问日期”。
这 - 至少在我的系统上 - 匹配快照时间戳。我怀疑这是你可以编写脚本的东西 - 但在基本层面上dir /TA ~snapshot
可以解决问题。
答案3
如..所示这里和这里,volrest
命令行实用程序可用于浏览和恢复文件的卷影副本(以前的版本)。它可从Windows 2003 修复。