问题标签 [shadow-copy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-core - 使用 Asp.Net Core 进行自我更新/卷影复制
我正在编写一个 Asp.Net Core 应用程序,它应该能够自我更新(在运行时替换它自己的二进制文件)。
这篇 MSDN 文章描述了使用经典 .Net 框架的卷影复制,这正是我所需要的。但是 .Net Core 中缺少整个 AppDomain 的东西。
所以我的问题是:
- .Net Core 中是否有另一种方法可以启用影子复制程序集?
- .Net Core 中是否还有其他机制允许构建自更新应用程序?
google-compute-engine - 使用 VSS 的计算引擎快照不起作用
我有一个运行 Windows 2016 的计算引擎。我想对这个启动磁盘进行快照以进行备份。
据我所知,VSS(卷影副本)更适合数据一致性。但是,当我在创建快照时勾选 VSS 时,一切似乎都正常。
但是,当我从这个快照创建一个实例时,它似乎启动了,但我无法使用 RDP 连接到它,也无法通过谷歌控制台创建/更改用户密码。
如果我在没有 VSS 的情况下进行常规快照,然后创建一个实例效果很好,但据我所知,应该首选 VSS。
如果我在提升的 cmdvssadmin List Volumes
中显示音量。
我确实看到谷歌需要一个相当新的图像,我不知道在哪里可以看到我使用的图像版本,但是这台机器只有几周的历史,当我创建它时,我使用了 Windows 2016 的最新版本。
我不确定我在这里错过了什么!
更新:我有第二个磁盘连接到同一个虚拟机,如果我用 VSS 做一个快照(完全相同的方式),然后我可以从该快照创建一个新磁盘,将它挂载到虚拟机。它变为离线和在线阅读。然后我把它放到网上并使用 diskpart 删除 shadowcopy 和 readonly 标志,但是我正在努力删除磁盘上结构上的只读,但至少我可以读取数据。
c# - .ost 文件的卷影副本
我使用 .ost 文件并尝试为 2 个文件创建卷影副本:
- \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy22\Users\Admin\AppData\Local\Microsoft\Outlook\test@mail.ru.ost
- \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy22\Users\Admin\AppData\Local\Microsoft\Outlook\test.txt
但是当我打电话时:
test@mail.ru.ost为假,test.txt文件为真。使用 Outlook 时如何创建 .ost 文件的卷影副本?
batch-file - 使用批处理文件删除一个 ShadowCopy
我正在修改用于备份的批处理文件。当它运行时,它会创建一个新的影子副本,安装它,备份它应该备份的内容,然后卸载它。我想做的是让它删除它创建的影子副本。出于法医原因,我不删除现有的影子副本。这是我遇到和遇到的代码部分。
FOR 行似乎工作正常。当我在运行时回显 %ShadowID% 时,我得到:
但是删除 shadowcopy 的行失败并显示:
在命令行中,我可以将 ShadowID 设置为具有相同的字符串并毫无问题地运行命令,所以我似乎应该在批处理文件中工作。
任何帮助将不胜感激。
powershell - Powershell 和以前的文件夹版本
当我试图从文件夹中复制以前的版本时,我在 powershell 中遇到问题,坦率地说,我真的不知道该怎么做。
设想:
在设备 D 中,我启用了卷影副本,在此设备中,我有多个文件夹。
文件夹A
文件夹B
文件夹C
如果我使用 Win32_ShadowCopy,我会得到大量信息,但没有任何信息指向文件夹 B 所在的位置,因此我可以使用 get-childitems 来检索信息。
如果我使用“Get-childitem -Force -Recurse -Path D$\@GMT-2017.10.13-15.00.00\Folders\FolderB”,我会得到最后一个复制版本的路径,但我该如何得到这个Win32_ShadowCopy 中的路径甚至看到了吗?
您将如何解决这种情况?
logging - InStr 出现问题 - 带有日志记录和错误检查的 Shadow-Copy 脚本
我正在尝试开发一个 VBS 脚本,该脚本shadowcopy.exe
使用 rsync 创建备份并将它们复制到特定目的地。有日志文件将由同一脚本为 rsync 复制过程创建并检查特定单词(如“错误”或“失败”)。
我现在遇到的问题是我不知道如何检查日志文件/读出特定的关键字。
我读到这InStr
是解决我的问题的一种可能性,但我不知道如何使用它来定义我的关键字,读出它们并将其与我的邮件警报结合起来。也许有人对我有建议?
到目前为止我的代码:
asp.net - 手动将本机 DLL 复制到 Shadow Copy 目录是否安全?
我在 ASP.NET 应用程序中使用Microsoft.SqlServer.Types库。该库依赖于必须LoadLibrary()
通过 P/Invoke 加载的本机 DLL。
该库的文档建议从Server.MapPath("~/bin")
,但这会导致本机 DLL 被锁定,从而阻止应用程序的新部署。
因此,我正在考虑检索主网站 DLL 的卷影副本位置Assembly.GetExecutingAssembly().Location
,将本机 DLL 复制到该位置,然后从那里加载它。
这样做安全吗?还是应该使用更安全的方法?
javascript - Javascript无需引用即可推入数组
这对我来说非常令人沮丧,所以我希望有人能提供帮助。下面是一个小例子来说明我的问题。
我需要在不更改原始组的情况下创建一个新的组实例。
c# - 无法从动态目录加载程序集
FileNotFoundException:无法加载文件或程序集 SnelStartGatewayInterface,版本 = 12.48.37.0,文化 = 中性,PublicKeyToken = null' 或其依赖项之一。该系统找不到指定的文件。
我收到此消息,发现程序集已加载到应用程序域中。我知道程序集必须加载文件才能正常工作。我的项目正在使用影子复制选项,因此我可以在我的应用程序运行时加载程序集。我引用了它要求的文件/dll,因此它将加载到由影子复制选项创建的动态目录中。如果我将文件手动放入动态目录的主文件夹中,应用程序将顺利运行。但如果我引用该文件,该文件将自动加载到:
Dynamicdirectory/assembly/dl3/2b5603c6(随机数字和字母)/SnelStartGatewayInterface.dll
这样程序集就无法加载文件并崩溃。有什么我可以做的,它会从动态目录中获取文件并正确加载它吗?
c# - 系统驱动器到磁盘克隆
我正在尝试找到一种方法将活动的 Windows 系统磁盘克隆到另一个磁盘,而不会像 Clonezilla 要求的那样强制用户使磁盘脱机。
我正在考虑 Microsoft 卷影复制服务 (VSS) 至少部分答案。(我完全愿意接受更好的想法/解决方案。)
在继续代码示例之前,我对 VSS(.Net 接口使用可通过 NuGet 包管理器获得的 AlphaVSS)有点犹豫,因为两个使用 VSS(Shadow Copy 和另一个工具)的实用程序没有正确复制驱动器. 并非所有文件都被复制,尤其是根目录中的 sys 文件正确,并且也没有复制完整权限。一个简单的 Araxis 磁盘比较显示了副本的不准确性。此外,我无法启动克隆的驱动器。我得到一个屏幕说驱动器无法启动并且必须修复。
该示例有点难以理解。我期待看到包含开关(子目录与非子目录,权限等,等等,等等)
我确实看过dotNetDiskImager,但那是USB到图像文件和图像文件到USB磁盘。修改代码,让一个人开车去潜水是完全失败的。不能只是愚蠢地复制扇区。必须知道您正在复制什么并进行修改。仅仅复制扇区并不是一项简单的任务,因此回到 VSS。
有更好的想法吗?
这是一个更新的 AlphaVSS 代码,它修复了由于 AlphaVSS 同步而不是异步导致的编译器错误。我还将代码从 VB 翻译成 C#。
简而言之,我想取一个通常具有“系统保留”、“主”和恢复分区的实时系统磁盘,并在系统中的另一个磁盘上进行实时克隆。
我会确保新磁盘有足够的空间,已经分区并格式化为 3 个 NTFS 分区。