2012-07-11 151 views
1

我有一个简单的powershell脚本来获取目录中的名称并将其写入文件。 我希望在每天早上8:00执行此操作,因此我从Windows任务计划程序创建了一个任务,任务计划程序可以启动该脚本,但脚本无法写入文件。因此,作为一种替代我创建一个批处理文件,我尝试使用任务调度程序来调用PS1这是给了一个错误“fileopenerror” 我的批处理文件 \ PowerShell.exe \ test.ps1无法使用Windows任务计划程序运行powershell脚本

我的PowerShell脚本有 的Set-executionpolicy -scope currentuser -ExecutionPolicy下RemoteSigned -force LS >> names.txt中

+1

如果设定在脚本执行策略的输出,但目前执行的政策是不会让脚本运行开始,你不觉得这可能是一个问题吗?启动Powershell时,您可以覆盖执行策略。键入Powershell /?在命令提示符处。 – EBGreen 2012-07-11 13:05:21

+0

如果我只是使用命令提示符执行powershell工作,但如果它由任务调度程序启动它不是。我不知道为什么会发生这种情况。 – Laavaa 2012-07-11 13:47:13

+0

我的猜测是系统帐户没有按照您帐户的方式进行配置。您是否尝试重写执行策略? – EBGreen 2012-07-11 13:51:48

回答

0

< #So这里有一个〔实施例我想提出来供你也就BITS服务在3个am,i每天重启猜你可以用你的apache服务例子修改脚本#>

< #Here林创建触发器的工作和IM设置它在每天凌晨3点,以#开始>

$trigger = New-JobTrigger -Daily -At 3am 

<#下面进出口注册的ScheduledJob用的名称和$触发的触发是在凌晨3点每日,也为Im放置脚本的脚本块#内被执行>

Register-ScheduledJob -Name BitsServiceRestart -Trigger $trigger -ScriptBlock { 

<# Suppose Lets say that you want to schedule a restart of BITS Service#> 
Restart-Service -ServiceName BITS 

} 

<#一旦作业被注册,您可以在工作细节使用获取Get-ScheduledJob您还可以查看使用的TaskScheduler任务的详细信息 - > Windows - > PowerShell#>

Get-ScheduledJob BitsServiceRestart | fl * 

<#你能接受预定作业的使用收到招聘#>

Receive-Job -Name BitsServiceRestart 
相关问题