我有一个 powershell 脚本,用于备份 VSS 快照中的数据。我正在使用磁盘影子创建这样的快照,因此希望通过 diskshadow 的EXEC
命令从 diskshadow 内部调用 Powershell 脚本。
我见过这个例子甚至可以.exe
从 diskshadow 内部执行任意文件。
但在我的系统上(这是 Windows Server 2019),无法做到这一点。请考虑以下来自交互式磁盘影子会话的代码/摘录:
DISKSHADOW> exec c:\batch\vss\diskshadow-hook.ps1
The command script failed.
DISKSHADOW> exec "powershell.exe" -File c:\batch\vss\diskshadow-hook.ps1
The script file name is not valid.
EXEC <file.cmd>
Execute a script file on the local machine.
This command is used to duplicate or restore data as part of
a backup or restore sequence.
显然,与我看到的示例相反,我无法通过 diskshadow 的EXEC
命令执行 powershell 脚本或其他可执行文件。我唯一可以执行的是 cmd 脚本,该文件必须具有文件扩展名.cmd
。
是否存在组策略、注册表黑客或其他东西使得系统不仅能够执行 CMD 文件,还能从 diskshadow 中执行其他可执行文件?
[注:该问题的一个“解决方案”是将 powershell 脚本包装到 cmd 脚本中,然后从 diskshadow 中调用该 cmd 脚本。这种方法可行,但在我看来这完全是愚蠢的,所以我想知道是否还有其他方法。]