【问题标题】:Windows task scheduler does not run my powershellscript completelyWindows 任务计划程序无法完全运行我的 powershellscript
【发布时间】:2021-05-28 21:20:07
【问题描述】:

我有 3 个 Windows 2016 服务器,它们都在一个域中。 我正在尝试推送一个在我的服务器上安装特定程序的 powershell 脚本。

脚本在本地运行(我在一台服务器上运行),但是当它被 GPO 计划任务推送时,它不会执行所有操作? 这是脚本。

if (!(Test-Path -Path 'C:\Temp' -ErrorAction SilentlyContinue)) {

    New-Item -ItemType Directory -Path 'C:\Temp' -Force

}
if (Test-Path -Path $SensorShare) {

    Copy-Item -Path $SensorShare -Destination $SensorLocal -Force

}
if (!(Get-Service -Name 'Service' -ErrorAction SilentlyContinue)) {
    Start-Process -FilePath "C:\pathto\executable" -ArgumentList '/install /quiet /norestart GROUPING_TAGS="TAG" CID=IDHere' -WindowStyle Hidden

}

第一部分在 C 盘中创建一个文件夹,基本上将 exe 粘贴到那里以供以后安装。 这很完美,临时文件夹在所有服务器上都可用,但它不会安装程序。

没有调度程序,程序可以正常工作。

Scheduledtaskgeneral

Action of scheduled task

不知道自己做错了什么,这些图是我通过gpo配置定时任务的。

有人可以帮忙解决这个问题吗?

【问题讨论】:

  • 请告诉我们$SensorShare$SensorLocal包含哪些变量
  • 那些变量只是路径。该共享在网络共享中具有可执行文件。可执行文件从共享复制到本地 C 盘上的某个位置。也许这一步不是真的必要,现在我想起来了。尽管如此,这部分脚本工作正常。
  • 所以$SensorLocalC:\Temp
  • 是的,我认为服务器会收到 UAC 提示,它会自动按下否。我不确定,但我认为是这样。

标签: windows powershell server scheduled-tasks gpo


【解决方案1】:

尝试Start-Process -Verb RunAs ... 以管理员身份启动安装程序。否则,您将在另一个进程中以简单用户身份启动它。

【讨论】:

    【解决方案2】:
    1. 确保您用于运行此脚本的用户帐户具有安装程序所需的权限。
    2. 尝试以管理员权限运行此脚本,方法是右键单击此文件,然后选择“以管理员身份运行”选项。

    【讨论】:

    • 计划任务以SYSTEM权限执行。这个可以完全控制脚本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2015-08-08
    相关资源
    最近更新 更多