如何作为特定用户自动运行batch file(不是计划任务,不是重复的)

我是一个企业pipe理员(高级networking工程师),但我的团队不pipe理Active Directory,所以我有点不熟悉政策,做什么,我试图实现什么,甚至是ADpipe理员都失败了谈到我的困境。

我有一个命令,我试图把它变成一个脚本,给我一些非常奇怪的行为,我需要帮助整理出来。

首先要做的事情

  • 从我的本地工作站,我可以通过按住Shift并单击并以我的域pipe理员用户身份运行来打开命令窗口,该命令正常工作。
  • 从我的本地工作站,如果我把这个命令放在一个脚本中,并按住Shift键点击运行脚本作为我的域pipe理员用户,脚本/命令工作正常(只要我给我的域pipe理员帐户权限)。
  • 在我希望这个脚本运行的目标机器上,我已经确认另一个域pipe理员可以成功执行该命令。
  • 如果我使用域pipe理员帐户login时在此目标计算机上启动命令提示符,则该命令将失败(也可能是脚本)。

在你提出一些我已经尝试或者不会使我受益的事情之前,

  • runas不是一个选项,因为这个脚本不应该是交互式的,并提示input密码。
  • 由于密码/安全/审计策略, run as/savecred参数不是一个选项。

我已经实现了基本function,但是很麻烦:

基本的命令是这样的:

 \\server\share\unlock.exe . username 

我可以成功地执行这个命令,而没有任何按住Shift或点击运行的废话的唯一方法是把这个命令放在C:\Users\Username\Desktop\unlock.bat ,然后从我的本地机器创build一个单独的batch file,其中包括以下:

 psexec \\targetmachine -u domainadmin -p domainpassword "C:\Users\Username\Desktop\unlock.bat" 

问题和可能的理论:

  • 如果双击目标机器上的这个batch file,它是否应该不作为我login的域pipe理员帐户的用户名运行?
  • 是否有可能,因为我的域pipe理员是目标机器上的pipe理员,当我运行这个命令时,它试图以本地pipe理员身份运行?
  • 每次我在这台机器上打开一个命令提示符时,它都会自动成为pipe理提示符。 有可能我需要的是一个未升级的提示符,如果是的话,当它自动启动pipe理员提示符时,如何得到一个提示符?

其他细节

  • 这是一个运行Windows 2008 R2的terminal服务器,有几个不同的用户访问它,所以我不想修改cmd.exe每次或任何时候启动的行为。
  • 我意识到我可以指定一个用户,如果我作为一个计划任务运行这个,但现在,我只想从这个服务器运行它作为一个独立的脚本或命令没有任何按住Shift键点击。

我的主要目标是能够login到该服务器,只需双击该batch file(也可以从命令提示符执行),而以我的域pipe理员帐户login,这应该能够做到这一点。

我知道这一切太奇怪了,不可能是真的。

  • 我现在刚刚使用我的域pipe理员帐户正常loginterminal服务器。
  • 我双击脚本
  • 它工作完美无瑕。

这并没有回答我昨天遇到的问题和我所看到的问题,但是,我已经完成了我的主要目标,即正常双击脚本,并按预期执行预期的结果。

昨天和今天之间,我没有任何改变。

我的猜测是这只是“其中的一件事…”