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脚本安排每日任务错误的主要内容,如果未能解决你的问题,请参考以下文章