如何规划一个脚本在会话结束在PowerShell脚本中执行?

我正在编写一个login脚本,在Powershell中安装了大量的打印机,具体取决于当前login到Windows 7的用户。我希望此用户在不再需要时尽快删除已安装的打印机,此用户注销。

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

谢谢你的时间。

PS:我不能使用AD来安装打印机。

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

在这里输入图像说明

注销脚本详细信息保存在用户registryconfiguration单元中的密钥中:

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

如果要自动分配这些注销脚本,则必须为每个用户更新此用户特定的密钥

当你说你不能使用AD时,你的意思是说你不想通过组策略首选项来pipe理打印机,或者你根本不能使用组策略来完成这个任务? 我问,因为用户注销时运行脚本的最简单和最可维护的方法是使用组策略将脚本添加为注销脚本。

本TechNet文章介绍了如何使用组策略设置login和注销脚本。 自从添加PowerShell脚本以后,会有一些差异。 该过程将如下所示:

  1. 打开组策略编辑器。
    • 如果您要设置注销脚本的计算机未join域,只需从“运行”对话框或命令提示符运行gpedit.msc
    • 如果您确实拥有一个域,则可以在域服务器上打开组策略pipe理( gpmc.msc ),或者在域join的工作站上使用Microsoft的远程服务器pipe理工​​具 。 然后,您将导航到要设置策略的组织单位,并创build新策略或编辑现有策略。
  2. 进入组策略编辑器后,导航到用户configuration\ Windows设置\脚本(login/注销)
  3. selectPowerShell脚本选项卡。
  4. 添加删除打印机的脚本。