我目前正在使用基于容器的加密工具,该工具通过Windows上的虚拟驱动器提供数据。
由于我每次安装虚拟驱动器时都存储了我想要运行的程序(如果有帮助,总是使用相同的驱动器号),我正在寻找一种可以让我运行的程序每次安装驱动器(因此可用)时启动程序的小批量脚本。
有没有办法使用Windows任务计划程序执行此操作? 或者我是否必须编写一个程序,检查特定的驱动器/脚本是否可用并执行它,如果是这样的话?
答案 0 :(得分:1)
您可以在正在装载的卷的根目录中创建autorun.inf文件。
open=program.exe
其中program.exe是您要运行的程序。这很容易。
但是,在大多数较新版本的Windows上禁用此功能。有多种方法可以解决这个问题。
最简单的方法是安装Leelusoft的程序/实用程序APUSB 47。我必须小心确保仔细检查您的安装选项,因为它还会尝试安装一些可疑的浏览器插件,但程序本身会自由扫描并清除恶意软件,您可以阻止安装附加组件。
请注意,您必须对系统进行良好的物理控制(没有其他人可以进入并插入类似USB驱动器的内容来执行恶意软件),并且知道autorun.inf的来源(例如您自己创建的)它所谓的,因为这可能带来安全风险。
根据您的Windows版本和设置,您可以使用注册表项NoDriveTypeAutoRun或NoDriveAutoRun。我必须警告,从Windows默认值更改其中任何一项确实会带来安全风险。如果您没有任何安全问题,最简单的方法是从它们可能存在的两个位置中删除这两个密钥:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
和
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
可能只有一个你必须删除的实例,但是除非你的系统是独立的,没有互联网连接但没有人可以访问它,我强烈反对这种方法。
作为替代方案,因为您知道您在线设备的驱动器号并假设您可以直接访问此计算机,所以您可以使用NoDriveAutoRun仅允许自动运行你带来的在线驱动器。这个解决方案应该是相当安全的。既然我认为这是最安全的选择,我会在这里提出。如果您愿意,可以搜索其他方法的具体内容。
要执行此操作,请首先创建注册表的备份。然后,打开注册表编辑器,转到此位置:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
如果密钥“NoDriveAutoRun”不存在,请创建一个REG_DWORD类型
现在,对于价值......在这里你必须运用你的二进制/十六进制知识。想象一下32位:
00000011111111111111111111111111
前6个为零,26个1中的每一个代表从左到右的驱动器Z到A.如果设置此值,Windows将不允许在任何驱动器上自动运行。您想在一个驱动器上启用。我不知道它是什么驱动器号,但让我们说它是你要启用的驱动器F.然后,您将拥有以下内容:
00000011111111111111111111011111
现在,您不能只输入二进制文件,您必须将其转换为十六进制。希望你有一个方便的计算器。如果您使用的是Windows 7或更早版本,则可以使用内置计算器和View / Programmer进行转换。如果你有Windows 8,我很抱歉。
在这种情况下,这转换为
0x3FFFFDF
这是您将为注册表项NoDriveAutoRun输入的值
如果存在密钥“NoDriveTypeAutoRun”,请将其删除。
同时检查 HKEY_CURRENT_USER \ SOFTWARE \微软\的Windows \ CurrentVersion \政策\ Explorer中
对于密钥“NoDriveTypeAutoRun”并删除它(如果存在)。
答案 1 :(得分:0)
可以使用调度程序和SCHTASKS /RI ONEVENT
切换(可从vista及以上版本获得) - 您将需要eletttated权限。它将激活某个特定事件的任务,但您需要即使安装了驱动器,也要检查您的事件日志是否准确(google search gave me this但是无论如何您都需要检查您的活动)。