我正在尝试通过在 powershell 2.0 中调用 gpg2.exe 的计划任务来加密文件
当我登录时,脚本/任务运行良好,无论是通过 ISE 还是通过在 Windows 任务调度程序中运行任务。我在 Windows Server 2008 上,使用的服务帐户不是管理员,但可以访问所有源文件夹和目标文件夹。
当任务在无人值守的情况下运行时,gpg 的输出不会显示在目标目录中,也不会返回任何错误。我已将用户添加到安全策略中,以允许其批量登录。它能够将当前存在的文件(源)写入目标文件夹,而不是 GPG 的输出。
奇怪的是行为不一致,如果我以该系统帐户登录和注销,有时作业会在无人看管的情况下成功运行,直到计划到期,然后在下一个计划中开始出错。
我相当肯定它是围绕会话设置的,因为它在我登录时一直有效,并且仅在某些情况下才有效。任何帮助,将不胜感激。
请参阅以下示例,了解我如何在 powershell 中调用 GPG(是的,我是菜鸟 :))
$GPG_Prog='C:\Program Files\GNU\GnuPG\gpg2.exe'
$GPG_Encrypt='-e'
$GPG_Encrypt_to='-r XXXXXXXX'
&"$GPG_Prog" -o C:\location\$File.gpg --batch --quiet --yes "$GPG_Encrypt" "$GPG_Encrypt_to" \source location\$File
移动项目 \$File.gpg \network 输出位置
谢谢