Tâche Powershell programmée, en cours d’exécution

J’ai des problèmes lors de l’exécution d’un script PowerShell dans les tâches planifiées. Il est bloqué dans Running, même si la transcription a déconnecté la dernière ligne “Done!” et il semble aussi avoir fait exactement ce que je voulais. Qu’est-ce que je rate?

Lorsque vous l’exécutez à partir de Run in Windows, cela semble également powershell -file "D:\_temp\copy_bat\copy_one_reprint_folder.ps1" : powershell -file "D:\_temp\copy_bat\copy_one_reprint_folder.ps1"

Les saisies dans le planificateur de tâches sont les suivantes:

  • Courir avec tous les privilèges
  • Exécuter l’utilisateur est connecté ou non
  • Action, lancez le programme powershell.exe
    • -file "D:\_temp\copy_bat\copy_one_reprint_folder.ps1"

Coincé en cours d'exécutionHistoire en TS

S’il vous plaît voir le code ci-dessous si nécessaire.

 # PowerShell RePRINT copy first folder, sorted on lastModified function timestamp { $ts = Get-Date -format s return $ts } $fromDirectory = "D:\_temp\copy_bat" $toDirectory = "D:\_temp\in_dummy" $extractGUIDdir = "" $docTypeDir = "" # Logging ######### $ErrorActionPreference="SilentlyContinue" Stop-Transcript | out-null $ErrorActionPreference = "Continue" Start-Transcript -path $fromDirectory\copy_one_reprint_folder.log.txt -append ########### Write-Host "" Write-Host (timestamp) "Copy RePRINT extract started" Write-Host (timestamp) "============================" Get-ChildItem -path $fromDirectory | ?{ $_.PSIsContainer } | Sort-Object CreationTime | ` Where-Object {$_.name -ne "_copied"} | ` Select-Object -first 1 | ` Foreach-Object{ Write-Host (timestamp) $_.name $extractGUIDdir = $_.FullName Get-ChildItem -path $extractGUIDdir | ?{ $_.PSIsContainer } | Where-Object {$_.Name -match "Purchase Order \(-999999997\)" -or $_.Name -match "Logistics documents \(-1000000000\)" -or $_.Name -match "Specifications \(-999999998\)"} | ` Foreach-Object{ Write-Host (timestamp) " " $_.Name } Write-Host "" Write-Host "These folders (document types), were also found but will not be included" Get-ChildItem -path $extractGUIDdir -Exclude "Logistics documents (-1000000000)", "Purchase Order (-999999997)", "Specifications (-999999998)" | ?{ $_.PSIsContainer } | ` Foreach-Object{ Write-Host (timestamp) " - " $_.name } Write-Host "" Get-ChildItem -path $extractGUIDdir | ?{ $_.PSIsContainer } | Where-Object {$_.Name -match "Purchase Order \(-999999997\)" -or $_.Name -match "Logistics documents \(-1000000000\)" -or $_.Name -match "Specifications \(-999999998\)"} | ` Foreach-Object{ $temp_name = $_.FullName Write-Host (timestamp) "copying files from " $_.FullName Write-Host (timestamp) " to " $toDirectory #Copy-Item ($_.FullName)\*.* $toDirectory Write-Host (timestamp) " copying meta-files..." Copy-Item $temp_name\*.meta $toDirectory -Filter *.meta Write-Host (timestamp) " copying pdf-files..." Copy-Item $temp_name\*.pdf $toDirectory -Filter *.pdf if(Test-Path $temp_name\*.* -Exclude *.meta, *.pdf) { Write-Host (timestamp) " WARNING/ERROR not all documents have been moved. Only PDFs was moved!" Write-Host (timestamp) " Check folder for other document-types." } } Move-Item $extractGUIDdir $fromDirectory\_copied } Write-Host (timestamp) " DONE!" # Stop logging Stop-Transcript 

C’est résolu

Cela fonctionne, stupide, je n’ai pas F5 sur F5 (mise à jour) dans le planificateur de tâches pour mettre à jour le statut de la tâche dans l’interface graphique.

En fait, j’étais tout à fait certain de l’avoir fait, mais apparemment pas.