Powershell脚本安排每日任务错误

Posted

技术标签:

【中文标题】Powershell脚本安排每日任务错误【英文标题】:Powershell script to schedule daily task error 【发布时间】:2017-11-21 17:19:48 【问题描述】:

我有一个非常简单的 power shell 脚本,它将控制台应用程序注册为每日计划任务。

$TaskCommand = Read-Host 'Enter the path to the console application'
$TaskName = "TaskName"
$TaskStartTime = "10PM"
$TaskArg = "-WindowStyle Hidden -NonInteractive -Executionpolicy unrestricted"

$TaskAction = New-ScheduledTaskAction -Execute "$TaskCommand" -Argument "$TaskArg"
$TaskTrigger = New-ScheduledTaskTrigger -At $TaskStartTime -Daily
Register-ScheduledTask -Action $TaskAction -Trigger $TaskTrigger -TaskName "$TaskName" -User %computername%\theusername -Password "password" -RunLevel Highest

应用程序从用户输入中读取文件路径,并尝试使用特定用户帐户将应用程序注册为任务。我可以使用

使脚本正常工作
-User "System"

但是,当我尝试使用上述脚本时,我得到了这个错误:

Register-ScheduledTask:帐户名称和安全 ID 之间没有映射。

我已确保该帐户存在,因为它当前正在运行多项服务。我也是 powershell 新手,所以尝试在用户名周围添加引号,但没有成功。

【问题讨论】:

【参考方案1】:

不要认为 PowerShell 识别 %computername%。 Have a look at environment variables here.

$env:USERNAME, $env:USERDOMAIN $env:COMPUTERNAME 看起来与您的任务相关。

【讨论】:

【参考方案2】:

对我来说,这是一个存储变量的尾随空格的问题。与手头的问题无关,但对于阅读本文的其他人来说,可能值得进行一次健全性检查。

【讨论】:

(如果您不想收到对答案的投票,请对其进行编辑并将其设置为 Community Wiki)。

以上是关于Powershell脚本安排每日任务错误的主要内容,如果未能解决你的问题,请参考以下文章

今天在写powershell脚本中犯的两个错误

如何在powershell 运行bat

powershell 用于安排计算执行的脚本

通过 powershell 脚本避免微软登录弹出窗口

任务调度程序 - 仅针对特定任务的事件运行

计划的 Powershell 触发时不会运行,手动运行时不会停止运行