PowerShell创建的任务中的PowerShell脚本无法运行

时间:2019-05-02 06:32:49

标签: powershell scheduled-tasks

我正在测试脚本,以了解在PowerShell中使用Task Scheduler的想法。

出于安全性考虑,我不想在脚本中包含任何凭据。

我的想法是在PowerShell中创建一个运行脚本的任务,但由于某种原因,该任务无法正确执行,我也不知道为什么。

我的任务创建如下:

$taskName = "WeeklyMaintance"
$User = "NT AUTHORITY\SYSTEM"
$Trigger = New-ScheduledTaskTrigger –Daily -At "08:14"
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "D:\Some SW\_Scripts\testing.ps1"
Register-ScheduledTask -TaskName $taskName -Trigger $Trigger -User $User -Action $Action -RunLevel Highest

脚本如下所示

$Logpath = "D:\Some SW\_Scripts"
$logname = "Log.txt"
function Write-Log {
    Param ([string]$logstring)
    $timestamp = Get-Date -Format "dd.MM.yyyy HH:mm:ss"
    $log = "[$timestamp]: $logstring"
    Add-Content -Value $log -Path "$Logpath\$logname"
}
Write-Log "My Test for research worked"

该日志文件已经创建,并且在正常执行时可以正常工作,但是在我创建任务并以无法启动的任务运行该命令时有些麻烦。

在创建任务或在此处使用系统时,我有问题吗?

编辑:

我发现只有这条路才能成为“坏人”。

当我将路径从“ D:\ Some SW_Scripts”更改为“ D:\ Test”

1 个答案:

答案 0 :(得分:2)

过去我对此有疑问,我需要在操作中添加'-File'参数。

$taskName = "WeeklyMaintance"
$User= "NT AUTHORITY\SYSTEM"
$Trigger= New-ScheduledTaskTrigger –Daily -At "08:14"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File `"D:\Some SW\_Scripts\testing.ps1`""
Register-ScheduledTask -TaskName $taskName -Trigger $Trigger -User $User -Action $Action -RunLevel Highest