静默运行批处理文件,在远程桌面登录时执行

静默运行批处理文件,在远程桌面登录时执行

在我们的办公室,我们使用的是 Linux 瘦客户端机器,除了缺少 IE 之外,它们运行得很好,这很麻烦,因为我们打交道的公司太愚蠢了,不愿意更新他们的网络应用程序(请不要争论)。

为了解决这个问题,我们在计算机房里有一台机器,用户可以通过远程桌面访问 Internet Explorer,这是通过运行一个批处理脚本来实现的,该脚本打开 IE,当 IE 关闭时将其注销,这种设置对我们来说很有效。

即使我已经@echo off并且 cmd 窗口没有显示任何内容,我真的希望该批处理文件能够静默执行,因此 cmd 窗口根本不会出现。

这可能吗?

Ubuntu 终端服务器客户端有一个在登录时启动文件/应用程序的选项,是否有一个命令可以用来静默运行此批处理。

我已经尝试过这些:

C:\my_batch.bat /NOCONSOLE
C:\my_batch.bat /NOWINDOW
C:\my_batch.bat /B
C:\my_batch.bat /Q

...没有成功,也许是我做事的方式不对?

干杯 :-)

编辑

远程桌面平台是一台 Windows XP 机器,没有什么特别的,但不是 Windows Server 设置。

答案1

也许尝试

start /b my_batch.bat

/b 参数用于

Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application

答案2

为什么不创建一个组策略来强制用户 shell 为 Internet Explorer,而不是使用批处理文件呢?这应该可以实现您想要的行为,而无需任何脚本。

用户配置 -> 管理模板 -> 系统 -> 自定义用户界面

另一种方法是创建一个 vbscript,并通过 Windows 脚本宿主而不是批处理文件使用它。使用 wscript 启动的脚本不会产生新窗口。您的批处理文件在做什么?只需将其转换为 WSH 就足够了。

答案3

如果您不介意在任何用户登录时(即通过终端服务或本地)执行批处理文件,那么:

  1. 将您的 .cmd 文件保存到所有用户都具有只读访问权限的位置。(例如 %WINDIR%)
  2. 从命令提示符启动 gpedit.msc
  3. 导航至用户 > 安全 > 脚本 > 登录
  4. 添加新脚本,并将其指向您保存 .cmd 文件的位置

该脚本应该静默运行,而不显示命令提示符窗口。

如果您不希望它在用户本地登录时运行,则可能可以在批处理文件中检测到这一点并静默中止该脚本。

答案4

远程桌面应用程序实际上正在使用所述批处理文件作为备用 shell,并且我认为不能使用此方法传递参数。

因此我将不得不忍受我的控制台窗口。

相关内容