【发布时间】:2018-06-28 14:44:18
【问题描述】:
我有一个文件夹,其中包含一个 PowerShell 脚本和一个执行它的 .cmd 文件(除其他外)。
我希望任务计划程序启动 Run.cmd,但它不起作用。手动启动 Run.cmd 有效,单独启动 .ps1 也是如此。以下是我设置任务调度程序的方法:
附加信息:
脚本备份我们的网络交换机
.ps1 本质上会引发一些非关键错误(不会停止脚本)
-
Run.cmd 是这样的:
@echo off powershell.exe -ExecutionPolicy Bypass -file "BackupSwitch.ps1" %SystemRoot%\System32\tree.com "%~dp0backups" /f TIMEOUT /t 10
【问题讨论】:
-
这个问题可能更适合 ServerFault 或 SuperUser,但是... 你收到任何错误消息吗?任务是否正在使用服务帐户运行,并且该帐户在计算机上是否具有“批量登录”权限?
-
就我个人而言,我会将所有内容都放入 powershell 脚本中,然后进行安排。
-
没有错误,表示运行成功,但实际上并没有备份任何内容。我以管理员身份登录到我们的服务器,并为所有用户和管理员设置了“批量登录”权限
-
在
Start in (optional):中有机会输入位置,可能包括路径C:\!tools\Network_Script_Backups并更改您的脚本以使用-file ".\BackupSwitch.ps1"和"backups" /f会更容易。作为完成Start in (optional):位置的替代方法,您可以进行这两项更改,而是添加一个新行2、CD /D "C:\!tools\Network_Script_Backups"作为选项。
标签: powershell batch-file scheduled-tasks taskscheduler system-administration