【发布时间】: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 粘贴到那里以供以后安装。 这很完美,临时文件夹在所有服务器上都可用,但它不会安装程序。
没有调度程序,程序可以正常工作。
不知道自己做错了什么,这些图是我通过gpo配置定时任务的。
有人可以帮忙解决这个问题吗?
【问题讨论】:
-
请告诉我们
$SensorShare和$SensorLocal包含哪些变量 -
那些变量只是路径。该共享在网络共享中具有可执行文件。可执行文件从共享复制到本地 C 盘上的某个位置。也许这一步不是真的必要,现在我想起来了。尽管如此,这部分脚本工作正常。
-
所以
$SensorLocal是C:\Temp? -
是的,我认为服务器会收到 UAC 提示,它会自动按下否。我不确定,但我认为是这样。
标签: windows powershell server scheduled-tasks gpo