当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 创建计划任务

作者:精品下载站 日期:2024-12-14 18:39:32 浏览:14 分类:玩电脑

使用 PowerShell 创建计划任务


有时您想要为 PowerShell 脚本配置计划任务。让 PowerShell 脚本每小时或每天在后台自动运行。在我们的示例中,我们希望为 Health Checker PowerShell 脚本创建计划任务。假设你想为另一个PowerShell脚本创建一个计划任务;将适用相同的步骤。在本文中,您将学习如何使用 PowerShell 创建计划任务。

在开始创建计划任务之前

在开始创建计划任务之前,在计算机上准备 PowerShell 脚本并创建具有运行该脚本的最低权限的服务帐户。

将脚本添加到文件夹

(C:)驱动器上创建Scripts文件夹。将 PowerShell 脚本放置在 C:\scripts 文件夹中。

在我们的示例中,它是 PowerShell 脚本 HealthChecker.ps1

[玩转系统] 使用 PowerShell 创建计划任务

了解更多:使用 PowerShell 脚本进行 Exchange Server 运行状况检查 »

创建服务帐户

必须创建一个具有强密码的服务帐户来运行脚本。

在此示例中,我们创建了服务帐户 svc-hc

[玩转系统] 使用 PowerShell 创建计划任务

将用户添加到仅查看组织管理

[玩转系统] 使用 PowerShell 创建计划任务

将服务帐户添加到本地管理员组

按照以下步骤将服务帐户添加到要运行 PowerShell 脚本的每台服务器上的本地管理员组:

  • 启动计算机管理

  • 点击群组

  • 双击管理员

  • 添加服务帐户svc-hc

[玩转系统] 使用 PowerShell 创建计划任务

如果不将服务帐户添加到本地管理员组,PowerShell 脚本将不会运行。

如何使用Powershell创建计划任务

要使用 PowerShell 创建计划任务,我们将使用以下 cmdlet:

  1. 新计划任务触发器

  2. 新的ScheduledTaskSettingsSet

  3. 新计划任务操作

  4. 新计划任务

  5. 注册计划任务

注意:以管理员身份启动 Windows PowerShell 并运行以下命令。

步骤1.创建定时任务触发对象

创建一个触发器来定义何时应执行脚本。

示例 1。每天凌晨 2 点。

$hcTrigger = New-ScheduledTaskTrigger -Daily -At 2am

示例 2. 每四个星期,星期一凌晨 2 点。

$hcTrigger = New-ScheduledTaskTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At 2am

步骤 2. 创建新的计划任务设置对象

使用默认设置创建新的计划任务设置对象。

$hcSettings = New-ScheduledTaskSettingsSet

步骤 3. 创建计划任务操作

创建计划任务操作并定义需要执行的操作。

示例 1. 更新 HealthChecker 脚本,针对本地服务器执行该脚本并生成 HTML 报告:

$hcAction = New-ScheduledTaskAction -Execute 'powershell.exe' -WorkingDirectory "C:\Scripts\" -Argument '-NonInteractive -NoLogo -NoProfile -Command ".\HealthChecker.ps1 -ScriptUpdateOnly; .\HealthChecker.ps1; .\HealthChecker.ps1 -BuildHtmlServersReport"'

示例 2. 针对远程 Exchange 服务器 EX02-2019 运行 HealthChecker 脚本。

$hcAction = New-ScheduledTaskAction -Execute 'powershell.exe' -WorkingDirectory "C:\Scripts\" -Argument '-NonInteractive -NoLogo -NoProfile -Command ".\HealthChecker.ps1 -ScriptUpdateOnly; .\HealthChecker.ps1 -Server EX02-2019; .\HealthChecker.ps1 -BuildHtmlServersReport"'

步骤4.创建定时任务实例

使用预定义的操作、触发器和设置对象创建新的计划任务对象:

$hcTask = New-ScheduledTask -Action $hcAction -Trigger $hcTrigger -Settings $hcSettings

步骤5.在本地计算机上注册计划任务定义

创建计划任务。

Register-ScheduledTask -TaskName 'HealthChecker Daily Run' -InputObject $hcTask -User (Read-Host "Please enter username in format (Domain\Username)") -Password (Read-Host "Please enter password")

输出显示任务名称。

TaskPath    TaskName                   State
--------    --------                   -----
\           HealthChecker Daily Run    Ready

在任务计划程序中运行计划任务

始终手动运行计划任务来测试一切是否正常:

  • 启动任务计划程序

  • 右键单击任务

  • 单击运行

[玩转系统] 使用 PowerShell 创建计划任务

脚本完成后,会显示上次运行结果: 操作成功完成。 (0x0)

[玩转系统] 使用 PowerShell 创建计划任务

验证 PowerShell 脚本报告

检查 PowerShell 脚本是否成功导出结果。

[玩转系统] 使用 PowerShell 创建计划任务

这是否有助于您在 Windows 上使用 PowerShell 安排任务?

了解更多:使用 PowerShell 清除 Windows Defender 防病毒排除项 »

结论

您学习了如何使用 PowerShell 创建计划任务。首先,创建一个服务帐户并使其成为仅查看组织管理组的成员。下一步是将服务帐户添加到本地管理员组。最后,运行命令来创建新的计划任务。不要忘记手动运行计划任务并验证您的工作。

您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 获取 Active Directory 计数。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯