计划任务已成功完成但未通过 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"
第三,如果不同于逗号,请确保明确声明所使用的分隔符。
我正在尝试 运行 在自动计划任务中执行以下代码。 无论我 运行 此任务是手动还是自动执行,它都无法正常工作。设置选项 '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"
第三,如果不同于逗号,请确保明确声明所使用的分隔符。