【问题标题】:batch file with reg add command executed from network从网络执行的带有 reg add 命令的批处理文件
【发布时间】:2016-12-10 05:28:57
【问题描述】:

我有一个简单的批处理文件,它使用 reg add 命令添加注册表。

reg add "HKLM\SOFTWARE\test\test" /f /v "MainDir" /t REG_SZ /d "test"

当我从网络驱动器运行 bach 时,一切看起来都很好,但没有添加注册表。当我将批处理复制到我的桌面并运行它时,它可以完美运行。

我尝试使用 PUSHD 但无济于事,唯一有效的方法是创建快捷方式并在快捷方式中添加 %TEMP% 以开始

【问题讨论】:

  • 在网络驱动器上运行时,您能否在reg 命令后添加pause?网络驱动器是安装在驱动器号上还是通过 UNC 访问?是否有一些安全策略可以防止在您的网络驱动器上执行文件?
  • 您是否尝试以admin 运行它?
  • 我已经使用 PAUSE 命令查看输出并且 REG 大喊“操作成功完成”,因此我说everythink 看起来不错。它映射到一个字母,我不知道任何可以使用的安全策略。这真是个奇怪的问题。
  • 是的,我尝试以管理员身份运行它,而且我的帐户也有管理员权限。
  • pause 之前添加reg query "HKLM\SOFTWARE\test\test" /v "MainDir" - 现在输出什么?

标签: windows batch-file networking registry


【解决方案1】:

我解决了。这太出乎意料了。问题是我一直在 Windows 中使用的指挥官。每次我从指挥官运行批处理时它都不起作用,当我从资源管理器或其他东西运行它时就可以了。太奇怪了。指挥官有管理员权限,所以我不知道为什么它不起作用。谢谢大家的帮助。 :)

【讨论】:

  • 您使用的“commander”很可能是 32 位应用程序。因此,双击批处理文件会导致使用 32 位 cmd.exe 处理批处理文件。这导致将带有 32 位 reg.exe 的注册表值添加到 HKLM\SOFTWARE\Wow6432Node\test\test。所以添加值是成功的,但是你在错误的键上查看了 64 位 regedit。请参阅Registry Keys Affected by WOW64File System Redirector 了解更多详情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2014-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多