计划任务已成功完成但未通过 import-csv

Scheduled Task succesfully completes but doesn't get past import-csv

我正在尝试 运行 在自动计划任务中执行以下代码。 无论我 运行 此任务是手动还是自动执行,它都无法正常工作。设置选项 'Run only when user is logged in' 后,我至少看到 PowerShell window 打开,而且我确实看到作业开始了。但是,当 PS window 关闭时,作业不可见(未完成、失败、什么都没有)。

日志显示脚本 运行s 直到 import-csv 命令。我已将 CSV 放在 C: 映射中,并且我 运行 以登录用户和最高权限执行自动任务。

为什么它没有通过 import-csv?当我 运行 这个脚本在 Powershell ISE 中时,它就像一个魅力。

运行 程序

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

参数: –NoProfile -ExecutionPolicy Unrestricted -File "C:\Users\usr\Desktop\Scripts\script.ps1"

开始: C:\Users\usr\Desktop\Scripts

Write-Host "Starting script"

$maxItems = 8
$iplist = import-csv "C:\Create.csv.txt"
Write-Host "Opened $($iplist[0])"
For ($i=0; $i -le $maxItems; $i++) {
    Write-Host $iplist[$i].DisplayName
    Start-Job -ScriptBlock {
        Param($displayName)
        try{
                Start-Transcript
                Write-Host "Found and started a job for $($displayName)"
            Stop-Transcript
        }
        Catch{
            
            Write-Host "Something went wrong "
            Stop-Transcript
        }
    } -ArgumentList $iplist[$i].DisplayName
}

更新:

PS window 还没来得及做任何事情就关闭了。此页面中的答案让我朝着正确的方向前进。我用来使它正常工作的完整修复程序: Task Scheduling and Powershell's Start-Job

首先,为了防止powershell window关闭,运行在脚本底部添加以下行:

Read-Host 'Press Any Key to exit'

其次,如果您 运行 遇到参数问题,请尝试使用标志明确命名参数:

$iplist = Import-csv -LiteralPath "C:\Create.csv.txt"

第三,如果不同于逗号,请确保明确声明所使用的分隔符。