当我登录到Windows时,自动运行一个脚本。
如何在登录Windows时自动运行一个脚本?
我想在每次登录电脑时运行这样的脚本。
echo %USERNAME% logged on at %DATE% %TIME% >> log.txt
如果能在我解锁屏幕保护程序的时候 运行同样的脚本,那就更好了。
如果您已经有一个脚本。
要将登录脚本分配给用户或组
-打开计算机管理。
在哪里?系统工具/本地用户和组/用户
创建登录脚本
您可以使用登录脚本来指定用户登录到特定计算机时将执行的任务。脚本可以执行操作系统命令,设置系统环境变量,并调用其他脚本或可执行程序。Windows Server 2003系列支持两种脚本环境:命令处理器运行包含批处理语言命令的文件,Windows脚本主机(WSH)运行包含Microsoft Visual Basic脚本版(VBScript)或Jscript命令的文件。您可以使用文本编辑器来创建登录脚本。登录脚本通常执行的一些任务包括。
它通过调用WSH网络对象的MapNetworkDrive方法,结合WSH网络对象的UserName属性,将H:驱动器映射到用户的主目录。它使用ADSI IADsADSystemInfo对象来获取当前用户的区别名称,进而用来连接到Active Directory中的相应用户对象。一旦连接建立,通过使用用户的memberOf属性来检索用户是组成员的列表。通过使用VBScript的Join函数将多值的组名列表加入到一个单一的字符串中,以便于搜索目标组名。
如果当前用户是脚本顶部定义的三个组之一的成员,那么脚本会将用户的G:驱动器映射到组的共享驱动器,并将用户的默认打印机设置为组的打印机。要创建一个示例登录脚本
复制并粘贴或输入以下内容。
在 “文件 "菜单上,单击 "另存为"。
-在 "保存为 "中,单击域控制器的Netlogon共享文件夹所对应的目录(通常是SystemRoot/SYSVOL/Sysvol/DomainName/\Scripts,其中DomainName是域的完全合格域名)。 -在保存类型中,点击所有文件。 - 在文件名中,键入一个文件名,后跟.vbs,然后点击保存。WSH使用.vbs扩展名来识别包含VBScript命令的文件。
你可以创建一个在电脑解锁时运行的计划任务:
1.开始/>管理工具/>任务调度程序 2.左窗格:选择任务调度程序库 3.右窗格:点击创建任务…… (注意:这是获得正确触发器的唯一方法) 4.在创建任务对话框中。 - 常规选项卡 – 为你的任务提供一个名称 - 触发器选项卡 – 点击新建… 并选择在工作站上解锁 - 操作选项卡 – 点击新建… 并点击浏览… 找到你的脚本 - 条件选项卡 – 取消勾选 只有当计算机在交流电源上时才启动任务
另外,我将脚本中的路径调整为
echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt
```。
我能想到的最简单的方法是把它放在启动文件夹的.bat文件中。
更复杂的方法是将批处理文件添加到注册表的
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
注册表键中。
一个好的替代方法是创建一个批处理文件,其中包含你要运行的命令。接下来,你将在机器上的策略编辑器中指定它运行一个登录脚本作为登录过程的一部分。需要注意的是这个选项只在XP专业版上有,家庭版上没有。 组策略编辑器教程在此 。
有谁知道,当屏幕锁定/解锁时,是否也可以用这个来运行?
Windows 7和/或Windows Server 2008有一个方法。
使用任务调度器,创建新的基本任务,作为触发器使用 “When I log on"。
不需要!Windows已经有一个机制来为你记录这个事件。Windows在事件日志中已经有[为你记录这个的机制]0x3&。事件ID是4624(Vista之前的系统是528)。