Powershell“启动进程”未按计划任务运行

时间:2014-04-17 18:20:01

标签: windows powershell powershell-v2.0

有两个我从XP编辑的PowerShell脚本在Win Server 2k8 R2中运行。

它们在powershell中手动执行时运行正常,但如果按照域管理员的身份进行调度和运行,它们将执行他们应该执行的所有文件操作;除了他们没有做一个启动过程,将文件发送到它需要去的SFTP站点。

通过运行带有参数的powershell.exe来启动它们:

-noprofile -ExecutionPolicy Bypass -file C:\Users\administrator\Documents\script1.ps1

同样,正如我之前提到的,如果你手动运行它们,它们运行正常并按要求启动start-process,只有在它们被安排并且跳过启动过程时才运行文件操作。

start-process如下:

start-process -FilePath "c:\Program Files (x86)\Tumbleweed\STClient\stclient.exe" -ArgumentList "httpsu://www.securesiteexample.org/incoming/ $filename /prefNoAskSched /hidden /log /Remote-Site return /quitWhenDone"

我错过了什么?

2 个答案:

答案 0 :(得分:0)

添加一些代码以检查以确保该过程正在启动。

$FileName = 'c:\test\test.txt';
$ArgumentList = "httpsu://www.securesiteexample.org/incoming/ $filename /prefNoAskSched /hidden /log /Remote-Site return /quitWhenDone";
$ExePath = 'c:\Program Files (x86)\Tumbleweed\STClient\stclient.exe';

$Process = Start-Process -FilePath $ExePath -ArgumentList $ArgumentList -PassThru;

# If $Process variable is null, then something went wrong ...
if (!$Process) {
    # Process did not start correctly! Write the most recent error to a file
    Add-Content -Path $env:windir\temp\sftp.log -Value $Error[0];
}

答案 1 :(得分:0)

在您的任务中,转到操作窗格,编辑并删除 start in 字段中的所有内容。