Windows-Server-2012
系統找不到指定的文件 - 任務計劃程序。贏伺服器 2012
我有批處理腳本文件,它應該用 pgp 加密文件。我已經在任務計劃程序中定義了一個任務來執行此操作,但我一直收到錯誤“系統找不到指定的文件”。
有趣的是,當我在我的 powershell 中執行同一行腳本時,成功生成了加密文件。
我想知道是否有人知道這裡可能出了什麼問題?
我試圖在我的批處理腳本中給出完整路徑,並在定義操作時部分添加了 start 中的傳遞。
批處理腳本程式碼在這裡::
rem @echo off @set path=c:\test;%path% @set d=%date:~-4,4%%date:~4,2%%date:~-7,2% @set d=%d: =_% @set t=%time:~0,2%%time:~3,2%%time:~6,2% @set t=%t: =0% Rem Generate PGP encrypted file @echo Starting PGP... >> c:\apps\ftpLogs\test.log gpg2 --batch --yes -r testkey --output c:\test\foo\test_20150505.pgp --encrypt c:\test\foo\test_20150505.txt >> c:\apps\ftpLogs\test.log
我在powershell中執行的執行良好的腳本是這一行:
gpg2 --batch --yes -r testkey --output c:\test\foo\test_20150505.pgp --encrypt c:\test\foo\test_20150505.txt >> c:\apps\ftpLogs\test.log
最後我能夠解決這個問題。問題出在使用者權限上。假設批處理腳本加密文件,然後將加密文件 ftp 到供應商的 ftp 伺服器。
顯然,在 Windows Server 2012 中,管理員有權創建文件(此處為加密文件),而該使用者無權發送文件。SYSTEM使用者有發送權限,但無創建權限。(他們都在 Win Server 2008 中擁有此權限)。
因此我最後做的是製作兩個不同的批處理腳本任務,並以 10 分鐘的時間距離安排它們。第一個是使用管理員權限執行上述程式碼,第二個是使用 SYSTEMS 將其發送出去。