如何在 powershell 脚本中规划在会话结束时执行的脚本?

如何在 powershell 脚本中规划在会话结束时执行的脚本?

我正在 Powershell 中编写一个登录脚本,该脚本会安装一定数量的打印机,具体取决于当前登录 Windows 7 的用户。我希望此用户在不再需要已安装的打印机时立即删除这些打印机,以便该用户注销后立即删除。

如何规划一个在 Powershell 中当前会话结束后立即执行的脚本?

感谢您的时间。

PS:我无法使用 AD 安装打印机。

答案1

您可以设置由安全事件日志中的事件 4634(“登录会话已破坏”)触发的计划任务,也可以通过本地组策略编辑器分配注销脚本:

在此处输入图片描述

注销脚本详细信息保存在用户注册表配置单元中的一个键中:

HKEY_USERS\S-1-5-21-<SIDofUserInQuestion>\Software\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Logoff\<ExecutionOrder>\0

如果你想自动将这些注销脚本分配给

答案2

当您说不能使用 AD 时,您的意思是您不想通过组策略管理打印机吗?优先或无法使用组策略根本执行这项任务需要什么?我之所以问这个问题,是因为在用户注销时运行脚本的最简单且最易于维护的方法是使用组策略将脚本添加为注销脚本。

这篇 TechNet 文章描述如何使用组策略设置登录和注销脚本。由于您要添加 PowerShell 脚本,因此会有一些差异。该过程将如下所示:

  1. 打开组策略编辑器。
    • 如果要设置注销脚本的计算机未加入域,只需运行管理控制台从运行对话框或命令提示符中。
    • 如果您有域,请打开组策略管理(管理控制台)在您的某个域服务器上,或者更好的是,使用 Microsoft 的远程服务器管理工​​具在已加入域的工作站上。然后,您将导航到要在其中设置策略的组织单位,并创建新策略或编辑现有策略。
  2. 进入组策略编辑器后,导航至用户配置\Windows 设置\脚本(登录/注销)
  3. 选择PowerShell 脚本标签。
  4. 添加删除打印机的脚本。

相关内容