在系统启动时运行交互式脚本,或启动交互式用户会话(Windows)


1

我正在AWS上创建短暂的Windows Server VM,并希望在首次启动时安装无​​人值守的软件列表。为此,我在启动时运行一个bootstrap脚本,安装Chocolatey,然后安装一些自定义choco包。系统在启动时加入我的域,我通过GPO分配启动脚本。我还可以根据需要创建任何其他GP相关项目。

该脚本运行正常,但我遇到的问题是我通过choco运行的许多安装程序需要交互式用户会话才能工作,因此它们不会在启动脚本运行的Session0上下文中运行。

我可以看到以下任一工作:

  1. 为脚本创建交互式会话,以便在系统启动时运行。
  2. 从Session0上下文(可以是域用户)登录用户,而是将包安装为登录脚本。

我也对如何解决这个问题的其他建议持开放态度。只要我能以某种方式通过脚本无人值守地运行安装程序,我将感到满意。


1
使用 psexec 使用-i和-s开关启动脚本或安装程序文件。这是假设您的安装程序不等待用户输入,这是您必须研究以静默运行的其他内容。
Appleoddity

是的,我已经找到了静音安装部分。我会试一试!
Marty

@Appleoddity在阅读了psexec文档后,似乎需要已经开启了一个会话。我还是会试一试,但如果用户没有登录,这是不是意味着只存在Session0?
Marty

1
不需要会话。是的,应用程序将在启动期间作为SYSTEM运行,但是将允许它与桌面交互。相信我它有效。也许不是一切,我不确定。但这解决了我的问题。
Appleoddity

@Appleoddity这很棒!如果你想把它变成一个答案,我很乐意接受它。
Marty

Answers:


2

使用 PSEXEC 使用。启动脚本或安装程序文件 -i-s 开关。这将使用交互式桌面将您的应用程序作为SYSTEM运行。

我通常说 psexec.exe 在与网络共享上的脚本相同的路径中,然后使用GPO启动脚本调用它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.