Powershell ps1脚本在启动时显示在任务管理器中,但未运行
我有以下Powershell脚本文件sumdights.ps1,它每10秒向日志文件输出一个数字。手动执行时,脚本可以正常工作。执行策略设置为RemoteSignedPowershell ps1脚本在启动时显示在任务管理器中,但未运行,powershell,windows-10,startup,Powershell,Windows 10,Startup,我有以下Powershell脚本文件sumdights.ps1,它每10秒向日志文件输出一个数字。手动执行时,脚本可以正常工作。执行策略设置为RemoteSigned $logfile = "C:\Users/username/logger.log" Function Log { [CmdletBinding()] Param( [Parameter(Mandatory=$True)] [string] $Message )
$logfile = "C:\Users/username/logger.log"
Function Log {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True)]
[string]
$Message
)
$Stamp = (Get-Date).toString("yyyy/MM/dd HH:mm:ss.fff")
$Line = "$Stamp $Message"
Add-Content $logfile -Value $Line
}
$i=0
while($true)
{
$i++
Log “We have counted up to $i”
Start-Sleep -s 10
}
我已将其添加到启动文件夹,并在任务管理器中显示,如下所示。因此,它似乎是在启动时执行的
然而,当我看到日志文件时,并没有写入任何内容。脚本是否未实际运行或出现错误?在后一种情况下如何找到错误?问题是ps1文件在记事本中被打开,而不是被执行。为了解决这个问题,我创建了批处理文件来启动powershell脚本。如果它在您的交互式上下文中运行,而不是在任务计划程序中运行,则该任务未正确配置@postanote我只能访问机器的powershell。可以打开任何用户界面。此用例的任何引用?您是否将其设置为
powershell.exe-executionpolicy bypass-file“scriptpath\script.ps1”
?正如Santiago的评论所提示的那样,*.ps1
文件默认情况下不执行,默认情况下在记事本中打开以进行编辑(请参阅)。在启动文件夹(未验证)中放置带有powershell.exe
命令行的快捷方式文件,或使用aux。批处理文件以启动PowerShell命令行。