从任务计划程序运行Powershell脚本

时间:2020-04-24 06:57:16

标签: powershell scheduled-tasks sharepoint-online

我需要从Task Scheduler中为SharePoint在线运行PowerShell脚本。脚本:

  1. https://xxx.sharePoint.com/site/ggg获取文档版本。
  2. 输出到本地驱动器上的.csv文件。
  3. 访问 https://xxx-admin.sharepoint.com 以便将CSV发布到xxx.Sharepoint.com/site/aaaa。

该脚本可在PowerShell中完美运行。我无法使其在我的机器上运行。没有错误消息,或C:/上的输出文件。

可以在本地计算机上运行此脚本吗?

Task Scheduler Settings

enter image description here

2 个答案:

答案 0 :(得分:0)

不是很确定如何运行,但是要回答您的问题:是的,如果您安装了PowerShell和所有必需的库,它就可以。如果尚未设置执行策略,则可能需要设置该策略,并以具有足够权限的用户身份运行脚本。

检查以下问题和答复: How to run a PowerShell script

答案 1 :(得分:0)

要运行PowerShell脚本,您需要执行以下两项操作之一。将执行策略更改为“ RemoteSigned”(必须在此计算机上创建脚本)或“ Unrestricted”(不推荐),因为默认情况下它将设置为“ Restricted”,这将不运行任何脚本。第二个选项忽略执行策略。首先,请打开\编辑原始的powershell脚本,并使用以下语法将其封装:“ powershell -ExecutionPolicy ByPass {脚本代码在这里}”此外,如果您想查看在生成时是否生成错误,运行计划的任务,则需要添加此参数“ -NoExit”。控制台关闭的原因是,默认情况下,计划任务在后台控制台中运行脚本,此脚本将在之后立即关闭,您需要使用“ -NoExit”命令使其保持打开状态。但是,如果保留“ -NoExit”参数,则每次任务运行时它将保持打开所有这些控制台的状态。因此,请确保在脚本成功运行且没有错误的情况下将其删除。

封装的脚本语法示例:

powershell -ExecutionPolicy ByPass {

   # Original script code here
}

封装的脚本,可防止控制台关闭语法示例:

powershell -ExecutionPolicy ByPass -NoExit {

   # Original script code here
}

创建计划任务:

  1. 通过按“ Windows键+ R” 来打开Task Scheduler,这将弹出运行对话框,并在“打开”文本框中键入“ taskschd.msc” < / strong>

  2. 单击“创建任务” ,然后在“名称”字段中键入您要为此任务指定的名称。然后确定要使用的安全选项,以管理员身份运行,请使用“以最高权限运行”选项。

  3. 点击“触发器” 标签,然后点击“新建” 。在这里,您可以从下拉菜单中选择开始任务的位置,默认情况下,按计划选择。然后,选择所需的频率,时间和其他高级设置。

  4. 点击“操作” 标签,然后点击“新建” ,对于操作在下拉列表中保留为“启动程序” 。在“程序/脚本”文本框中,键入“ powershell.exe” ,在“添加参数(选项)”字段中,键入-文件“完整文件路径” ,并添加左引号和右引号。示例:-文件“ C:\ Users \ Public \ Documents”

  5. 点击“条件” 标签,并在大多数情况下保留默认设置或选择其他条件。

  6. 单击“设置” 标签,通常默认设置是正确的,但您可以根据需要选择其他设置。

https://blog.netwrix.com/2018/07/03/how-to-automate-powershell-scripts-with-task-scheduler/