当前位置: 首页 > 知识库问答 >
问题:

超级外壳核心脚本正在运行,但未由任务计划程序执行?

叶弘深
2023-03-14

我正在尝试安排在Windows Server 2012R2上运行PowerShell Core 7.2脚本。脚本从服务器手动运行,没有任何错误,任务调度程序运行任务。在历史记录中,我可以看到< code >任务已完成

问题是脚本未执行。它应该移动文件并且文件不移动,这意味着脚本未执行。

所选任务计划程序的设置如下所示:

常规-无论用户是否登录,都以最高权限运行。< br >操作-

我真的不知道这里出了什么问题。

我认为剧本有问题。因为有另一个脚本被设置为使用PS Core和Task Scheduler执行。我要把剧本贴在这里。它是一个简单的批处理文件,将一个文件夹中的所有内容从一台服务器移动到另一台服务器。我通过两个函数来实现这一点。函数MoveFiles移动父文件夹的所有内容(不包括名为“Mazak”的子文件夹)。第二个函数MoveMazakFiles只移动“Mazak”的内容。(我完全知道我可以使用更少的代码行来完成这项工作,但这不是这里的重点)

$logPath = "\\MMS25163S1\Public\IT\Vantage_Utilities\CNC_Scripts\File Transfer\Fastems\Log.txt"
$trancriptPath = "\\MMS25163S1\Public\IT\Vantage_Utilities\CNC_Scripts\File Transfer\Fastems\LogTranscript.txt"
$getDate = Get-Date -Format "dddd MM/dd/yyyy HH:mm "
$counter = 0
$mazakCounter = 0
Start-Transcript -Path $trancriptPath -Append
Add-Content -Path $logPath -Value ("LOG CREATED $getDate") -PassThru
#Sources 
$srcMca = "\\MMS25163S1\Public\NcLib\FromNC\*"
$srcMcaNameChg ="\\MMS25163S1\Public\NcLib\FromNC"
$srcMazak= "\\MMS25163S1\Public\NcLib\FromNC\Mazak\*"
$srcMcaNameChgMazak = "\\MMS25163S1\Public\NcLib\FromNC\Mazak"
#Destination 
$destMca = "\\Sidney2\MfgLib\RevisedPrograms\MC-A"
#Time with milliseconds
$time = (Get-Date -Format hh-mm-fff-tt).ToString() 

Function MoveFiles{
    Param(
        [string]$src,
        [string]$dest,
        [string]$srcNameChange
    )
   Get-Item -Path $src -Exclude *Mazak* -ErrorAction SilentlyContinue | ForEach-Object{
        $counter++
        $fileName = $_.BaseName
        $fileNameExt = $_.Name
        Write-host $fileName -ForegroundColor Green
        Rename-Item -Path "$srcMcaNameChg\$fileNameExt"  -NewName ($fileName+"_"+"(Time-$time)"+$_.Extension);
        Add-Content -Path $logPath -Value ("Name changed: Time stamp added to $fileName ") -PassThru
    }
    Move-Item -Path $src -Exclude *Mazak*  -Destination $dest -Force
   Add-Content -Path $logPath -Value ("$counter file(s) moved to $dest") -PassThru
} 
MoveFiles -src $srcMca -dest $destMca -srcNameChange $srcMcaNameChg

Function MoveMazakFiles{
    Param(
        [string]$srcMazak,
        [string]$dest,
        [string]$srcNameChange
    )
    Get-ChildItem $srcMazak -Recurse -ErrorAction SilentlyContinue | ForEach-Object{
        $mazakCounter++
        $fileName = $_.BaseName
        $fileNameExt = $_.Name
        Write-host $fileName -ForegroundColor Green
        Rename-Item -Path "$srcMcaNameChgMazak\$fileNameExt"  -NewName ($fileName+"_"+"(Time-$time)"+$_.Extension);  
    }
    Move-Item -Path $srcMazak  -Destination $dest -Force
    Add-Content -Path $logPath -Value ("$mazakCounter file(s) from Mazak folder moved to $dest") -PassThru
}
MoveMazakFiles -srcMazak $srcMazak -dest $destMca -srcNameChange $srcMcaNameChg

Stop-Transcript

共有1个答案

尚声
2023-03-14

设置计划任务时,在“操作 -

输入此

" C:\ Program Files \ PowerShell \ 7 \ pwsh . exe "-File " R:\ Public \ IT \ Vantage _ Utilities \ CNC _ Scripts \ File Transfer \ Fastems \ CNC _ File _ Transfer _ Fastems . PS1 "

调度程序可能会询问您是否要使用参数运行 powershell 可执行文件 - 文件“R:\脚本路径\CNC_File_Transfer_Fastems.ps1”单击“是”。

 类似资料:
  • 我有3台windows 2016服务器,它们都在一个域中。我正在尝试推送一个在我的服务器上安装特定程序的powershell脚本。 该脚本在本地工作(我在一台服务器上运行它),但当它被GPO计划任务推送时,它不会执行所有内容?这是脚本。 第一部分在C驱动器中制作一个文件夹,并基本上将exe粘贴到那里以供以后安装。这发生得很完美,临时文件夹在所有服务器上都可用,但它不会安装程序。 没有调度程序,程序

  • 我有一个包含4个命令的批处理脚本,如下所示 当我双击批处理文件时,它运行得很好。当我尝试从命令提示符运行批处理文件时,它没有看到要删除的. csv文件,我不确定这是为什么,但我认为这对我的目的并不重要。 当我从task scheduler手动运行任务时,它会截断数据库中的表并删除现有的csv文件,但没有创建新文件,这使我相信它会卡在.vbs文件上。 我试着用。vbs脚本,并将路径传递给。xls和。

  • 我的域控制器上有一个小脚本,它被设置为通过SMTP向我发送有关最新安全事件4740的电子邮件。 手动执行时,脚本将按预期运行;但是,当设置为通过计划任务运行时,尽管它显示已执行,但没有任何反应(没有电子邮件)。 脚本如下: 计划任务设置如下: 我还尝试了以下方法: 根据任务历史记录:任务开始、行动开始、创建任务流程、行动完成、任务完成。我浏览了网站上一些有着相同“问题”的不同链接,但它们似乎都有一

  • 我正在尝试用ECS Fargate设置一个计划的任务,但我不知道为什么它没有运行。我可以使用确认任务正常工作,但当我试图按计划触发它时,得到的只是一堆没有任何解释的'failedinvocations'。 虽然我知道规则正在被触发,所以这是一个好的迹象。见下方截图: 但每次触发它时,只有一个“FailedInvocation”。安排规则如下: 谢谢 编辑:区域现在支持此操作。请参阅备注。

  • 问题内容: 不知道是否有人遇到过这种情况,但是我会提出有关故障排除和/或替代方法的建议。 我有一台Windows 2008服务器,在该服务器上运行多个计划任务。这些任务之一是一个python脚本,该脚本使用pscp登录linux框,检查是否有新文件,如果有新文件,则将它们复制到C:驱动器的本地目录中。我还在关键点处也将一些日志记录到脚本中,并且正在使用。 我使用变量构建了命令,然后使用它来执行命令

  • 我很想知道任务计划程序如何结束正在运行的任务。我已将一个应用程序添加到任务计划程序作业中,并且它接缝类似于在任务计划程序中为我的作业按 end 时(从任务计划程序启动它后),任务被窗口杀死(没有在我的应用程序中收到或消息)。我也没有找到一种方法来配置我希望如何在任务计划程序中关闭我的任务。我的目标是处理任务计划程序发送的消息(如果有)并很好地关闭我的应用程序。