Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

如何从任务计划程序运行 PowerShell 脚本

如何从任务计划程序运行 PowerShell 脚本

Aug 26, 2025

Windows 任务计划程序使管理员能够在预设的时间表上自动运行 PowerShell 脚本,或在响应系统事件时自动执行。这有助于提高一致性、节省时间,并减少诸如备份、更新、监控和清理等任务中的人为错误。脚本可以通过 GUI 或 PowerShell cmdlet(Register-ScheduledTask, New-ScheduledTaskTrigger 等)进行安排。最佳实践包括使用最小权限账户、启用日志记录与错误处理、进行脚本签名,以及定期审查以防止滥用。

简介

Windows 任务计划程序使用户能够安排任务在指定日期和时间运行、按预定计划运行,或在特定事件触发时运行。该 Windows 操作系统内置工具有助于提高效率,并确保重复任务能够可靠执行。在本博客中,我们将向您展示如何从 任务计划程序运行 PowerShell 脚本 以及如何使用 PowerShell 创建计划任务。


为自动化设置 PowerShell 脚本

了解任务计划程序

任务计划程序库是所有已定义任务的集合,并按文件夹进行组织。对于每个任务,图形用户界面(GUI)都提供以下选项卡:

  • 常规 — 任务的名称和描述、应使用的运行账户,以及其他安全选项。
  • 触发器 — 用于启动任务的条件,可按时间(例如每日、每周)、按事件(例如系统启动或用户登录时)或自定义设置
  • 操作 — 任务被触发时执行的操作,例如启动程序。
  • 条件 — 根据计算机状态控制任务执行的准则,例如仅在计算机在特定时间内处于空闲时才运行
  • 设置 — 用于决定任务如何以及何时运行的其他配置,例如:如果任务失败则重新启动,或者如果运行时间超过预期则停止
  • 历史记录 — 任务执行历史,包括开始时间、结束时间,以及遇到的任何错误或警告
Image

使用任务计划程序自动化 PowerShell 脚本的优势

通过 PowerShell 任务计划程序自动化 PowerShell 脚本具有许多优势,包括以下几点:

  • 节省时间 — 当你从任务计划程序运行 PowerShell 脚本时,可以节省大量本来会花在手动执行上的时间。对于需要在非工作时段运行的脚本,这一点尤其有益。
  • 一致性 — 自动化可降低人为错误的风险。计划执行的 PowerShell 脚本将每次以完全相同的方式、按相同的顺序执行相同的操作。
  • 可靠性 — 借助任务计划程序(Task Scheduler),您可以确保诸如备份和清理例程之类的关键维护任务定期执行。这会提高系统的可靠性,并降低数据丢失或系统故障的风险。
  • 资源效率 — 通过在系统利用率较低的时段运行脚本,您可以确保高强度任务不会在高峰时段降低系统性能。
  • 灵活性 — Task Scheduler 提供多种调度选项,包括在系统启动时、登录时、处于空闲时,或响应特定事件来运行任务的能力。这种控制粒度使您能够根据自己的具体需求定制脚本执行方式。
  • 错误处理 — 您可以配置计划任务:脚本失败时尝试重新运行、任务完成或失败时发送电子邮件,并编写事件日志。这有助于及时排查问题,并让您随时了解自动化流程的健康状况。
  • 安全 — 借助 Task Scheduler,PowerShell 脚本可以在特定用户帐户下运行(包括具有提升权限的帐户),而无需要求用户登录。这有助于确保敏感任务能够安全执行,并支持对需要更高权限的脚本进行自动化。然而,由于对手可能会利用计划任务和触发任务来实施恶意目的,您应当借助审计或追踪系统来监控任务,以发现潜在滥用行为。 Netwrix Access Analyzer 是一个能够缓解恶意活动的工具的良好示例。
  • 集成与可扩展性 — 通过对 PowerShell 脚本进行计划任务配置,可以实现更为复杂的自动化场景:能够对系统事件做出响应,编排多个任务等。
  • 对复杂工作流的管理 — 任务计划程序(Task Scheduler)可以管理复杂的工作流,例如将多个任务串联起来,或根据先前任务的成功或失败情况使用条件逻辑。这对于需要对多个相互依赖的任务进行精心编排的场景而言非常宝贵。
  • 易用性 — 尽管功能强大,任务计划程序(Task Scheduler)仍拥有直观的图形界面,可简化设置和管理自动化任务的流程。对于更高级的用户,Task Scheduler 也可以使用命令行工具或 PowerShell cmdlet 进行配置和管理。

为 PowerShell 脚本创建计划任务的步骤

在使用任务计划程序(Task Scheduler)对 PowerShell 脚本创建计划任务之前,请确保该脚本已使用扩展名 .ps1 保存,并且已完成测试以确保其能够正常运行。

然后执行以下步骤:

  • 打开“任务计划程序”:按 Win + R,输入 taskschd.msc“运行”对话框中,然后按 Enter
Image
  • 在右侧的 “操作”窗格中,单击 “创建任务”
  • “常规” 选项卡中,执行以下操作:
  • 输入任务的名称和说明。
  • 配置相应的安全选项。例如,选择 无论用户是否已登录都运行 可确保即使你未登录,任务也会运行。如果脚本需要管理员权限,请勾选 使用最高权限运行

点击 确定以保存你的更改。

Image
  • 转到 触发器 选项卡,然后点击 新建。新建触发器 窗格中,选择以下内容:
  • 任务何时开始
  • 它应当运行的频率,例如一次、每天或每周
  • 任何你可能需要的其他选项,例如:如果任务运行时间超过你指定的时长,则停止该任务

单击 OK 以保存你的更改。

Image
  • 转到 Actions 选项卡。单击 New 以创建一个新的操作,用于运行你的 PowerShell 脚本:
  • Action 下拉菜单中,选择 Start a program
  • Program/script 字段中,输入 powershell.exe
  • 添加参数 字段中,输入以下内容,并确保指定脚本的完整路径: -File C:\Scripts\scriptname.ps1
  • 起始于 字段中,指定脚本所在的目录(如有需要)。通常情况下不需要,除非您的脚本依赖相对路径。

单击 确定 以保存您的更改

Image
  • 单击 确定 然后转到 条件 选项卡。设置任务应在满足哪些条件时运行。例如,您可以指定仅当计算机使用交流电源(AC)时才运行,或者仅当连接到特定网络时才运行。单击 确定 以保存您的选择。
Image
  • 接下来,转到 设置 选项卡,并配置以下内容:
  • 允许按需运行任务 — 如果您希望能够手动运行该任务,请选中此项。
  • 如果任务失败 — 指定任务失败时应执行的操作,例如重新启动任务。
  • 如果任务运行时间超过 — 如适用,请设置时间限制。
  • 如果任务已在运行 — 当任务被触发但已在运行时,选择应执行的操作。
Image
  • 单击 OK 完成任务设置。系统将提示您输入将运行该任务的用户帐户的凭据。

高级配置与最佳实践

控制脚本执行与可见性

在使用任务计划程序时,若要控制脚本的执行与可见性,可以在 Add arguments 字段的 Action 选项卡中使用以下参数:

  • NoExit — 添加此参数可防止脚本运行完成后 PowerShell 或命令提示符窗口自动关闭。此选项在调试时或当你希望控制台窗口保持打开以便直接查看输出时非常有用。
  • Command — 使用此参数指定要执行的脚本的完整路径以及任何必要的参数。

例如,你可以在以下位置指定:Add arguments 字段:

      -NoExit -Command -File C:\Scripts\InstallOfSoftware.ps1
      

将输出重定向到文本文件或其他位置以记录脚本活动

排查常见的 Windows 任务计划程序问题

下面是一些常见问题,这些问题可能会阻止你的计划任务按预期运行,以及相应的解决方法。

任务不会启动或运行。

  • 确保运行该任务的用户帐户具有执行任务以及访问任务中引用的任何文件或目录所需的权限。
  • 请再次核对任务的配置设置,例如触发器设置、操作参数和条件。
  • 确保该任务已启用。
  • 如果任务使用特定用户帐户来运行,请检查密码是否已更改;如有必要,请为该任务更新密码。

任务可以手动运行,但不会自动运行。

  • 请确认触发器设置正确;常见问题包括开始时间不正确、计划配置错误。
  • 检查可能阻止任务运行的条件,例如仅当计算机在特定时间内处于空闲状态时才会运行。若任务安排在空闲时间运行,或在计算机未使用时运行,则诸如睡眠或休眠模式等电源设置可能会阻止执行。调整电源设置,确保系统在任务运行期间保持处于活动状态。

任务意外停止或行为不正确。

  • 请检查是否有足够的内存、CPU 或磁盘空间供任务顺利运行。
  • 如果任务涉及运行脚本,请确保该脚本在“任务计划程序(Task Scheduler)”之外也能正常运行。考虑在两种情况下环境变量、路径或权限可能会有所不同。

任务因特定错误代码而失败。

在任务的历史记录或事件日志中查找提供的错误代码,以获取有关问题的最新信息以及如何解决它。

任务正在运行,但没有任何动作。

  • 确认任务的操作集合(例如启动程序)已正确配置。
  • 如果由于策略限制脚本无法执行,请考虑添加 -ExecutionPolicy Bypass 参数,以覆盖系统的执行策略并允许脚本运行。
  • 确保可执行文件或脚本的路径正确,并且所有命令行参数都已正确指定。
  • 如果任务需要输出到文件或其他目标,请确保路径正确,并且运行该任务的账户具有必要的写入权限。

申请“Monitor and Secure Scheduled Tasks”的免费试用

常见使用场景的实用示例

常见管理任务的示例脚本

以下是一些常见管理任务的实用用例,您可能希望使用 Windows 任务计划程序进行自动化,并附有示例脚本。

备份文件夹

可以使用以下脚本,将 C 盘中的文件夹备份到本地 D 盘中的文件夹:

      Copy-Item -Path "C:\Source\*" -Destination "D:\Backup" -Recurse -Force
      

安装软件更新

要自动更新软件或系统组件,请使用以下脚本:

      Install-WindowsUpdate -AcceptAll -AutoReboot
      

发送用户通知

如需向电子邮件分发列表发送即将到来的活动提醒,请使用此脚本:

      Send-MailMessage -To "AbbeyCrawford@milkyway.com" -From "AbbeyTucker@milkyway.com" -Subject "Daily Meeting Reminder" -Body "This is a reminder about the meeting scheduled for 10:00 AM." -SmtpServer "smtp.milkyway.com"
      

执行安全扫描

如需自动运行安全扫描以检测恶意软件或漏洞,请使用此脚本:

      Start-MpScan -ScanType QuickScan
      

清理临时文件

此脚本会从指定目录中删除临时文件:

      Get-ChildItem -Path C:\Windows\Temp\*, $env:TEMP\* -Recurse | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
      

重启服务

要重启诸如 Web 服务器或 Microsoft SQL Server 服务之类的服务,可以使用如下命令:

      Restart-Service -Name W3SVC
      
      Restart-Service -Name MSSQLSERVER
      

计划运行复杂的 PowerShell 脚本

同样也可以计划运行更复杂的 PowerShell 脚本。正如下面的示例所示,最佳做法是在脚本的各个部分中加入注释,用于说明其用途。

报告磁盘空间使用情况

此脚本可快速概览磁盘空间使用情况:

      # Script to report disk space usage

Get-PSDrive -PSProvider FileSystem |

Select-Object Name, @{Name="UsedGB";Expression={"{0:N2}" -f (($_.Used - $_.Free)/1GB)}}, @{Name="FreeGB";Expression={"{0:N2}" -f ($_.Free/1GB)}}, @{Name="TotalGB";Expression={"{0:N2}" -f ($_.Used/1GB)}} |

Format-Table -AutoSize
      

监控系统健康状况

要随时间跟踪系统性能,可以使用此 PowerShell 脚本将 CPU 使用情况、内存使用情况和磁盘空间记录到文件中:

      # Define the log file path

$logFile = "C:\SystemHealthLog.txt"

# Function to get system health metrics

function Get-SystemHealth {

    # Get CPU usage

    $cpuUsage = Get-Counter '\Processor(_Total)\% Processor Time'

    # Get memory usage

    $memoryUsage = Get-Counter '\Memory\Available MBytes'

    # Get disk space usage for C: drive

    $diskSpace = Get-PSDrive -Name C

    $usedSpace = $diskSpace.Used / 1MB

    $freeSpace = $diskSpace.Free / 1MB

    $totalSpace = $diskSpace.Used + $diskSpace.Free / 1MB

    # Format output

    $cpuUsageFormatted = "{0:N2}%" -f $cpuUsage.CounterSamples[0].CookedValue

    $memoryUsageFormatted = "{0:N2} MB" -f $memoryUsage.CounterSamples[0].CookedValue

    $diskSpaceFormatted = "Used: {0:N2} MB, Free: {1:N2} MB, Total: {2:N2} MB" -f $usedSpace, $freeSpace, $totalSpace

    # Write to log file

    $logEntry = "Date and Time: $(Get-Date) - CPU Usage: $cpuUsageFormatted, Memory Available: $memoryUsageFormatted, Disk Space: $diskSpaceFormatted"

    Add-Content -Path $logFile -Value $logEntry

}

# Run the health check

Get-SystemHealth
      

修改或删除计划任务

在修改或删除一个或多个计划任务之前,建议先查看所有现有任务。要查看任务列表,只需运行以下 Get-ScheduledTask cmdlet。

修改计划任务

要修改任务,请右键单击它并选择 Properties,如下所示。然后编辑所需的设置,并单击 OK 以保存更改。

Image

删除计划任务

要删除计划任务,请右键单击它,选择 Delete 并确认该操作。

Image

使用 PowerShell 脚本创建计划任务

PowerShell 调度入门

要创建计划任务,除了“任务计划程序”(Task Scheduler)之外,您还有另一个选择:PowerShell。从 PowerShell 界面直接创建和管理计划任务,能够显著提升生产力、准确性以及会话可靠性,尤其是在通过 CimSession 管理远程系统时。

下面是用于创建和管理计划任务的一些主要 PowerShell 命令:

  • New-ScheduledTask — 在 PowerShell 中创建新的计划任务对象
  • Register-ScheduledTask — 注册一个新的计划任务
  • New-ScheduledTaskAction — 定义计划任务的操作
  • New-ScheduledTaskPrincipal — 存储任务将以其运行的用户账户
  • New-ScheduledTaskSettingsSet — 定义计划任务的设置
  • New-ScheduledTaskTrigger — 定义计划任务的触发器

使用 PowerShell 管理计划任务的优势

使用 PowerShell 运行计划任务的好处包括以下内容:

  • 易用性 — 可以轻松指定复杂的触发器、条件和操作。
  • 灵活性 — 既可以编写并执行复杂的脚本,完成从简单的文件清理到精细的系统诊断与修复等各类任务。
  • 节省时间 — 使用 PowerShell 计划任务来运行 PowerShell 脚本,可以省去手动执行重复或复杂任务的需求。
  • 更轻松的故障排查 — PowerShell 脚本可以记录有关错误的详细信息,甚至还可以尝试自动纠正这些问题。
  • 远程执行 — 计划任务可以在多台机器上执行并进行限速(throttling)。在更大的网络环境中,这尤其有益。
  • 安全 — PowerShell 包含许多安全功能,例如执行 策略 和已签名的脚本,以帮助确保只有授权脚本才能在你的系统上运行。
  • 效率 — 使用 PowerShell 来进行任务调度通常比第三方自动化工具消耗更少的系统资源。
  • 灵活性 — PowerShell 中的计划任务可以轻松地进行修改、复制或扩展,以满足不断变化的需求。

使用 PowerShell 创建计划任务

用于创建计划任务的 PowerShell 脚本包含以下元素:

  • $action — 这指定任务将执行的内容,例如运行 PowerShell 脚本、启动应用程序或执行命令:
      $action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\InstallOfSoftware.ps1"
      
  • $trigger — 这指定任务何时运行,例如在特定时间、每天或每周,或基于系统事件:
      $trigger = New-ScheduledTaskTrigger -Daily -At "10:00AM"
      
  • $principal — 这指定任务将在哪个用户帐户下运行:

$principal = New-ScheduledTaskPrincipal -UserId “NT AUTHORITY\SYSTEM” -LogonType Password

  • $settings — 其中包括任务失败时的处理方式、运行条件以及电池供电时的行为等选项:
      $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
      
  • Register-ScheduledTask — 这会将任务注册到任务计划程序(Task Scheduler):
      Register-ScheduledTask -TaskName “Installation of Software" -Action $action -Trigger $trigger -Principal $principal -Settings $settings
      

下面您可以看到完整脚本的执行过程:

Image

面向初学者的 Windows PowerShell 脚本教程

了解更多

安全注意事项与最佳实践

计划任务的安全影响

在安排任务时,无论是使用 Task Scheduler 还是 PowerShell,请务必关注以下安全注意点:

  • 权限管理 — 计划任务会以其被安排的账户的权限运行,因此可能被滥用。如果该账户具有更高的权限,则风险更高。请务必使用仅具有完成任务所需的最低权限的账户来运行计划任务。
  • 脚本安全 — 计划任务调用的脚本或可执行文件本身也可能成为安全漏洞的载体。例如,恶意行为者可以替换或修改存储在未受保护目录中的脚本,从而执行有害命令。
  • 进程劫持 — 如果计划任务具有可预测性,并且以高权限运行,攻击者可能会用恶意代码替换该任务原本应执行的脚本。
  • 审计与责任追踪 — 为了检测并响应恶意活动,必须保留计划任务创建、修改和执行的详细日志。
  • 拒绝服务 — 通过在关键时间安排会消耗过多系统资源的任务运行,攻击者可能会干扰主机系统执行其预期功能的能力。

以适当的安全上下文运行脚本,以及使用高权限账号的影响

为尽量减少攻击面,请始终在具备完成该任务所需的最小权限的账号下运行脚本,并避免使用管理权限运行脚本。为实现这一点,请了解脚本需要哪些资源、权限以及速率限制(throttle limit)。例如,该脚本是否需要修改系统文件、访问特定数据,或通过网络进行通信?

此外,使用执行策略来控制脚本可以运行的条件。例如,你可以限制系统仅在脚本由可信发布者签名时才允许运行。

对于需要作为服务运行的脚本,可以考虑使用 Windows 托管服务帐户(MSA)或组托管服务帐户(gMSA)。由于其密码会自动管理,因此更安全。

创建计划任务的最佳实践

为最大化使用计划任务的收益,请遵循以下最佳实践:

  • 确保每个任务都有明确的目的。记录任务会做什么以及为什么需要它,帮助那些可能在未来与该任务一起工作的人员。
  • 建立清晰的命名规范。 为防止混淆和不当的任务执行,请确保每个计划任务都有唯一的 taskpath。
  • 审查并测试。 在运行脚本之前请仔细审查,尤其是当脚本来自外部来源时,要留意任何可疑代码。在生产环境中部署计划任务之前,应在预发布或开发环境中进行充分测试。维护一个已批准脚本的存储库也是一种良好实践。
  • 实现错误处理。 确保每个脚本都能妥善处理常见错误,并在需要关注的问题出现时通知相关团队成员。
  • 了解依赖关系。 如果任务依赖外部服务或数据,请确保具备可用性检查,并能在发生故障或延迟时妥善处理。
  • 考虑资源使用情况。 寻找让任务消耗更少资源的方法,例如修改其逻辑或降低/调整运行频率。任务应在必要时尽可能频繁地运行,但不能频率过高,以免造成性能问题。选择任务运行时间时,请考虑其他系统活动等因素以及潜在冲突。
  • 关注安全。除了以上提供的安全指南外,请务必为需要访问安全资源的任务使用适当的身份验证和授权措施,并确保任务不会无意中暴露敏感数据。
  • 避免在关键任务中依赖默认设置。根据你的具体需求自定义任务配置。
  • 将脚本存储在安全的位置。确保只有需要运行或修改脚本的用户才拥有访问权限。
  • 为你的脚本添加数字签名。 如有可能,请使用受信任的证书颁发机构(CA)颁发的数字证书为脚本进行签名。这样不仅可以验证脚本作者身份,还能确保脚本自签名以来未被篡改。
  • 实施监控和告警。 日志对于诊断问题以及理解任务的操作至关重要。能够在脚本出现异常活动或性能下降时通知管理员的工具,可帮助更快响应。
  • 定期审查并更新计划任务。 这包括更新任何依赖项、根据新的业务需求调整计划,以及停用不再需要的任务。

结论

Windows 任务计划程序使业务用户和管理员能够按常规在特定日期和时间运行 PowerShell 脚本,例如每天或每周,或在满足特定条件时运行。使用任务计划程序自动化任务可以节省时间,同时确保任务以准确且可靠的方式执行。更高级的用户可以使用 PowerShell 来创建和管理计划任务。

在安排脚本时,请确保遵循最佳实践,例如记录任务的目的、在脚本中使用错误处理和日志记录,以及使用 最小特权原则 来避免过度权限;如果权限被破坏并被对手利用,就可能成为安全威胁。

常见问题

什么是 Windows 任务计划程序?

Windows 任务计划程序是 Windows 操作系统中内置的工具,可让用户安排任务和进程自动运行。使用任务计划程序,你可以设置任务在指定的日期和时间运行,或按每日或每周等固定间隔运行。

为什么应该使用任务计划程序来自动化 PowerShell 脚本?

通过选择让任务计划程序运行 PowerShell 脚本,你可以自动化重复性任务,从而确保在不需要你进一步付出额外精力的情况下,这些任务能够可靠且准确地执行。

如何打开任务计划程序?

按下 Win + R 以打开“运行”对话框。输入 taskschd.msc ,然后按 Enter

如何在“任务计划程序”中创建新任务?

在“任务计划程序”窗口右侧的“操作”窗格中,点击 Create Task 。为任务提供名称和说明;在“操作”“触发器”“条件”和“设置”选项卡中选择合适的配置;然后点击 Save

为任务命名并编写描述有哪些好处?

提供有用的名称和清晰的描述(说明任务的作用以及为何需要它)有助于确保每个任务都有明确的目的,并方便将来与该任务协作的其他人员进行维护。

如何确定计划任务的触发器?

在任务的 Trigger 选项卡中,您可以指定任务应何时运行,例如按计划、在系统启动时或用户登录时,以及重复间隔和其他条件。

如何配置任务计划程序以运行 PowerShell 脚本?

  1. 转到 Actions 选项卡,点击 New 并选择 Start a program(从下拉菜单中)。
  2. Program/script 字段中,输入 powershell.exe
  3. Add arguments 字段中,输入以下内容,并将参数 InstallofSoftware.ps1 替换为你的脚本名称:
      -File C:\Scripts\InstallofSoftware.ps1
      

如何设置任务,即使用户未登录也能运行?

在任务的“常规”选项卡中,选择选项 Run whether a user is logged on or not

如何管理任务权限,并确保脚本在指定时长后停止?

任务具有其运行账户的权限。你可以在“常规”选项卡上指定运行任务的账户。

要确保脚本在指定时长后停止,请在“设置”选项卡中选择 如果任务运行时间超过,则停止该任务,然后选择所需的小时数或天数。

如何控制脚本执行的可见性?

你可以通过在“操作”选项卡的 -NoExit-Command 参数中添加到 Add Argument 字段来控制脚本的执行和可见性。

有哪些提示可以帮助排查未按预期运行的任务?

密码到期或变更可能导致任务失败。配置不当或恶意设计的计划任务(例如消耗过多系统资源的任务)可能会引发主机上的拒绝服务,从而影响其可用性与性能。

如何修改现有的计划任务?

在 Windows 任务计划程序库中对该任务单击鼠标右键,选择 Properties ,然后对任务的设置进行所需的更改。

如何删除计划任务?

在任务计划程序库中对该任务单击鼠标右键,然后选择 Delete

使用 PowerShell 来安排任务有哪些优势?

与任务计划程序 GUI 相比,PowerShell 在任务配置、错误处理和日志记录方面提供了更细粒度的控制,并且更容易定义自定义的调度逻辑。PowerShell 还使你能够从集中位置对多个远程系统进行任务计划和运行。

New-ScheduledTaskTrigger 和 Register-ScheduledTask cmdlet 用于什么用途?

New-ScheduledTaskTrigger cmdlet 用于为任务定义触发器,而 Register-ScheduledTask cmdlet 则用于在 Windows 任务计划程序中注册该任务。

计划任务有哪些安全影响?

使用高权限账户运行计划任务会在账户被入侵时显著增加安全风险,因此请始终以最小权限原则为前提选择账户。

如何在适当的安全上下文中运行脚本?

最重要的是,在具有完成任务所需的最低权限的账户下运行脚本;在适用的情况下,使用托管服务帐户(MSA)或组托管服务帐户(gMSA)。可以考虑使用执行策略,仅允许已由受信任发布者签名的脚本。并且在条件允许时,请使用受信任的证书颁发机构(Certificate Authority)签发的数字证书对脚本进行签名。

组织和管理计划任务的最佳实践有哪些?

关键的最佳实践包括:将脚本存放在安全的位置,并对访问权限进行控制;在将脚本部署到生产环境之前,先在测试环境中对其进行评估。

常见问题

分享到

了解更多

关于作者

Tyler reese

Tyler Reese

产品管理副总裁,CISSP

凭借在软件安全行业超过二十年的经验,Tyler Reese 对当今企业面临的快速演变的身份与安全挑战非常熟悉。目前,他担任 Netwrix Identity and Access Management 组合的产品总监;他的职责包括评估市场趋势、确定 IAM 产品线的发展方向,并最终满足终端用户的需求。他的职业经历从为财富 500 强公司提供 IAM 咨询,到在一家大型直销面向消费者(direct-to-consumer)的公司担任企业架构师,涵盖范围十分广泛。 目前,他持有 CISSP 认证。