运行批处理文件管理员 - Windows 7的 - 命令“运行方式”从网络文件系统(Run Bat

2019-09-16 23:38发布

我需要建立一个程序的安装程序的交付。

这个程序有一个program_installer.exe和我不能在我创建的安装程序时,安装程​​序包含一个文件夹。

因此,当用户需要安装的程序我通过邮件给他一个批处理文件

@echo off
if DEFINED PROGRAMFILES(X86) (
SET TOOL_INSTALL_DIR="%PROGRAMFILES(X86)%\myfolder"
) else (
SET TOOL_INSTALL_DIR="%PROGRAMFILES%\myfolder"
)

MKDIR %TOOL_INSTALL_DIR%
copy /y \\rk0012352\Public\lkh5iwwh.m4s %TOOL_INSTALL_DIR%


START %PROGRAMFILES%\program_installer.exe

问题是,当用户执行批处理和运行COPY命令,在Windows 7上,因为他没有管理员权限的命令将失败。

我怎样才能让运行作为XP和7管理员是复制命令?

你可能会说:当用户获取电子邮件INSTALL.BAT,他不能点击以管理员身份运行?

答案不幸的是,大多数人都会那么做,只是抱怨,这是行不通的。 而且许多电子邮件客户端如Outlook会提示“打开”,“保存”选项面板和大部分的用户会直接点击打开(产生的任何权利错误)

“运行方式”命令,需要指定本机的管理员名字,我无法知道admin用户是如何被调用的每台计算机上。

任何建议?

Answer 1:

这是一个有点棘手,但它可以做到的。

首先,你必须要知道(从批处理文件),如果用户是管理员。 如果是,那么你可以简单地去安装。 如果不是的话,你可以运行其他的cmd.exe实例来运行该批处理文件作为管理员(使用runas命令)。

要检测如果用户是管理员一起来看看这个帖子: http://www.tomshardware.co.uk/forum/169421-36-determine-batch-file-user-administrator (有完整的代码来提升该批次本身太)。



Answer 2:

不一样的东西。

还有提升自己的权限范围和你的范围内,只是运行,如果你是在管理员组之间的差异。

只需用runas /user:username@domain.com program.exe似乎不是一样右键单击然后选择“以管理员身份运行”。



Answer 3:

有一个办法做到这一点在PowerShell中:

PS> Start-Process powershell -Verb runAs


文章来源: Run Batch file as administrator - Windows 7 - Command “Run As” from network file system