Powershell:通过任务计划程序执行时无法从传输连接读取数据

问题描述 投票:0回答:1

我有一个 powershell 脚本,当我通过 powershell 或 VS Code 执行它时,它工作得很好。但是,当我尝试通过任务计划程序(作为管理员并具有最高权限 ofc)执行它时,它不起作用。我正在使用下面的 PS 代码来搜索 sharepoint 中的数据。我认为这个问题仅与那些拥有超过 100K 数据的共享点库有关。看起来任务计划没有等待结果,因为如果库有超过 100K 的数据,下面的查询大约需要 5 分钟。有关如何使用任务计划解决此问题的任何帮助。

Connect-PnPOnline -Url "https://my.sharepoint.com/sites/Documnets"
$Docs = Get-PnPList | Where-Object { $_.BaseTemplate -eq 101 -and $_.Hidden -eq $false }
ForEach ($List in $Docs) { 
 Write-Host "Working on List Name :- " $List.Title
    $Items = Get-PnPListItem -List $List.Title -PageSize 5000 | Sort-Object ID -Descending | Where-Object { ("1213356" -eq $_.FieldValues."AppNumber") } 
   
     Write-Host "Item found to update: $($Items.count)"
    If ($Items.Count -gt 0) {  
        WriteLog -level INFO -message "Record found"           
    }
}
powershell
1个回答
0
投票

这是一个常见问题,需要检查以下事项:

  • 确保任务计划程序操作选项卡中的“开始于(可选)”字段设置为脚本的目录。

  • 检查“操作”选项卡中的设置。程序/脚本字段应设置为

    Powershell
    ,添加参数字段应设置为
    -ExecutionPolicy Bypass -File "your-script.ps1"

  • 在脚本中包含 Out-File cmdlet 以写入日志文件以进行故障排除。您还可以使用

    Start-Transcript
    /
    Stop-Transcript
    进行更详细的日志记录。

  • 验证运行任务的用户帐户是否具有必要的权限。该帐户可能需要被允许“作为批处理作业登录”。

© www.soinside.com 2019 - 2024. All rights reserved.