【发布时间】:2022-11-22 12:01:47
【问题描述】:
我正在尝试更新一个提升的 PowerShell 脚本,该脚本在 BAT 文件上使用 StartProcess,该 BAT 文件在 PowerShell.exe 上运行 RunAs 以运行另一个没有提升的 PowerShell 脚本,以便克隆 git 存储库,以便以正常的方式创建目录非提升用户将可以使用。
- 提升的 PS1:启动进程
- => 提升.BAT: RunAs /trustlevel:0x20000
- => 非高架 PS1
- => 提升.BAT: RunAs /trustlevel:0x20000
这在某些环境中失败了,我不知道为什么,所以我试图弄清楚如何从这个过程的所有级别捕获 stdout 和 stderr,但我没有看到错误或任何输出。我可以将其捕获到 BAT 文件级别,但我似乎看不到最内层的 Powershell 脚本中发生的任何事情。
这似乎只是以编程方式从提升的进程中克隆 Git 存储库的大量工作。有没有办法使这项工作或有更简单的方法?
【问题讨论】:
-
使用一种非常不同、简单且稳定的方法怎么样?您是否有任何软件部署、补丁管理...至少活动目录可能会安装脚本并通过 gpo 更新过时的文件。否则尝试使用计划任务进行更新 - 也许在创建时使用脚本在成功后自行删除任务....
标签: powershell