我有一个项目,在内部使用cmd /c "..."
启动一些小的实用程序,这些实用程序是软件包的一部分,由我自己开发。
今天,我意识到/D
中存在cmd
开关:
/D Disable execution of AutoRun commands from registry (see below)
...
If /D was NOT specified on the command line, then when CMD.EXE starts, it
looks for the following REG_SZ/REG_EXPAND_SZ registry variables, and if
either or both are present, they are executed first.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
and/or
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
我想知道是否应该包括这样的开关以避免意外的行为(例如应用程序注入,设置不需要的env vars等),或者是否使用此开关会给我带来更多的问题(例如未设置系统必需的变量,知道)。
注意:我之所以使用cmd
是由于我在使用UAC时遇到的问题(提升或降级特权)以及过去使用其他方法(例如{{ 1}},我认为这个问题的范围很远。